diff --git a/Assets/GIS Tech.meta b/Assets/GIS Tech.meta new file mode 100644 index 000000000..01deee18d --- /dev/null +++ b/Assets/GIS Tech.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d1aec002ba9d0334380dfdd5e0168485 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Generated GIS Terrains.meta b/Assets/Generated GIS Terrains.meta new file mode 100644 index 000000000..968f8af80 --- /dev/null +++ b/Assets/Generated GIS Terrains.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fe3ced3a8ef41cc488ccc6c790e2f437 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code.meta b/Assets/Infinity Code.meta new file mode 100644 index 000000000..4fd457ac7 --- /dev/null +++ b/Assets/Infinity Code.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 878eb53d9fa6eec48864d51cfb3832d7 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain.meta b/Assets/Infinity Code/Real World Terrain.meta new file mode 100644 index 000000000..6ec439f69 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 6c750126f89abfe4c83418589f2d6a9d +folderAsset: yes +timeCreated: 1470870903 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Documentation.meta b/Assets/Infinity Code/Real World Terrain/Documentation.meta new file mode 100644 index 000000000..788d4ebc6 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Documentation.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 40c3e0fdd3623884ea0a292cac3313ea +folderAsset: yes +timeCreated: 1470870903 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Documentation/API Reference (Do not unpack in assets folder).zip b/Assets/Infinity Code/Real World Terrain/Documentation/API Reference (Do not unpack in assets folder).zip new file mode 100644 index 000000000..dc755b663 Binary files /dev/null and b/Assets/Infinity Code/Real World Terrain/Documentation/API Reference (Do not unpack in assets folder).zip differ diff --git a/Assets/Infinity Code/Real World Terrain/Documentation/API Reference (Do not unpack in assets folder).zip.meta b/Assets/Infinity Code/Real World Terrain/Documentation/API Reference (Do not unpack in assets folder).zip.meta new file mode 100644 index 000000000..a806ddc4b --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Documentation/API Reference (Do not unpack in assets folder).zip.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: fc58536c31b38704e9752b932fe98734 +DefaultImporter: + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Documentation/Content.meta b/Assets/Infinity Code/Real World Terrain/Documentation/Content.meta new file mode 100644 index 000000000..b45139088 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Documentation/Content.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 91075bb98aac1ba438c669404b786b5c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Documentation/Content/Documentation-Content.html b/Assets/Infinity Code/Real World Terrain/Documentation/Content/Documentation-Content.html new file mode 100644 index 000000000..8719e593d --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Documentation/Content/Documentation-Content.html @@ -0,0 +1,914 @@ + + + + + +Real World Terrain Documentation + +
+

Documentation for Real World Terrain v4.8

Overview

Description

Real World Terrain is designed to generate Terrains, Meshes, Gaia stamps and RAW files, based on real Earth elevation data, and buildings, roads, rivers, grass, trees, based on data from Open Street Map.

With Real World Terrain comes utility that allows you to select an area on Google Maps, a set of tools for post-processing terrains, textures, place objects on the terrain.

Specification

Real World Terrain uses:

Note: SRTM data do not contain water depth maps, so zero height is used for seas and oceans.

Using

Select the menu item «Window / Infinity Code / Real World Terrain / Open Real World Terrain», to open Real World Terrain window.

Enter the coordinates of the area in decimal, configure the fields and click «Start».

Real World Terrain will automatically download the necessary elevation data, textures, Open Street Map data, create new GameObjects or files containing the specified area, and add them to the scene. For each Terrain creates an information block containing the coordinates, texture, and giving the opportunity to re-create it with the new settings.

Created terrains are stored in «Assets / RWT_Result».

IMPORTANT

Real World Terrain works with a lot of data, and can, depending on the settings to use a lot of memory.

We do not limit Real World Terrain settings, so you can get exactly what you want. +But when a large number of generated Terrains, you may get an error of memory, with crashes to Unity Editor.

To create the most detailed Terrains and avoid errors, we recommend the following steps:

After the successful completion of each step to save your scene.

Generation of Gaia stamps

Select the menu item «Window / Infinity Code / Real World Terrain / Open Real World Terrain», to open Real World Terrain window.

Enter the coordinates of the area in decimal, select «Result - Gaia Stamp», specify the required resolution and click «Start».

Note: Real World Terrain uses Gaia's built-in features to generate terrains, so only Gaia stamp is created.

Real World Terrain will create a new RAW object that contains elevation data.

RAW object will be scanned using Gaia Scanner and saved as Gaia stamp in «Assets / Gaia / Stamps / Bases» folder.

The new Gaia stamp will be opened in Gaia Stamper.

You will need to specify the required size, position and Base Level, and click «Stamp».

Read more about working with Gaia stamps in the Gaia documentation.

Note: If you do not have a Gaia Session Manager in the scene, the new Session Manager will be created.

Generation of RAW files

Select the menu item «Window / Infinity Code / Real World Terrain / Open Real World Terrain», to open Real World Terrain window.

Enter the coordinates of the area in decimal, select «Result - Raw File», specify the result type, filename, required resolution and click «Start».

Real World Terrain can generate two types of the result:

Providers of tiles

Real World Terrain can use to generate textures any source of the tiles in WGS84 Web Mercator (Spherical Mercator) projection.

Real World Terrain has presets for most known compatible sources of satellite tiles. If the source of the tiles you want to use does not have a preset, you can do it using «Provider – Custom».

Note: The preset for Google Maps tiles has been removed, because it has a limit on the amount of downloaded data. But if you really want to use it, you can do it using Provider-Custom.

The legal way to use tiles from Google Maps: +https://developers.google.com/maps/documentation/tile/

Note: Some tile sources require API keys (tokens), for example: DigitalGlobe and Mapbox.

Using «Provider - Custom»

To use «Provider - Custom» in the field «URL» specify a URL pattern for download tiles.

URL pattern supported tokens: +{zoom} – Zoom level. +{x} – Tile X. +{y} – Tile Y. +{quad} – Tile Quad Key. Uses in Virtual Earth (Bing Maps).

General instructions:

  1. Open in a browser map on the site of provider, tiles from which you want to use.
  2. Open a browser developer tools. Hotkey in most browsers - F12.
  3. Find the address of tile.
  4. n the address replace the numbers that are responsible for the tile zoom, x, y to tokens.
  5. Insert the URL pattern into the field «URL».

Commercial use

You can use terrains, buildings, roads, rivers, trees, grass, created with Real World Terrain, for commercial purposes.

The rights to the commercial use of textures depending on the selected provider. You are responsible to read the license agreement on the provider's site.

Real World Terrain Window

Description of fields

Along with most of the fields added icons, when you hover on which you can read a summary of the field. Clicking on the icon will open a detailed description of the field.

Real World Terrain Window

File - allows you to export and import settings.

History - contains the history of generations.

Settings - opens the settings window.

Help - documentation, API reference and useful links.

Area - the coordinates of the top-left and bottom-right corners of the area in decimal or UTM (Universal Transverse Mercator) format.

Title - a description of the current generation. Used only in history.

Use Anchor - whether to use anchor coordinates. If yes, then the zero position of the container in the scene will have the specified coordinates.

Insert the coordinates from the clipboard - inserts the coordinates copied in the helper.

Run the helper - open the helper.

Get the best settings for the specified coordinates - opens the wizard that will help you get the best result.

Show Open Street Map - opens Open Street Map in the browser on your current location. It is useful to know which objects are marked on the selected area.

Result type - the type of object being created.

Count terrains - the number of new terrains by longitude and latitude.

Align Water Line - If disabled terrains will have zero Y at minimum elevation. If enabled, terrains will have zero Y on the water line (zero elevation).

Size type - the method of determining the size of created Terrains.

Scale - a scaling factor to the new area.

Max elevation - the maximum height of the new area.

Max underwater depth - the value used when no value of the height map. Usually it is the sea, oceans, lakes. Uses the absolute depth, such as «-30».

Detail Resolution - the number of cells available for placing details onto the Terrain tile. This value is squared to make a grid of cells.

Resolution Per Patch - the number of cells in a single patch (mesh). This value is squared to form a grid of cells, and must be a divisor of the detail resolution.

Base Map Resolution - the resolution of the composite texture to use on the Terrain when you view it from a distance greater than Basemap Distance.

Height Map Resolution - the pixel resolution of the Terrain’s heightmap.

Create prefab - specifies whether to create prefab, in the folder results. Create prefab takes some time.

Elevation Provider – provider of elevation data.

Generate textures - indicates whether the created texture.

Result Type - type of texture result.

Provider - the source that will be downloaded texture. Textures derived from different providers vary in quality, maximum detail and conditions of use.

Type - the type of texture map.

Count textures - number of created textures. Only Mesh.

Texture width / height - size of the texture created for each terrain.

Max level - the highest level of approximation for the textures.

Generate buildings - specifies whether to create buildings.

Generate roads - specifies whether to generate roads. This field will be available if the integration with EasyRoads3D v3 or Road Architect is enabled.

Generate rivers - specifies whether to create rivers.

Generate trees - specifies whether to create trees.

Generate grass - specifies whether to create grass.

History

It contains the history of all runs Real World Terrain.

Each record contains fields:

Best Settings

If you do not know what settings to use for the selected area, click «Get the best settings for the specified coordinates». Move the sliders to the desired quality setting and press «Apply».

Settings of Real World Terrain

To open the Settings window, click «Settings» in the upper part of the window.

In the settings you can:

To return to the default settings, click «Revert to default settings».

Memory usage

Click «Memory Usage» in the main window of Real World Terrain to open memory usage information window.

This window displays the uncompressed size of terrains and textures, after being generated with the current settings.

Only the main fields affecting the size of the result are shown.

Important: This window does not show the memory that Real World Terrain will use to generate the result.

Clear the cache

Real World Terrain uses a large amount of data that it caches in the folder «{PROJECT FOLDER} / RWT_Cache». +If this data is not more than you need, you can clear cache by pressing the «Clear cache» in Real World Terrain.

Helper

Real World Terrain Helper

Usage of the helper

Click «Run the helper», to show a helper. Helper will run in the default browser with the coordinates specified in Real World Terrain.

Helper contains:

Place the frame on the desired area on the map, select and copy the text in the block «Copy this to Clipboard». In Real World Terrain, click «Insert the coordinates from the clipboard» and selected in the helper coordinates frame will be inserted into Real World Terrain.

Alternative helper

If you have any problems when using the built-in helper, you can use an alternative helper: +https://service.infinity-code.com/RWT_Helper/RWT_Helper.html

POI

Contains a list of points of interest.

Point of interest contains:

After creating the terrains all the POI will be placed in right places. You can quickly navigate to the desired POI double-clicking on the line in the window «Hierarchy».

Use the utility «POI Manager» to comfortably work with POI.

To replace POI GameObject, drag a new prefab from the project to Real World Terrain POI Item (Script).

To update the position of POI in the scene based on the coordinates, click «Update World Position».

To update the coordinates of POI based on the position in the scene, click «Get Coordinates from World Position».

Additional features

Generation of additional elements

Real World Terrain can automatically create buildings, roads, trees and grass, based on real data from Open Street Map.

Before the creation of additional objects please visit «www.openstreetmap.org» and make sure that you are required objects are marked on the map. In Europe, perfectly marked, almost all of the city. In America, most buildings are not marked.

Important: the created objects may be slightly different from the picture on the texture. This is because the layout objects in Open Street Map. If the building is present on the texture, but not created, then it means that it is not marked in Open Street Map.

Buildings

Real World Terrain can generate buildings in the following modes:

Note: BuildR developer left the Asset Store and deleted all of his assets. BuildR integration is only present if you have purchased BuildR before.

For buildings and walls added a description of all available tags Open Street Map. For many of the buildings there including address, name, height, etc.

If the tag contains the height or number of floors, the object will be created with the correct height. +You can always correct height, specifying the desired value and pressing the «Update». +For buildings can change the type and height of the roof.

If the building was created with the wrong normals walls or roof, you can quickly fix it by pressing «Invert wall normals» or «Invert roof normals» respectively.

Roads

Real World Terrain can generate roads for EasyRoads3D v3 or Road Architect.

When generating roads, you can select the types of roads to be created.

For EasyRoads3D v3, you can specify the types of roads from the Open Street Map and the types of roads EasyRoads3D, customize the width of the road and generate connections.

Rivers

Real World Terrain can generate rivers as Mesh or for R.A.M 2019 - River Auto Material 2019 (third-party asset).

To generate rivers as meshes, you need to specify the material of the rivers.

This may be a regular material or a material of a third-party asset (for example, R.A.M - River Auto Material).

To generate rivers for R.A.M 2019, specify profiles for Area and Spline.

Both profiles will be used for rivers, just OSM has two types of rivers.

Ram Spline will be used to generate rivers for which OSM has only spline points.

Lake Polygon will be used to generate rivers for which OSM has coastline points.

Trees

Real World Terrain can generate trees:

Grass

Real World Terrain can generate grass:

Regeneration

You can recreate the already created objects with the new settings. + To do this, select «Real World Terrain» in the «Hierarchy» and click:

Regenerate terrains - to change the parameters Terrains.

Regenerate textures - to create textures with the new settings.

Regenerate additional - to rebuild the buildings, roads, trees and grass.

Utils

Overview

Real World Terrain contains a set of tools that will be useful for the search and placement of objects on the map, working with the POI, etc.

These tools are grouped in «Real World Terrain Container / Utils».

Building Manager

Real World Terrain - Building Manager

Tool to search the buildings.

It allows you to filter the buildings on the values of tags.

Enter the street name, house number or any other information contained in the tags, and will show buildings that contain tags with the specified value.

Object Placer

Real World Terrain - Object Placer

A tool for placing objects on the terrains by geographical coordinates.

This tool works in two modes:

To create a new GameObject select «Place New Object», specify prefab and coordinates, and click «Place».

To update position of existing GameObject select «Update Position», select GameObject, specify a coordinate, and click «Update».

Place your cursor on the terrains, to see the location under the cursor.

Press «CTRL + SHIFT», to insert the coordinates under the cursor in coordinates fields.

POI Manager

Real World Terrain - POI Manager

POI management tool created using the helper or specified before generating.

For each POI is displayed: name, coordinates and buttons:

S - Select POI GameObject.

P - Open the POI in Object Places.

Scaler

Real World Terrain - Scaler

Tool to change the size of terrain in the scene.

It works in two modes:

Scale first Terrain Layer allows you to adjust the size of the texture so that it looks correct after scaling.

Show Location

Real World Terrain - Show Location

The tool, showing the geographical coordinates of under cursor and the scene view camera.

Post-processing

Overview

Real World Terrain contains set of tools for post-processing.

These tools are grouped in «Real World Terrain Container / Postprocess».

Brightness, Contrast and HUE

Real World Terrain - Brightness, Contrast and HUE

Tool to adjust brightness, contrast, hue and saturation of the image.

Left - the original image, to the right - a preview of the result.

Specify the required values using the sliders and press «Apply».

Color Balance

Real World Terrain - Color Balance

Tool to change the color balance of the image.

Left - the original image, to the right - a preview of the result.

Specify the required values using the sliders and press «Apply».

Color Levels

Real World Terrain - Color Levels

Tool to change the color range of the image.

Left - the original image, to the right - a preview of the result.

Specify the required values using the sliders and press «Apply».

Erosion Filter

Allows you to apply water erosion to the current heightmap.

Important: This utility works very slowly, because for erosion it is required to make a huge amount of calculations.

Erosion iterations - The number of times the filter will be applied.

Rain fall - The amount of water added to the system during the iteration. The greater this value, the more dramatic and gross changes you can see on the relief in the same number of iterations.

Cone threshold - The roughness of the soil, which was washed away with water and precipitated.

Flow Iterations - Number of iterations for water flow. The smaller the value, the higher the speed, but the worse the accuracy and quality.

Generate Grass from Texture

Real World Terrain - Generate Grass from Texture

Tool to generate grass based on texture.

Add grass texture, and specify grass parameters.

Add colors, which will be created grass.

To work was faster for each color indicates range of values.

Click «Generate preview», to see the area to be created grass.

Click «Generate grass», to create grass and close the window.

You can save and load settings using the buttons at the top of the window.

To remove the grass, remove the relevant Detail in a script «Terrain».

Generate Terrain Layers from Texture

Real World Terrain - Generate Terrain Layers from Texture

Note: In older versions of the editor, Terrain Layers were called Splat Prototypes.

Tool to generate Terrain Layers based on texture.

Add base texture, specify parameters. Base texture will be used for all terrain. Add SplatPrototype, you want to use. For each Terrain Layers add color, so it will be created.

To work was faster for each color indicates range of values.

Click «Generate preview», to see the area to be used corresponding Terrain Layer.

Click «Generate SplatPrototypes», to create Terrain Layers and close the window.

You can save and load settings using the buttons at the top of the window.

Export / import RAW data

Real World Terrain can export and import RAW data: heightmaps, detailmaps, alphamaps and texture.

Select generated terrains, and in «Real World Terrain Container / Export / Import Raw» select a menu item.

In the export / import window specify the required color depth (8 or 16 bits) and the order of the bytes (Windows or Mac).

Export Mesh as OBJ

To export a mesh, select «Real World Terrain Container» or «Real World Terrain Item» and click «RAW / Export OBJ».

Third Party Assets

Overview

Third-party assets are not containing on Real World Terrain and integration is disabled by default.

Import the asset into your project and enable integration in Real World Terrain settings.

Important: Integration with third-party assets may break when the developer releases a new version of the asset. This usually occurs when changing API or internal errors in the assets. We are developing this integration, so the quickest way to fix the problem is contact to us, indicating the name and version of the asset with which integration problems are. We will check this and release the update, or contact the asset developer to fix the issue.

If you want to remove the asset from the project, first disable it in Real World Terrain settings.

If you forget to disable asset and removed it, you will see an error in the console. To manually remove the integration with the asset, open PlayerSettings (Edit / Project Settings / Player), and remove the corresponding entry from «Scripting Define Symbols».

BuildR - Procedural Building Generator

https://assetstore.unity.com/packages/tools/modeling/buildr-procedural-building-generator-82220

It allows you to generate procedural editable buildings.

How to generate buildings using BuildR:

All buildings generated using Real World Terrain is editable, and you can completely change the style and setting of the buildings.

BuildR2 and BuildR v3.x are supported.

Important: BuildR developer left the Asset Store and deleted all of his assets. This feature is only present if you have purchased BuildR before.

EasyRoads3D Pro v3

https://assetstore.unity.com/packages/tools/terrain/easyroads3d-pro-v3-469

It allows you to generate editable roads.

How to generate the roads using EasyRoads3D:

Modes of road generation:

Connection Generation: +Use Generate Connections - ON to Real World Terrain generate connections for two, three, and four road sections. +The connection of the three sections will occur only if the angle between the straight and side sections is from 60 to 120 degrees.

All roads created by the Real World Terrain is editable.

Note: only supported EasyRoads3D Pro v3. EasyRoads3D v2.x and EasyRoads3D Free v3 are not supported.

Gaia and Gaia Pro

https://assetstore.unity.com/packages/tools/terrain/gaia-42618

https://assetstore.unity.com/packages/tools/terrain/gaia-pro-terrain-scene-generator-155852

A great all-in-one tool for generating terrains. +The integration of this asset does not need to enable or configure. +You just need to have Gaia in the project.

Huge Texture

https://assetstore.unity.com/packages/tools/input-management/huge-texture-163576

Allows you to generate textures larger than 8192x8192 (up to 26624x26624px) for each terrain.

Online Maps

https://assetstore.unity.com/packages/tools/integration/online-maps-v3-138509

It allows you to show the location from Real World Terrain on a dynamic map.

Integration with Online Maps enabled using OnlineMapsRWTConnector component.

Add this component to an object generated by Real World Terrain (near Real World Terrain Container), click «Enable Real World Terrain», and select connector mode.

Playmaker

https://assetstore.unity.com/packages/tools/visual-scripting/playmaker-368

The powerful visual scripting solution to quickly make gameplay prototypes, A.I. behaviors, animation graphs, interactive objects, cut-scenes, walkthroughs...

To enable integration with Playmaker, select «Window / Infinity Code / Real World Terrain / Packages / Playmaker Integration Kit»

or

import «Assets / Infinity Code / Real World Terrain / Packages / RWT-Playmaker-Integration-Kit.unitypackage».

R.A.M 2019 - River Auto Material 2019

https://assetstore.unity.com/packages/tools/terrain/r-a-m-2019-river-auto-material-2019-145937

R.A.M 2019 gives you ability to create very advanced river and lakes with flowmap, river bed shapes and textures on it automatically.

Important: be careful, R.A.M - River Auto Material is another asset for which the integration won't work.

Enable integration with R.A.M 2019 in the settings, select River Engine - RAM 2019, and specify profiles for Area and Spline.

Both profiles will be used for rivers, just OSM has two types of rivers.

Ram Spline will be used to generate rivers for which OSM has only channel points.

Lake Polygon will be used to generate rivers for which OSM has shoreline points.

Relief Terrain Pack (RTP)

https://assetstore.unity.com/packages/tools/terrain/relief-terrain-pack-v3-3-5664

Great shader for terrains. Using this shader, the result will look a lot better.

Relief Terrain Pack does not require configuration. Just enable integration with Relief Terrain Pack in Real World Terrain settings.

Road Architect

https://github.com/MicroGSD/RoadArchitect

Allows generating roads.

How to generate roads using Road Architect:

All roads created using Real World Terrain is editables.

Vegetation Studio and Vegetation Studio Pro

https://assetstore.unity.com/packages/tools/terrain/vegetation-studio-103389

https://assetstore.unity.com/packages/tools/terrain/vegetation-studio-pro-131835

Allows you to generate editable areas of grass and trees.

Integration with this asset does not require activation. You just need to have Vegetation Studio (Pro) in the project.

To work correctly, you need to configure the Vegetation Package:

Select «Window / Awesome Technologies / Add Vegetation Studio (Pro) to scene».

Select «Hierarchy / Vegetation Studio (Pro) / VegetationSystem (Pro)».

Select the Vegetation Package you want to use.

Add Vegetation Items (grass and trees).

For Vegetation Studio: Vegetation System / Vegetation / Vegetation Mask - ON

For Vegetation Studio Pro: Vegetation System Pro / Edit Biomes / Vegetation Mask Rules - ON

Read more about setting up Vegetation Studio and Vegetation Studio Pro in the asset documentation.

Volume Grass

https://assetstore.unity.com/packages/tools/particles-effects/volumegrass-436

It allows you to generate a volumetric dynamic grass.

How to generate the grass using Volume Grass:

Note: If you try to generate the grass outside the terrains, Volume Grass can cause freezing of Unity Editor.

WorldStreamer

https://assetstore.unity.com/packages/tools/utilities/world-streamer-36486

Keeps objects in the separate scenes, and dynamically load them during use.

This allows you to greatly increase the performance of your application.

How to use WorldStreamer:

Real World Terrain API

Detailed information about all the available classes, methods and fields can be found in API Reference. +https://infinity-code.com/docs/api/real-world-terrain/

The order of the values in the coordinates: +Vector2, Vector3: X - longitude, Y - latitude; +Parameters of methods: first - the longitude, second - the latitude.

Updating versions

In Unity Asset Store, we will send only the stable version. Renewal period is several months.

Real World Terrain has built-in update system, using which you can update Real World Terrain to the latest version and get early access to all versions and updates.

Click «Window / Infinity Code / Real World Terrain / Check Updates», to open the window checking for updates. Enter your Invoice Number (digits only) or Order Number, select a channel of updates and click «Check New Versions». Download the new version and import it into the project.

Important: Always make backups when upgrading assets or Unity Editor.

Removing the old version in most cases is not necessary.

You can find out your Invoice Number in order confirmation, or visit the account transaction page in Unity Asset Store: +https://assetstore.unity.com/orders

If from the current version was released more than 10 updates in the selected channel then will only show the last 10 updates. +If updates are available, you can read the list of changes and download the update.

If you have any problems with installing the update, then:

  1. Open an empty scene.
  2. Delete the folder «Infinity Code / Real World Terrain».
  3. Import the new version of Real World Terrain to the project.

If you want to return to the previous version of Real World Terrain, select the channel «Stable Previous». Using this channel, you can get 10 previous updates.

Real World Terrain automatically checks for updates every 24 hours. If a new version is available, you will see a red button in Real World Terrain. When clicked, will open check for updates window.

Automatic check for updates does not require Invoice Number, and works on the selected channel updates. If you do not select a channel update, it will be checked only stable versions.

Troubleshooting

Known issues

You have trouble downloading elevation maps in Real World Terrain, or you want to download them manually (eg on another computer)

Follow these steps:

You have trouble downloading textures

Try to choose another texture provider.

Visible gap between terrains

Most likely your terrains have lost their neighbors. +Select «Real World Terrain Container / Utils / Update Neighbors».

For your area is not generates buildings, roads, grass or trees

Please make sure that they are marked on Open Street Map. +To open the current area in Open Street Map, click «Show Open Street Map» in Real World Terrain window or the helper.

Building has inverted normals

Select the building and click «Invert normals».

How to create an intersection in Road Architect

Select the nodes that must intersect, enable "Allow intersect", and move first node close to the second node.

You have lost your Invoice Number and it is missing from the Unity Asset Store / Account / Transactions

We do not know Invoice Numbers of the customers. We can only check the number that you will give us. So contact with support of Unity Asset Store. +https://support.unity3d.com/hc/en-us/requests/new

Your problem is not listed

Please contact us about your problem (support@infinity-code.com). We will try to fix all errors and release an update as soon as possible.

Frequently asked questions

Q: What is the maximum area can be created?

A: We are at a time creating an area of 10x10 angular degrees. It's a little larger than the size of Germany. But the maximum created territory, strongly depends on the settings of Real World Terrain.

Q: Can Real World Terrain generate terrain at runtime?

A: No, Real World Terrain is Editor Extension and can generate terrains only in Unity Editor. If you need a runtime solution, look at Online Maps.

https://assetstore.unity.com/packages/tools/integration/online-maps-v3-138509

Support

We provide support using email (support@infinity-code.com) in English and Russian, using forum (https://forum.infinity-code.com) or discord (https://discord.gg/2XRWwPgZK4) in English.

If something does not work for you, you find a bug, have a suggestion or question, contact us.

When contacting, please specify your version of Unity, OS and the version of Real World Terrain.

We always try to answer all requests to the support within 24 hours.

Important: We do not provide support in the reviews section of Unity Asset Store. All questions in the reviews section will be ignored.

Other Infinity Code assets

Huge Texture

Huge Texture

https://assetstore.unity.com/packages/tools/input-management/huge-texture-163576

Huge Texture allows you to import and use textures larger than 8192x8192px.

How it works: +When importing a texture, Huge Texture splits the texture into pages and saves it as a Texture Array. + Texture Array is combined on the shader side, which does not create extra draw calls and has almost no effect on performance.

Features:

Requirements:

Mesh to Terrain

Mesh to Terrain

https://assetstore.unity.com/packages/tools/terrain/mesh-to-terrain-7271

Mesh to Terrain is a tool for easily and quickly converting a 3D terrain model created in 3ds Max, Terragen or any other editor to Unity Terrains. +Mesh to Terrain can convert textures to Terrain Layers, generate terrain from several models and split the model into several terrains.

Features:

Online Maps

Online Maps

https://assetstore.unity.com/packages/tools/integration/online-maps-v3-138509

Online Maps is a universal multi-platform mapping solution for your 2D, 3D, AR / VR and mobile applications and games.

Fully customizable, incredibly easy to learn and use, and at the same time is one of the most powerful and flexible solutions in the industry.

Supports a huge number of services for any mapping needs, and has integration with the best Asset Store assets.

The package contains the complete source code without dependencies, and if you want to add or change some feature, you can easily do it.

Don't have programming experience or don't know C# - Online Maps supports visual scripting using Bolt and Playmaker.

All the features to create any map in Unity in one asset.

Features:

Terrain Quality Manager

Terrain Quality Manager

https://assetstore.unity.com/packages/tools/terrain/terrain-quality-manager-28949

Terrain Quality Manager allows you to change the resolution of Heightmap, Detailmap, Alphamap and Basemap, without losing data. +If you need to increase the quality of terrain, or optimize terrain for better performance, with this tool you can do it.

Features:

Tiny Terrain

Tiny Terrain

Tiny Terrain is a lossy Terrain Data compression technology for Unity Terrain Engine, which allows you to reduce the size of the data that Terrain takes in the project many times and significantly reduce the size of your application. +You pay a little CPU time and additional memory usage, but save tens and hundreds of megabytes for each Terrain in the project. +Even though the compression is lossy, in most cases you won't see any visual difference at all. +A very high compression ratio is achieved due to the author's data preparation algorithms and then compression using Brotli. +Even if your build or AssetBundle is already compressed using LZ4, LZ4HC or LZMA, Tiny Terrain will be able to reduce its size. Of course the difference in size won't be as huge as with the uncompressed data, but it's still pretty big.

The asset has highly optimized code using direct memory access, which allows for fast compression and decompression, and minimizes additional memory usage. On average, one Terrain is loaded in about 1 second. +Tiny Terrain is not a 3rd party Terrain Engine, and you can use Unity Terrain API and any terrain tools you like, such as Real World Terrain, Gaia, Vegetation Studio, etc.

Using Tiny Terrain is very easy, and anyone can do it, even if it is their first day using Unity. +Just add Tiny Terrain Loader component to Terrain and click Compress. +If you are an advanced user or programmer, Tiny Terrain has events and API that will help you take full control of the loading process.

Features:

Platforms: +The asset was tested on PC, Mac, Android, iOS, WebGL. +The rest of the platforms have not been tested, but the asset should also work well on them.

Tree Tool

Tree Tool

https://assetstore.unity.com/packages/tools/terrain/tree-tool-221137

Tree Tool allows you to manage each tree individually.

Using this tool, you can perform the following actions on trees:

 

In addition, the tool can perform the following mass actions:

 

Tree Tool is compatible with all assets that create trees for Terrain.

Ultimate Editor Enhancer

Ultimate Editor Enhancer

https://assetstore.unity.com/packages/tools/utilities/ultimate-editor-enhancer-141831

Ultimate Editor Enhancer (ex uContext Pro) is productivity PowerPack that take your workflow in Unity Editor to a next level, simplifies working with content, adds new features to the editor, corrects and improves the editor’s built-in behaviors.

Dramatically improves Hierarchy, Inspector, Scene View and the editor itself.

Adds tools for quick navigation, creation and manipulation of objects.

 

Key Features:

List of tools:

 

uPano

uPano

https://assetstore.unity.com/packages/tools/integration/upano-126396

uPano (Unity Panoramic Framework) is a universal solution for displaying dynamic and static panoramas, and creating virtual tours. +uPano is very easy to learn and use, and is great for people who do not have programming experience. +Visual Tour Maker lets you create virtual tours in minutes. +In most usage scenarios, you can make interactive panoramas without creating your own scripts. +If you have some very specific purpose, uPano has a powerful and easy-to-use API that will allow you to implement any behavior. +Most of the existing types of panoramas are supported: spherical, cylindrical, cubic panoramas on single or six images, cubemap.

Supported platforms: Standalone, iOS, Android (including Google VR), Universal Windows Platform, WebGL. +Other platforms have not been tested, but most likely uPano will work well.

Additional features:

Final words

We sincerely hope that you will enjoy using Real World Terrain, and this will save you a lot of time. +If you have any questions or problems, please contact us. +We will try to help you as quickly as possible.

Please do not forget to leave your review in Unity Asset Store. +It is very important for us to have feedback from users to make our assets better. +For other users, it is also very important to make a right understanding of this asset.

Links

Product page: https://infinity-code.com/products/real-world-terrain +API Reference: https://infinity-code.com/docs/api/real-world-terrain/ +Forum: https://forum.infinity-code.com +Support: support@infinity-code.com +Discord: https://discord.gg/2XRWwPgZK4 +Twitter: https://twitter.com/InfinityCodeCom +YouTube: https://www.youtube.com/playlist?list=PL2QU1uhBMew9F_7iwf_gKjuenEpQcYD-K +Vimeo: https://vimeo.com/channels/realworldterrain

+ + \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Documentation/Content/Documentation-Content.html.meta b/Assets/Infinity Code/Real World Terrain/Documentation/Content/Documentation-Content.html.meta new file mode 100644 index 000000000..a2bcce90a --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Documentation/Content/Documentation-Content.html.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: fd0cc9d2b12848647bc81c9381aa8e42 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Documentation/Documentation.asset b/Assets/Infinity Code/Real World Terrain/Documentation/Documentation.asset new file mode 100644 index 000000000..4a7cd3ecf --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Documentation/Documentation.asset @@ -0,0 +1,14 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 09989ac6b1998df44bfdcd195082f28d, type: 3} + m_Name: Documentation + m_EditorClassIdentifier: diff --git a/Assets/Infinity Code/Real World Terrain/Documentation/Documentation.asset.meta b/Assets/Infinity Code/Real World Terrain/Documentation/Documentation.asset.meta new file mode 100644 index 000000000..859b79255 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Documentation/Documentation.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ed6faccedc90059499dd0e46915c5690 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Examples.meta b/Assets/Infinity Code/Real World Terrain/Examples.meta new file mode 100644 index 000000000..ab897d8bf --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Examples.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: b18007ec15cba0e4aa9feaed9b956c80 +folderAsset: yes +timeCreated: 1470870903 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Examples/Antalya.unity b/Assets/Infinity Code/Real World Terrain/Examples/Antalya.unity new file mode 100644 index 000000000..51ca73374 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Examples/Antalya.unity @@ -0,0 +1,647 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 10 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 1, g: 1, b: 1, a: 1} + m_AmbientEquatorColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientGroundColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 3 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &4 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 13 + m_BakeOnSceneLoad: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 1 + m_BakeResolution: 50 + m_AtlasSize: 1024 + m_AO: 1 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 0 + m_ReflectionCompression: 2 + m_MixedBakeMode: 1 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 1 + m_PVRFilteringGaussRadiusAO: 1 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 4890085278179872738, guid: f41b197bce6a8704ba3e94f6a4602b6d, type: 2} +--- !u!196 &5 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 3 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666666 + manualTileSize: 0 + tileSize: 256 + buildHeightMesh: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &297762827 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 297762829} + - component: {fileID: 297762828} + m_Layer: 0 + m_Name: RealWorld Terrain + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &297762828 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 297762827} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 35746522d0c34a74e98f963412f0defe, type: 3} + m_Name: + m_EditorClassIdentifier: + generateGrass: 0 + generatedRivers: 0 + generateRoads: 0 + generateTextures: 1 + generateTrees: 0 + generatedBuildings: 0 + generatedGrass: 0 + generatedTextures: 0 + generatedTrees: 0 + maxElevation: 1981 + minElevation: -1 + prefs: + buildingBasementDepth: 0 + buildingBottomMode: 0 + buildingFloorHeight: 3.5 + buildingFloorLimits: + min: 5 + minLimit: 1 + max: 7 + maxLimit: 50 + buildingGenerator: 0 + buildingMaterials: [] + buildingPrefabs: [] + buildingSaveInResult: 1 + buildingSingleRequest: 1 + buildingUseColorTags: 1 + buildRCollider: 0 + buildR3Collider: 0 + buildRRenderMode: 0 + customBuildRGeneratorStyle: 0 + customBuildRGeneratorTexturePack: 0 + customBuildRPresets: [] + dynamicBuildings: 1 + POI: [] + riverEngine: + riverMaterial: {fileID: 0} + title: Antalya + grassDensity: 100 + grassEngine: + grassPrefabs: [] + vegetationStudioGrassTypes: + volumeGrassOutsidePoints: 0 + erRoadTypes: [] + erGenerateConnection: 1 + erSnapToTerrain: 1 + erWidthMultiplier: 1 + normalizeRoadDistances: 1 + roadEngine: + roadTypes: -1 + roadTypeMode: 0 + splineBendMaterial: {fileID: 0} + splineBendMesh: {fileID: 0} + alignWaterLine: 0 + autoDetectElevationOffset: {x: 100, y: 100} + baseMapResolution: 1024 + bingMapsUseZeroAsUnknown: 0 + controlTextureResolution: 512 + depthSharpness: 0 + detailResolution: 2048 + elevationProvider: 1 + elevationRange: 0 + elevationType: 0 + fixedTerrainSize: {x: 500, y: 600, z: 500} + gaiaStampResolution: 1024 + generateUnderWater: 0 + heightmapResolution: 2049 + ignoreSRTMErrors: 0 + fixedMaxElevation: 1000 + fixedMinElevation: 0 + maxElevationType: 0 + nodataValue: 0 + rawByteOrder: 0 + rawFilename: terrain + rawHeight: 1024 + rawWidth: 1024 + rawType: 0 + resolutionPerPatch: 16 + resultType: 0 + sizeType: 0 + terrainScale: {x: 1, y: 1, z: 1} + waterDetectionSource: 0 + waterDetectionBitMask: {fileID: 0} + waterDetectionTexture: {fileID: 0} + hugeTexturePageSize: 2048 + hugeTextureRows: 13 + hugeTextureCols: 13 + mapTypeID: + mapTypeExtraFields: + maxTextureLevel: 0 + reduceTextures: 1 + textureCount: + x: 1 + y: 1 + textureFileType: 1 + textureFileQuality: 100 + textureProvider: 4 + textureProviderURL: http://localhost/tiles/{zoom}/{x}/{y} + textureSize: + x: 4096 + y: 4096 + textureMipMaps: 0 + textureResultType: 0 + textureType: 0 + vectorTerrainBaseLayers: [] + vectorTerrainBaseLayersNoiseOffset: {x: 0, y: 0} + vectorTerrainBaseLayersNoiseScale: 16 + vectorTerrainLayers: [] + treeDensity: 100 + treeEngine: + treePrefabs: [] + vegetationStudioTreeTypes: + scale: {x: 89252.45, y: 0.89954567, z: 111195.41} + size: {x: 20837, y: 1782, z: 20959} + topLatitude: 36.7098388671875 + topMercator: 0.39023737890073873 + leftLongitude: 30.460329055786133 + leftMercator: 0.5846120251549615 + bottomLatitude: 36.5213508605957 + bottomMercator: 0.39088968678642166 + rightLongitude: 30.693790435791016 + rightMercator: 0.5852605289883084 + width: 0.2334613800048828 + height: 0.18848800659179688 + mercatorWidth: 0 + mercatorHeight: 0 + billboardStart: 50 + detailDensity: 1 + detailDistance: 80 + folder: Assets/RWT_Result/2016-12-29 18-39 + terrainCount: + x: 1 + y: 1 + title: Antalya + treeDistance: 2000 + terrains: + - {fileID: 320706999} +--- !u!4 &297762829 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 297762827} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 320707002} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &320706998 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 320707002} + - component: {fileID: 320707001} + - component: {fileID: 320707000} + - component: {fileID: 320706999} + m_Layer: 0 + m_Name: Terrain 0x0 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 4294967294 + m_IsActive: 1 +--- !u!114 &320706999 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 320706998} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fc9fccbe3f9587140a1e1601f0e73d70, type: 3} + m_Name: + m_EditorClassIdentifier: + generateGrass: 0 + generatedRivers: 0 + generateRoads: 0 + generateTextures: 1 + generateTrees: 0 + generatedBuildings: 0 + generatedGrass: 0 + generatedTextures: 1 + generatedTrees: 0 + maxElevation: 1981 + minElevation: -1 + prefs: + buildingBasementDepth: 0 + buildingBottomMode: 0 + buildingFloorHeight: 3.5 + buildingFloorLimits: + min: 5 + minLimit: 1 + max: 7 + maxLimit: 50 + buildingGenerator: 0 + buildingMaterials: [] + buildingPrefabs: [] + buildingSaveInResult: 1 + buildingSingleRequest: 1 + buildingUseColorTags: 1 + buildRCollider: 0 + buildR3Collider: 0 + buildRRenderMode: 0 + customBuildRGeneratorStyle: 0 + customBuildRGeneratorTexturePack: 0 + customBuildRPresets: [] + dynamicBuildings: 1 + POI: [] + riverEngine: + riverMaterial: {fileID: 0} + title: Antalya + grassDensity: 100 + grassEngine: + grassPrefabs: [] + vegetationStudioGrassTypes: + volumeGrassOutsidePoints: 0 + erRoadTypes: [] + erGenerateConnection: 1 + erSnapToTerrain: 1 + erWidthMultiplier: 1 + normalizeRoadDistances: 1 + roadEngine: + roadTypes: -1 + roadTypeMode: 0 + splineBendMaterial: {fileID: 0} + splineBendMesh: {fileID: 0} + alignWaterLine: 0 + autoDetectElevationOffset: {x: 100, y: 100} + baseMapResolution: 1024 + bingMapsUseZeroAsUnknown: 0 + controlTextureResolution: 512 + depthSharpness: 0 + detailResolution: 2048 + elevationProvider: 1 + elevationRange: 0 + elevationType: 0 + fixedTerrainSize: {x: 500, y: 600, z: 500} + gaiaStampResolution: 1024 + generateUnderWater: 0 + heightmapResolution: 2049 + ignoreSRTMErrors: 0 + fixedMaxElevation: 1000 + fixedMinElevation: 0 + maxElevationType: 0 + nodataValue: 0 + rawByteOrder: 0 + rawFilename: terrain + rawHeight: 1024 + rawWidth: 1024 + rawType: 0 + resolutionPerPatch: 16 + resultType: 0 + sizeType: 0 + terrainScale: {x: 1, y: 1, z: 1} + waterDetectionSource: 0 + waterDetectionBitMask: {fileID: 0} + waterDetectionTexture: {fileID: 0} + hugeTexturePageSize: 2048 + hugeTextureRows: 13 + hugeTextureCols: 13 + mapTypeID: + mapTypeExtraFields: + maxTextureLevel: 0 + reduceTextures: 1 + textureCount: + x: 1 + y: 1 + textureFileType: 1 + textureFileQuality: 100 + textureProvider: 4 + textureProviderURL: http://localhost/tiles/{zoom}/{x}/{y} + textureSize: + x: 4096 + y: 4096 + textureMipMaps: 0 + textureResultType: 0 + textureType: 0 + vectorTerrainBaseLayers: [] + vectorTerrainBaseLayersNoiseOffset: {x: 0, y: 0} + vectorTerrainBaseLayersNoiseScale: 16 + vectorTerrainLayers: [] + treeDensity: 100 + treeEngine: + treePrefabs: [] + vegetationStudioTreeTypes: + scale: {x: 89252.45, y: 0.89954567, z: 111195.41} + size: {x: 20837, y: 1782, z: 20959} + topLatitude: 36.7098388671875 + topMercator: 0.39023737890073873 + leftLongitude: 30.460329055786133 + leftMercator: 0.5846120251549615 + bottomLatitude: 36.5213508605957 + bottomMercator: 0.39088968678642166 + rightLongitude: 30.693790435791016 + rightMercator: 0.5852605289883084 + width: 0.2334613800048828 + height: 0.18848800659179688 + mercatorWidth: 0 + mercatorHeight: 0 + container: {fileID: 297762828} + x: 0 + y: 0 + ry: 0 + needUpdate: 0 + meshFilter: {fileID: 0} + terrain: {fileID: 320707001} +--- !u!154 &320707000 +TerrainCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 320706998} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 2 + m_TerrainData: {fileID: 15600000, guid: dd9c06efb862d4645a36ec1ea465e5cb, type: 2} + m_EnableTreeColliders: 1 +--- !u!218 &320707001 +Terrain: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 320706998} + m_Enabled: 1 + serializedVersion: 6 + m_TerrainData: {fileID: 15600000, guid: dd9c06efb862d4645a36ec1ea465e5cb, type: 2} + m_TreeDistance: 2000 + m_TreeBillboardDistance: 50 + m_TreeCrossFadeLength: 5 + m_TreeMaximumFullLODCount: 50 + m_DetailObjectDistance: 80 + m_DetailObjectDensity: 1 + m_HeightmapPixelError: 1 + m_SplatMapDistance: 2000 + m_HeightmapMinimumLODSimplification: 0 + m_HeightmapMaximumLOD: 0 + m_ShadowCastingMode: 2 + m_DrawHeightmap: 1 + m_DrawInstanced: 0 + m_DrawTreesAndFoliage: 1 + m_StaticShadowCaster: 0 + m_IgnoreQualitySettings: 0 + m_ReflectionProbeUsage: 1 + m_MaterialTemplate: {fileID: 2100000, guid: 594ea882c5a793440b60ff72d896021e, type: 2} + m_BakeLightProbesForTrees: 1 + m_PreserveTreePrototypeLayers: 0 + m_DeringLightProbesForTrees: 1 + m_ReceiveGI: 1 + m_ScaleInLightmap: 1 + m_LightmapParameters: {fileID: 15203, guid: 0000000000000000f000000000000000, type: 0} + m_GroupingID: 0 + m_RenderingLayerMask: 1 + m_AllowAutoConnect: 0 + m_EnableHeightmapRayTracing: 1 + m_EnableTreesAndDetailsRayTracing: 0 + m_TreeMotionVectorModeOverride: 3 +--- !u!4 &320707002 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 320706998} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 297762829} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1013228909 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1013228910} + - component: {fileID: 1013228911} + - component: {fileID: 1013228914} + - component: {fileID: 1013228912} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1013228910 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1013228909} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!20 &1013228911 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1013228909} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 100 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!81 &1013228912 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1013228909} + m_Enabled: 1 +--- !u!124 &1013228914 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1013228909} + m_Enabled: 1 +--- !u!1660057539 &9223372036854775807 +SceneRoots: + m_ObjectHideFlags: 0 + m_Roots: + - {fileID: 1013228910} + - {fileID: 297762829} diff --git a/Assets/Infinity Code/Real World Terrain/Examples/Antalya.unity.meta b/Assets/Infinity Code/Real World Terrain/Examples/Antalya.unity.meta new file mode 100644 index 000000000..e9f60318b --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Examples/Antalya.unity.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: c73b1990e895143428ce353f8acd81e6 +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Examples/AntalyaSettings.lighting b/Assets/Infinity Code/Real World Terrain/Examples/AntalyaSettings.lighting new file mode 100644 index 000000000..37ea391b4 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Examples/AntalyaSettings.lighting @@ -0,0 +1,63 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!850595691 &4890085278179872738 +LightingSettings: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: AntalyaSettings + serializedVersion: 9 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_RealtimeEnvironmentLighting: 1 + m_BounceScale: 1 + m_AlbedoBoost: 1 + m_IndirectOutputScale: 1 + m_UsingShadowmask: 0 + m_BakeBackend: 1 + m_LightmapMaxSize: 1024 + m_LightmapSizeFixed: 0 + m_UseMipmapLimits: 1 + m_BakeResolution: 50 + m_Padding: 2 + m_LightmapCompression: 0 + m_AO: 1 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAO: 0 + m_MixedBakeMode: 1 + m_LightmapsBakeMode: 1 + m_FilterMode: 1 + m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} + m_ExportTrainingData: 0 + m_EnableWorkerProcessBaking: 1 + m_TrainingDataDestination: TrainingData + m_RealtimeResolution: 1 + m_ForceWhiteAlbedo: 0 + m_ForceUpdates: 0 + m_PVRCulling: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVREnvironmentSampleCount: 512 + m_PVREnvironmentReferencePointCount: 2048 + m_LightProbeSampleCountMultiplier: 4 + m_PVRBounces: 2 + m_PVRMinBounces: 2 + m_PVREnvironmentImportanceSampling: 0 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 1 + m_PVRFilteringGaussRadiusAO: 1 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_RespectSceneVisibilityWhenBakingGI: 0 diff --git a/Assets/Infinity Code/Real World Terrain/Examples/AntalyaSettings.lighting.meta b/Assets/Infinity Code/Real World Terrain/Examples/AntalyaSettings.lighting.meta new file mode 100644 index 000000000..15e5437b5 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Examples/AntalyaSettings.lighting.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f41b197bce6a8704ba3e94f6a4602b6d +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 4890085278179872738 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Examples/San Francisco.unity b/Assets/Infinity Code/Real World Terrain/Examples/San Francisco.unity new file mode 100644 index 000000000..009487784 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Examples/San Francisco.unity @@ -0,0 +1,647 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 10 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 1, g: 1, b: 1, a: 1} + m_AmbientEquatorColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientGroundColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 3 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &4 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 13 + m_BakeOnSceneLoad: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 1 + m_BakeResolution: 50 + m_AtlasSize: 1024 + m_AO: 1 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 0 + m_ReflectionCompression: 2 + m_MixedBakeMode: 1 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 1 + m_PVRFilteringGaussRadiusAO: 1 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 4890085278179872738, guid: 32687eb8afc82424e8fb87038814a342, type: 2} +--- !u!196 &5 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 3 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666666 + manualTileSize: 0 + tileSize: 256 + buildHeightMesh: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &622949507 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 622949509} + - component: {fileID: 622949508} + m_Layer: 0 + m_Name: RealWorld Terrain + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &622949508 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 622949507} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 35746522d0c34a74e98f963412f0defe, type: 3} + m_Name: + m_EditorClassIdentifier: + generateGrass: 0 + generatedRivers: 0 + generateRoads: 0 + generateTextures: 1 + generateTrees: 0 + generatedBuildings: 0 + generatedGrass: 0 + generatedTextures: 0 + generatedTrees: 0 + maxElevation: 402 + minElevation: -1 + prefs: + buildingBasementDepth: 0 + buildingBottomMode: 0 + buildingFloorHeight: 3.5 + buildingFloorLimits: + min: 5 + minLimit: 1 + max: 7 + maxLimit: 50 + buildingGenerator: 0 + buildingMaterials: [] + buildingPrefabs: [] + buildingSaveInResult: 1 + buildingSingleRequest: 1 + buildingUseColorTags: 1 + buildRCollider: 0 + buildR3Collider: 0 + buildRRenderMode: 0 + customBuildRGeneratorStyle: 0 + customBuildRGeneratorTexturePack: 0 + customBuildRPresets: [] + dynamicBuildings: 1 + POI: [] + riverEngine: + riverMaterial: {fileID: 0} + title: San Francisco + grassDensity: 100 + grassEngine: + grassPrefabs: [] + vegetationStudioGrassTypes: + volumeGrassOutsidePoints: 0 + erRoadTypes: [] + erGenerateConnection: 1 + erSnapToTerrain: 1 + erWidthMultiplier: 1 + normalizeRoadDistances: 1 + roadEngine: + roadTypes: -1 + roadTypeMode: 0 + splineBendMaterial: {fileID: 0} + splineBendMesh: {fileID: 0} + alignWaterLine: 0 + autoDetectElevationOffset: {x: 100, y: 100} + baseMapResolution: 1024 + bingMapsUseZeroAsUnknown: 0 + controlTextureResolution: 512 + depthSharpness: 0 + detailResolution: 2048 + elevationProvider: 1 + elevationRange: 0 + elevationType: 0 + fixedTerrainSize: {x: 500, y: 600, z: 500} + gaiaStampResolution: 1024 + generateUnderWater: 0 + heightmapResolution: 2049 + ignoreSRTMErrors: 0 + fixedMaxElevation: 1000 + fixedMinElevation: 0 + maxElevationType: 0 + nodataValue: 0 + rawByteOrder: 0 + rawFilename: terrain + rawHeight: 1024 + rawWidth: 1024 + rawType: 0 + resolutionPerPatch: 16 + resultType: 0 + sizeType: 0 + terrainScale: {x: 1, y: 1, z: 1} + waterDetectionSource: 0 + waterDetectionBitMask: {fileID: 0} + waterDetectionTexture: {fileID: 0} + hugeTexturePageSize: 2048 + hugeTextureRows: 13 + hugeTextureCols: 13 + mapTypeID: + mapTypeExtraFields: + maxTextureLevel: 0 + reduceTextures: 1 + textureCount: + x: 1 + y: 1 + textureFileType: 1 + textureFileQuality: 100 + textureProvider: 4 + textureProviderURL: http://localhost/tiles/{zoom}/{x}/{y} + textureSize: + x: 4096 + y: 4096 + textureMipMaps: 0 + textureResultType: 0 + textureType: 0 + vectorTerrainBaseLayers: [] + vectorTerrainBaseLayersNoiseOffset: {x: 0, y: 0} + vectorTerrainBaseLayersNoiseScale: 16 + vectorTerrainLayers: [] + treeDensity: 100 + treeEngine: + treePrefabs: [] + vegetationStudioTreeTypes: + scale: {x: 87999.59, y: 0.9004975, z: 111191.92} + size: {x: 9821, y: 362, z: 7492} + topLatitude: 37.719120025634766 + topMercator: 0.38671688988920516 + leftLongitude: -122.47019958496094 + leftMercator: 0.1598050011528863 + bottomLatitude: 37.65174102783203 + bottomMercator: 0.38695339339023976 + rightLongitude: -122.35859680175781 + rightMercator: 0.16011500888400607 + width: 0.111602783203125 + height: 0.06737899780273438 + mercatorWidth: 0 + mercatorHeight: 0 + billboardStart: 50 + detailDensity: 1 + detailDistance: 80 + folder: Assets/RWT_Result/2017-01-16 02-16 + terrainCount: + x: 1 + y: 1 + title: San Francisco + treeDistance: 2000 + terrains: + - {fileID: 1249861051} +--- !u!4 &622949509 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 622949507} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1249861053} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1249861050 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1249861053} + - component: {fileID: 1249861052} + - component: {fileID: 1249861054} + - component: {fileID: 1249861051} + m_Layer: 0 + m_Name: Terrain 0x0 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 4294967294 + m_IsActive: 1 +--- !u!114 &1249861051 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1249861050} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fc9fccbe3f9587140a1e1601f0e73d70, type: 3} + m_Name: + m_EditorClassIdentifier: + generateGrass: 0 + generatedRivers: 0 + generateRoads: 0 + generateTextures: 1 + generateTrees: 0 + generatedBuildings: 0 + generatedGrass: 0 + generatedTextures: 1 + generatedTrees: 0 + maxElevation: 402 + minElevation: -1 + prefs: + buildingBasementDepth: 0 + buildingBottomMode: 0 + buildingFloorHeight: 3.5 + buildingFloorLimits: + min: 5 + minLimit: 1 + max: 7 + maxLimit: 50 + buildingGenerator: 0 + buildingMaterials: [] + buildingPrefabs: [] + buildingSaveInResult: 1 + buildingSingleRequest: 1 + buildingUseColorTags: 1 + buildRCollider: 0 + buildR3Collider: 0 + buildRRenderMode: 0 + customBuildRGeneratorStyle: 0 + customBuildRGeneratorTexturePack: 0 + customBuildRPresets: [] + dynamicBuildings: 1 + POI: [] + riverEngine: + riverMaterial: {fileID: 0} + title: San Francisco + grassDensity: 100 + grassEngine: + grassPrefabs: [] + vegetationStudioGrassTypes: + volumeGrassOutsidePoints: 0 + erRoadTypes: [] + erGenerateConnection: 1 + erSnapToTerrain: 1 + erWidthMultiplier: 1 + normalizeRoadDistances: 1 + roadEngine: + roadTypes: -1 + roadTypeMode: 0 + splineBendMaterial: {fileID: 0} + splineBendMesh: {fileID: 0} + alignWaterLine: 0 + autoDetectElevationOffset: {x: 100, y: 100} + baseMapResolution: 1024 + bingMapsUseZeroAsUnknown: 0 + controlTextureResolution: 512 + depthSharpness: 0 + detailResolution: 2048 + elevationProvider: 1 + elevationRange: 0 + elevationType: 0 + fixedTerrainSize: {x: 500, y: 600, z: 500} + gaiaStampResolution: 1024 + generateUnderWater: 0 + heightmapResolution: 2049 + ignoreSRTMErrors: 0 + fixedMaxElevation: 1000 + fixedMinElevation: 0 + maxElevationType: 0 + nodataValue: 0 + rawByteOrder: 0 + rawFilename: terrain + rawHeight: 1024 + rawWidth: 1024 + rawType: 0 + resolutionPerPatch: 16 + resultType: 0 + sizeType: 0 + terrainScale: {x: 1, y: 1, z: 1} + waterDetectionSource: 0 + waterDetectionBitMask: {fileID: 0} + waterDetectionTexture: {fileID: 0} + hugeTexturePageSize: 2048 + hugeTextureRows: 13 + hugeTextureCols: 13 + mapTypeID: + mapTypeExtraFields: + maxTextureLevel: 0 + reduceTextures: 1 + textureCount: + x: 1 + y: 1 + textureFileType: 1 + textureFileQuality: 100 + textureProvider: 4 + textureProviderURL: http://localhost/tiles/{zoom}/{x}/{y} + textureSize: + x: 4096 + y: 4096 + textureMipMaps: 0 + textureResultType: 0 + textureType: 0 + vectorTerrainBaseLayers: [] + vectorTerrainBaseLayersNoiseOffset: {x: 0, y: 0} + vectorTerrainBaseLayersNoiseScale: 16 + vectorTerrainLayers: [] + treeDensity: 100 + treeEngine: + treePrefabs: [] + vegetationStudioTreeTypes: + scale: {x: 87999.59, y: 0.9004975, z: 111191.92} + size: {x: 9821, y: 362, z: 7492} + topLatitude: 37.719120025634766 + topMercator: 0.38671688988920516 + leftLongitude: -122.47019958496094 + leftMercator: 0.1598050011528863 + bottomLatitude: 37.65174102783203 + bottomMercator: 0.38695339339023976 + rightLongitude: -122.35859680175781 + rightMercator: 0.16011500888400607 + width: 0.111602783203125 + height: 0.06737899780273438 + mercatorWidth: 0 + mercatorHeight: 0 + container: {fileID: 622949508} + x: 0 + y: 0 + ry: 0 + needUpdate: 0 + meshFilter: {fileID: 0} + terrain: {fileID: 1249861052} +--- !u!218 &1249861052 +Terrain: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1249861050} + m_Enabled: 1 + serializedVersion: 6 + m_TerrainData: {fileID: 15600000, guid: ff300183479991840917cc341192d187, type: 2} + m_TreeDistance: 2000 + m_TreeBillboardDistance: 50 + m_TreeCrossFadeLength: 5 + m_TreeMaximumFullLODCount: 50 + m_DetailObjectDistance: 80 + m_DetailObjectDensity: 1 + m_HeightmapPixelError: 1 + m_SplatMapDistance: 2000 + m_HeightmapMinimumLODSimplification: 0 + m_HeightmapMaximumLOD: 0 + m_ShadowCastingMode: 2 + m_DrawHeightmap: 1 + m_DrawInstanced: 0 + m_DrawTreesAndFoliage: 1 + m_StaticShadowCaster: 0 + m_IgnoreQualitySettings: 0 + m_ReflectionProbeUsage: 1 + m_MaterialTemplate: {fileID: 2100000, guid: 594ea882c5a793440b60ff72d896021e, type: 2} + m_BakeLightProbesForTrees: 1 + m_PreserveTreePrototypeLayers: 0 + m_DeringLightProbesForTrees: 1 + m_ReceiveGI: 1 + m_ScaleInLightmap: 1 + m_LightmapParameters: {fileID: 15203, guid: 0000000000000000f000000000000000, type: 0} + m_GroupingID: 0 + m_RenderingLayerMask: 1 + m_AllowAutoConnect: 0 + m_EnableHeightmapRayTracing: 1 + m_EnableTreesAndDetailsRayTracing: 0 + m_TreeMotionVectorModeOverride: 3 +--- !u!4 &1249861053 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1249861050} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 622949509} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!154 &1249861054 +TerrainCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1249861050} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 2 + m_TerrainData: {fileID: 15600000, guid: ff300183479991840917cc341192d187, type: 2} + m_EnableTreeColliders: 1 +--- !u!1 &1701324178 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1701324179} + - component: {fileID: 1701324180} + - component: {fileID: 1701324183} + - component: {fileID: 1701324181} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1701324179 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1701324178} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!20 &1701324180 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1701324178} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 100 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!81 &1701324181 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1701324178} + m_Enabled: 1 +--- !u!124 &1701324183 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1701324178} + m_Enabled: 1 +--- !u!1660057539 &9223372036854775807 +SceneRoots: + m_ObjectHideFlags: 0 + m_Roots: + - {fileID: 1701324179} + - {fileID: 622949509} diff --git a/Assets/Infinity Code/Real World Terrain/Examples/San Francisco.unity.meta b/Assets/Infinity Code/Real World Terrain/Examples/San Francisco.unity.meta new file mode 100644 index 000000000..031329255 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Examples/San Francisco.unity.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: 5441a632a63572744b951fa7dc390d39 +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Examples/San FranciscoSettings.lighting b/Assets/Infinity Code/Real World Terrain/Examples/San FranciscoSettings.lighting new file mode 100644 index 000000000..a98e1741d --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Examples/San FranciscoSettings.lighting @@ -0,0 +1,63 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!850595691 &4890085278179872738 +LightingSettings: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: San FranciscoSettings + serializedVersion: 9 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_RealtimeEnvironmentLighting: 1 + m_BounceScale: 1 + m_AlbedoBoost: 1 + m_IndirectOutputScale: 1 + m_UsingShadowmask: 0 + m_BakeBackend: 1 + m_LightmapMaxSize: 1024 + m_LightmapSizeFixed: 0 + m_UseMipmapLimits: 1 + m_BakeResolution: 50 + m_Padding: 2 + m_LightmapCompression: 0 + m_AO: 1 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAO: 0 + m_MixedBakeMode: 1 + m_LightmapsBakeMode: 1 + m_FilterMode: 1 + m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} + m_ExportTrainingData: 0 + m_EnableWorkerProcessBaking: 1 + m_TrainingDataDestination: TrainingData + m_RealtimeResolution: 1 + m_ForceWhiteAlbedo: 0 + m_ForceUpdates: 0 + m_PVRCulling: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVREnvironmentSampleCount: 512 + m_PVREnvironmentReferencePointCount: 2048 + m_LightProbeSampleCountMultiplier: 4 + m_PVRBounces: 2 + m_PVRMinBounces: 2 + m_PVREnvironmentImportanceSampling: 0 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 1 + m_PVRFilteringGaussRadiusAO: 1 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_RespectSceneVisibilityWhenBakingGI: 0 diff --git a/Assets/Infinity Code/Real World Terrain/Examples/San FranciscoSettings.lighting.meta b/Assets/Infinity Code/Real World Terrain/Examples/San FranciscoSettings.lighting.meta new file mode 100644 index 000000000..ae657dbe5 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Examples/San FranciscoSettings.lighting.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 32687eb8afc82424e8fb87038814a342 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 4890085278179872738 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Examples/Terrains.meta b/Assets/Infinity Code/Real World Terrain/Examples/Terrains.meta new file mode 100644 index 000000000..585340f26 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Examples/Terrains.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f4fdb0b4c561f35479d6b31bd1e42091 +folderAsset: yes +timeCreated: 1470870903 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Examples/Terrains/Antalya.meta b/Assets/Infinity Code/Real World Terrain/Examples/Terrains/Antalya.meta new file mode 100644 index 000000000..bf318384d --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Examples/Terrains/Antalya.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 3c4be58254c72d44ca8f68558f0dd6b1 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Examples/Terrains/Antalya/Terrain 0x0.asset b/Assets/Infinity Code/Real World Terrain/Examples/Terrains/Antalya/Terrain 0x0.asset new file mode 100644 index 000000000..37c637ef8 Binary files /dev/null and b/Assets/Infinity Code/Real World Terrain/Examples/Terrains/Antalya/Terrain 0x0.asset differ diff --git a/Assets/Infinity Code/Real World Terrain/Examples/Terrains/Antalya/Terrain 0x0.asset.meta b/Assets/Infinity Code/Real World Terrain/Examples/Terrains/Antalya/Terrain 0x0.asset.meta new file mode 100644 index 000000000..d31bb9f63 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Examples/Terrains/Antalya/Terrain 0x0.asset.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: dd9c06efb862d4645a36ec1ea465e5cb +NativeFormatImporter: + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Examples/Terrains/Antalya/Terrain 0x0r4096x4096.png b/Assets/Infinity Code/Real World Terrain/Examples/Terrains/Antalya/Terrain 0x0r4096x4096.png new file mode 100644 index 000000000..24c4d669b Binary files /dev/null and b/Assets/Infinity Code/Real World Terrain/Examples/Terrains/Antalya/Terrain 0x0r4096x4096.png differ diff --git a/Assets/Infinity Code/Real World Terrain/Examples/Terrains/Antalya/Terrain 0x0r4096x4096.png.meta b/Assets/Infinity Code/Real World Terrain/Examples/Terrains/Antalya/Terrain 0x0r4096x4096.png.meta new file mode 100644 index 000000000..be0eafd10 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Examples/Terrains/Antalya/Terrain 0x0r4096x4096.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 3893a5a95789ef448ae1ec9e900b1577 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 4096 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Examples/Terrains/San Francisco.meta b/Assets/Infinity Code/Real World Terrain/Examples/Terrains/San Francisco.meta new file mode 100644 index 000000000..cf5e79691 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Examples/Terrains/San Francisco.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: cec5001483eb1534d8aad293fbbf2738 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Examples/Terrains/San Francisco/Terrain 0x0.asset b/Assets/Infinity Code/Real World Terrain/Examples/Terrains/San Francisco/Terrain 0x0.asset new file mode 100644 index 000000000..8521ca0a0 Binary files /dev/null and b/Assets/Infinity Code/Real World Terrain/Examples/Terrains/San Francisco/Terrain 0x0.asset differ diff --git a/Assets/Infinity Code/Real World Terrain/Examples/Terrains/San Francisco/Terrain 0x0.asset.meta b/Assets/Infinity Code/Real World Terrain/Examples/Terrains/San Francisco/Terrain 0x0.asset.meta new file mode 100644 index 000000000..3ddad096b --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Examples/Terrains/San Francisco/Terrain 0x0.asset.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: ff300183479991840917cc341192d187 +NativeFormatImporter: + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Examples/Terrains/San Francisco/Terrain 0x0r4096x4096.png b/Assets/Infinity Code/Real World Terrain/Examples/Terrains/San Francisco/Terrain 0x0r4096x4096.png new file mode 100644 index 000000000..1139615f5 Binary files /dev/null and b/Assets/Infinity Code/Real World Terrain/Examples/Terrains/San Francisco/Terrain 0x0r4096x4096.png differ diff --git a/Assets/Infinity Code/Real World Terrain/Examples/Terrains/San Francisco/Terrain 0x0r4096x4096.png.meta b/Assets/Infinity Code/Real World Terrain/Examples/Terrains/San Francisco/Terrain 0x0r4096x4096.png.meta new file mode 100644 index 000000000..a66cd3e4e --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Examples/Terrains/San Francisco/Terrain 0x0r4096x4096.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: e27b50ec4762bc043974a36e4a1175c0 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 4096 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Helper.meta b/Assets/Infinity Code/Real World Terrain/Helper.meta new file mode 100644 index 000000000..66a35a011 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Helper.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 27880f03fd27a534b88985a6e391fd7c +folderAsset: yes +timeCreated: 1470870903 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Helper/RWT_Coords.jscript b/Assets/Infinity Code/Real World Terrain/Helper/RWT_Coords.jscript new file mode 100644 index 000000000..1c9036322 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Helper/RWT_Coords.jscript @@ -0,0 +1 @@ +var Coords = {tlx: 110.216266353617, tly: 28.5691193618739, brx: 110.2342326593, bry: 28.5533394354234}; \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Helper/RWT_Coords.jscript.meta b/Assets/Infinity Code/Real World Terrain/Helper/RWT_Coords.jscript.meta new file mode 100644 index 000000000..ae8cd5913 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Helper/RWT_Coords.jscript.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: 6b4cd8ea119eb914889916823bef364b +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Helper/RWT_Helper.css b/Assets/Infinity Code/Real World Terrain/Helper/RWT_Helper.css new file mode 100644 index 000000000..2beae5c76 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Helper/RWT_Helper.css @@ -0,0 +1,39 @@ +@charset "utf-8"; + +#map-canvas { + width:700px; + height:600px; +} + +.hidden { + display: none; +} + +.wrong { + color: red; +} + +.ildiv { + display:inline; +} + +.poi > div { + display: inline-block; +} + +.poiIndex { + text-align: center; +} + +.poiDelete { + cursor: pointer; +} + +#coordNode { + margin-top: 30px; + margin-bottom: 15px; +} + +.field { + margin-top: 5px; +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Helper/RWT_Helper.css.meta b/Assets/Infinity Code/Real World Terrain/Helper/RWT_Helper.css.meta new file mode 100644 index 000000000..7de43075a --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Helper/RWT_Helper.css.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: ec18cada1f2345d47821b03012d8caf3 +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Helper/RWT_Helper.html b/Assets/Infinity Code/Real World Terrain/Helper/RWT_Helper.html new file mode 100644 index 000000000..32cc1364f --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Helper/RWT_Helper.html @@ -0,0 +1,119 @@ + + + + + + + Real World Terrain Helper + + + + + + + + + + + + + +

Real World Terrain Helper

+
+
+
+

+

+
+ + +
+
+

+

+

+

+

+

Hold CTRL to move the entire frame or markers.
+

+

+

+

+

+

+ +

+
+
+

+

+
Elevation
+ + +

Top-Left

+
Latitude:
+
Longitude:
+ +

Bottom-Right

+
Latitude:
+
Longitude:
+ +

Area

+
Width:
0
km
+
Height:
0
km
+
Area:
0
km²
+
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+
+

Move selector

+
+
+ Left + Right + Up + Down +
+
+
+
Copy this to Clipboard
+
+ +
+

+

+
+
+
+ + diff --git a/Assets/Infinity Code/Real World Terrain/Helper/RWT_Helper.html.meta b/Assets/Infinity Code/Real World Terrain/Helper/RWT_Helper.html.meta new file mode 100644 index 000000000..473d62530 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Helper/RWT_Helper.html.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: b5d427ede233abe46ac1ce081dbb871b +TextScriptImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Helper/RWT_Helper.jscript b/Assets/Infinity Code/Real World Terrain/Helper/RWT_Helper.jscript new file mode 100644 index 000000000..4846c7e01 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Helper/RWT_Helper.jscript @@ -0,0 +1,594 @@ +var autocomplete; +var geocoder; +var map; +var markers = []; +var provider = "srtm"; +var rectangle; +var bestResultRect; +var tileSize = 256; +var tilelayer; + +function AddPOI() +{ + CreatePOI(map.getCenter(), "New POI " + (markers.length + 1)); + + $("#POIs").show("fast"); + UpdateInfo(); +} + +function Clip(val, min, max) +{ + if (val < min) return min; + if (val > max) return max; + return val; +} + +function CreatePOI(position, title) +{ + var marker = new google.maps.Marker({ + position: position, + title: title, + }); + + marker.setMap(map); + markers.push(marker); + + google.maps.event.addListener(marker, 'drag', OnMarkerDrag); + + var markerPosition = "Lat: " + marker.position.lat() + ", Lng: " + marker.position.lng(); + var el = "
"; + el += "
" + markers.length + "
"; + el += "
" + marker.title + "
"; + el += "
" + markerPosition + "
"; + el += "
"; + el += "
"; + $("#poiContainer").append(el); + + $(".poiTitle:last").dblclick(OnPOITitleDoubleClick); + var lastDelete = $(".poiDelete:last"); + lastDelete.find("i").popup({ + title: "Delete", + position: "top center" + }); + lastDelete.click(OnDeletePOI); + + $('html, body').animate({ + scrollTop: $("#poiContainer").offset().top + }, 500); +} + +function GenerateLinks() +{ + if (provider == "srtm") GenerateLinksSRTM(); + else if (provider == "srtm30") GenerateLinksSRTM30(); +} + +function GenerateLinksSRTM() +{ + var bounds = rectangle.getBounds(); + var ne = bounds.getNorthEast(); + var sw = bounds.getSouthWest(); + var x1 = sw.lng(); + var x2 = ne.lng(); + var y1 = ne.lat(); + var y2 = sw.lat(); + var x1u = Math.floor(x1 / 5) * 5 + 180; + var x2u = Math.floor(x2 / 5) * 5 + 180; + var y1u = 90 - Math.floor(y1 / 5) * 5; + var y2u = 90 - Math.floor(y2 / 5) * 5; + + var el = $("#dlHeightmaps"); + + el.text(""); + $("#dlTextures").text(""); + var server = "http://srtm.csi.cgiar.org/wp-content/uploads/files/srtm_5x5/ASCII/"; + + for (var x = x1u; x <= x2u; x += 5) + { + for (var y = y1u; y <= y2u; y += 5) + { + var ax = Math.floor(x / 5 + 1); + var ay = Math.floor(y / 5 - 6); + var filename = "srtm_" + ((ax > 9)? ax: "0" + ax) + "_" + ((ay > 9)? ay: "0" + ay); + var e = "" + filename + ""; + el.append(e); + } + } + + var links = $("#download-links-srtm"); + links.show("fast"); + + $('html, body').animate({ + scrollTop: links.offset().top + }, 500); +} + +function GenerateLinksSRTM30() +{ + var bounds = rectangle.getBounds(); + var ne = bounds.getNorthEast(); + var sw = bounds.getSouthWest(); + var x1 = sw.lng(); + var x2 = ne.lng(); + var y1 = ne.lat(); + var y2 = sw.lat(); + var x1u = Math.floor(x1 + 180) - 180; + var x2u = Math.floor(x2 + 180) - 180; + var y1u = Math.floor(y1 + 90) - 90; + var y2u = Math.floor(y2 + 90) - 90; + + var el = $("#dlHeightmaps30"); + + el.text(""); + $("#dlTextures").text(""); + var server = "https://e4ftl01.cr.usgs.gov/MODV6_Dal_D/SRTM/SRTMGL1.003/2000.02.11/"; + + console.log(x1u + " " + x2u + " " + y2u + " " + y1u); + + for (var x = x1u; x <= x2u; x++) + { + for (var y = y2u; y <= y1u; y++) + { + var ax = x < 0 ? "W" : "E"; + var absX = Math.abs(x); + if (absX < 100) ax += "0"; + if (absX < 10) ax += "0"; + ax += absX; + + var ay = y < 0 ? "S" : "N"; + var absY = Math.abs(y); + if (absY < 10) ay += "0"; + ay += absY; + + var filename = ay + ax + ".SRTMGL1.hgt.zip"; + + var e = "" + filename + ""; + el.append(e); + } + } + + var links = $("#download-links-srtm30"); + links.show("fast"); + + $('html, body').animate({ + scrollTop: links.offset().top + }, 500); +} + +function Initialize() +{ + var centerPoint = new google.maps.LatLng((Coords.tly + Coords.bry) / 2, (Coords.tlx + Coords.brx) / 2); + + var mapOptions = + { + center: centerPoint, + zoom: 9, + zoomControl: true, + zoomControlOptions: { + style: google.maps.ZoomControlStyle.DEFAULT, + }, + mapTypeControl: true, + panControl: false, + scaleControl: true, + scrollwheel: true, + streetViewControl: false, + draggable : true, + overviewMapControl: false, + mapTypeId: google.maps.MapTypeId.HYBRID + }; + + var bounds = new google.maps.LatLngBounds( + new google.maps.LatLng(Coords.bry, Coords.tlx), + new google.maps.LatLng(Coords.tly, Coords.brx) + ); + + autocomplete = new google.maps.places.Autocomplete( + (document.getElementById('search-address')), + {types: ['geocode']}); + + tilelayer = new google.maps.ImageMapType({ + getTileUrl: function(tile, zoom) { return "images/grid.png"; }, + tileSize: new google.maps.Size(256, 256) + }); + + geocoder = new google.maps.Geocoder(); + map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions); + if ($("#showgrid").prop("checked")) map.overlayMapTypes.insertAt(0, tilelayer); + map.fitBounds(bounds); + + rectangle = new google.maps.Rectangle({ + bounds: bounds, + editable: true + }); + rectangle.setMap(map); + rectangle.addListener("bounds_changed", UpdateInfo); + + bestResultRect = new google.maps.Rectangle({ + bounds: bounds, + strokeColor: '#00FF00', + strokeOpacity: 0.8, + strokeWeight: 2, + visible: false + }); + bestResultRect.setMap(map); + if ($("#bestrect").prop("checked")) + { + bestResultRect.setVisible(true); + $("#btnSelectBestRect").show(); + } + + UpdateBestRect(); + + if (typeof(POI) != 'undefined') + { + for (var i = 0; i < POI.length; i++) + { + var p = POI[i]; + CreatePOI(new google.maps.LatLng(p.y, p.x), p.title); + } + if (POI.length > 0) $("#POIs").removeClass("hidden"); + } + + UpdateInfo(); + + $("#search-address").keyup(function(event){ + if(event.keyCode == 13) $("#btnSearch").click(); + }); + + var clipboard = new Clipboard("#copyBtn"); + $('#copyBtn').popup({ + on: "click", + title: 'Copied', + content: 'Now click "Insert the coordinates from the clipboard" in Real World Terrain.' + }); + + provider = $("#elevation-provider").find('option:selected').val(); + + $("#bestrectHint").popup(); + + $("#btnCreateSelector").click(ShowRectangle); + $("#btnSearch").click(Search); + $("#btnAddPOI").click(AddPOI); + $("#btnShowLinks").click(GenerateLinks); + $("#btnOpenOSM").click(OnShowOSM); + $("#elevation-provider").change(OnChangeProvider); + $("#showgrid").change(OnToggleGrid); + $("#bestrect").change(OnToggleBestRect); + $("#btnSelectBestRect").click(SelectBestRect); +} + +function LatLngToTile(latLng, zoom) +{ + var sy = Math.sin(latLng.lat() * Math.PI / 180); + var lng = (latLng.lng() + 180) / 360; + var lat = 0.5 - Math.log((1 + sy) / (1 - sy)) / (Math.PI * 4); + var mapSize = tileSize * (1 << zoom); + var px = lng * mapSize + 0.5; + var py = lat * mapSize + 0.5; + + if (px < 0) px = 0; + else if (px > mapSize - 1) px = mapSize - 1; + if (py < 0) py = 0; + else if (py > mapSize - 1) py = mapSize - 1; + + var tx = px / tileSize; + var ty = py / tileSize; + + return new google.maps.Point(tx, ty); +} + +function MoveSelectorDown() +{ + var bounds = rectangle.getBounds(); + var ne = bounds.getNorthEast(); + var sw = bounds.getSouthWest(); + + var off = ne.lat() - sw.lat(); + + var ne2 = new google.maps.LatLng(ne.lat() - off, ne.lng()); + var sw2 = new google.maps.LatLng(sw.lat() - off, sw.lng()); + + rectangle.setBounds(new google.maps.LatLngBounds(sw2, ne2)); +} + +function MoveSelectorLeft() +{ + var bounds = rectangle.getBounds(); + var ne = bounds.getNorthEast(); + var sw = bounds.getSouthWest(); + + var off = ne.lng() - sw.lng(); + + var ne2 = new google.maps.LatLng(ne.lat(), ne.lng() - off); + var sw2 = new google.maps.LatLng(sw.lat(), sw.lng() - off); + + rectangle.setBounds(new google.maps.LatLngBounds(sw2, ne2)); +} + +function MoveSelectorRight() +{ + var bounds = rectangle.getBounds(); + var ne = bounds.getNorthEast(); + var sw = bounds.getSouthWest(); + + var off = ne.lng() - sw.lng(); + + var ne2 = new google.maps.LatLng(ne.lat(), ne.lng() + off); + var sw2 = new google.maps.LatLng(sw.lat(), sw.lng() + off); + + rectangle.setBounds(new google.maps.LatLngBounds(sw2, ne2)); +} + +function MoveSelectorUp() +{ + var bounds = rectangle.getBounds(); + var ne = bounds.getNorthEast(); + var sw = bounds.getSouthWest(); + + var off = ne.lat() - sw.lat(); + + var ne2 = new google.maps.LatLng(ne.lat() + off, ne.lng()); + var sw2 = new google.maps.LatLng(sw.lat() + off, sw.lng()); + + rectangle.setBounds(new google.maps.LatLngBounds(sw2, ne2)); +} + +function OnChangeProvider() +{ + provider = $("#elevation-provider").find('option:selected').val(); + if (provider == "srtm" || provider == "srtm30") $("#btnShowLinks").show(); + else $("#btnShowLinks").hide(); + + $("#download-links-srtm").hide(); + $("#download-links-srtm30").hide(); + + UpdateInfo(); +} + +function OnDeletePOI() +{ + var index = $(".poiDelete").index($(this)); + var marker = markers.splice(index, 1)[0]; + marker.setMap(null); + $(this).parent().parent().remove(); + + if (markers.length > 0) + { + $(".poiIndex").each(function(index) { + $(this).text(index + 1); + }) + } + else $("#POIs").hide("fast"); + UpdateInfo(); +} + +function OnKeyDown(event) +{ + if (event.ctrlKey == 1) + { + rectangle.setDraggable(true); + for(i = 0; i < markers.length; i++) markers[i].setDraggable(true); + } +} + +function OnKeyUp(event) +{ + if (event.ctrlKey == 0) + { + rectangle.setDraggable(false); + for(i = 0; i < markers.length; i++) markers[i].setDraggable(false); + } +} + +function OnMarkerDrag() +{ + var markerIndex = markers.indexOf(this); + var markerPosition = "Lat: " + this.position.lat() + ", Lng: " + this.position.lng(); + $(".poi .poiPosition").eq(markerIndex).text(markerPosition); + UpdateInfo(); +} + +function OnPOITitleDoubleClick() +{ + var newTitle = prompt("POI title:", $(this).text()); + + if (newTitle != null) + { + $(this).text(newTitle); + var index = $(".poiTitle").index($(this)); + markers[index].title = newTitle; + UpdateInfo(); + } +} + +function OnShowOSM() +{ + var center = map.getCenter(); + var win = window.open("http://www.openstreetmap.org/#map=" + map.getZoom() + "/" + center.lat() + "/" + center.lng(), '_blank'); + win.focus(); +} + +function OnToggleBestRect() +{ + if ($("#bestrect").prop("checked")) + { + bestResultRect.setVisible(true); + $("#btnSelectBestRect").show(); + } + else + { + bestResultRect.setVisible(false); + $("#btnSelectBestRect").hide(); + } +} + +function OnToggleGrid() +{ + if ($("#showgrid").prop("checked")) map.overlayMapTypes.insertAt(0, tilelayer); + else map.overlayMapTypes.removeAt(0); +} + +function Repeat(value, minValue, maxValue) +{ + var range = maxValue - minValue; + while (value < minValue || value > maxValue) + { + if (value < minValue) value += range; + else value -= range; + } + return value; +} + +function SelectBestRect() +{ + rectangle.setBounds(bestResultRect.getBounds()); +} + +function Search() +{ + geocoder.geocode({'address': $("#search-address").val()}, + function(results, status) { + if (status == google.maps.GeocoderStatus.OK) { + var loc = results[0].geometry.location; + map.panTo(loc); + } + else { + alert("Not found: " + status); + } + } + ); +} + +function SelectText(containerid) +{ + if (document.selection) + { + var range = document.body.createTextRange(); + range.moveToElementText(document.getElementById(containerid)); + range.select(); + } + else if (window.getSelection) + { + var range = document.createRange(); + range.selectNode(document.getElementById(containerid)); + window.getSelection().addRange(range); + } + new Clipboard('.btn', { + text: function(trigger) { + return $("#" + containerid).text(); + } + }); +} + +function ShowRectangle() +{ + var center = map.getCenter(); + var bounds = map.getBounds(); + var bne = bounds.getNorthEast(); + var bsw = bounds.getSouthWest(); + var x1 = Repeat(bsw.lng(), -180, 180); + var y1 = Repeat(bne.lat(), -90, 90); + var x2 = Repeat(bne.lng(), -180, 180); + var y2 = Repeat(bsw.lat(), -90, 90); + var cx = Repeat(center.lng(), -180, 180); + var cy = Repeat(center.lat(), -90, 90); + var ne = new google.maps.LatLng(cy + (y1 - cy) * 0.7, cx + (cx - x1) * 0.7); + var sw = new google.maps.LatLng(cy + (y2 - cy) * 0.7, cx + (cx - x2) * 0.7); + rectangle.setBounds(new google.maps.LatLngBounds(sw, ne)); + $("#map-coord").show("fast"); +} + +function TileToLatLng(tilePos, zoom) +{ + var mapSize = tileSize << zoom; + var lng = 360 * (Repeat(tilePos.x * tileSize, 0, mapSize - 1) / mapSize - 0.5); + var lat = 90 - 360 * Math.atan(Math.exp((Clip(tilePos.y * tileSize, 0, mapSize - 1) / mapSize - 0.5) * Math.PI * 2)) / Math.PI; + return new google.maps.LatLng(lat, lng); +} + +function UpdateBestRect() +{ + var c = bestResultRect; + var zoom = map.zoom + 3; + + var bounds = c.getBounds(); + + var ne = LatLngToTile(bounds.getNorthEast(), zoom); + var sw = LatLngToTile(bounds.getSouthWest(), zoom); + ne.x = Math.round(ne.x); + ne.y = Math.round(ne.y); + sw.x = Math.round(sw.x); + sw.y = Math.round(sw.y); + + ne = TileToLatLng(ne, zoom); + sw = TileToLatLng(sw, zoom); + + c.setBounds(new google.maps.LatLngBounds(sw, ne)); +} + +function UpdateInfo() +{ + var bounds = rectangle.getBounds(); + var ne = bounds.getNorthEast(); + var sw = bounds.getSouthWest(); + + $("#TLLat").text(ne.lat()); + $("#TLLon").text(sw.lng()); + $("#BRLat").text(sw.lat()); + $("#BRLon").text(ne.lng()); + + var D2R = Math.PI / 180.0; + var R = 6371; + + var scfY = Math.sin(ne.lat() * D2R); + var sctY = Math.sin(sw.lat() * D2R); + var ccfY = Math.cos(ne.lat() * D2R); + var cctY = Math.cos(sw.lat() * D2R); + var cX = Math.cos((sw.lng() - ne.lng()) * D2R); + var sizeX1 = Math.abs(R * Math.acos(scfY * scfY + ccfY * ccfY * cX)); + var sizeX2 = Math.abs(R * Math.acos(sctY * sctY + cctY * cctY * cX)); + sizeX = ((sizeX1 + sizeX2) / 2.0); + sizeY = (R * Math.acos(scfY * sctY + ccfY * cctY)); + + $("#AreaWidth").text(sizeX.toFixed(2)); + $("#AreaHeight").text(sizeY.toFixed(2)); + $("#AreaArea").text((sizeX * sizeY).toFixed(2)); + + bestResultRect.bounds = rectangle.getBounds(); + UpdateBestRect(); + + $("div").removeClass("wrong"); + var wrong = false; + if (provider == "srtm" || provider == "srtm30") + { + if (ne.lat() > 60 || ne.lat() < -60) { $("#topLatRow").addClass("wrong"); wrong = true;} + if (sw.lat() > 60 || sw.lat() < -60) { $("#bottomLatRow").addClass("wrong"); wrong = true;} + } + + if (!wrong) + { + var hasMarkers = markers.length > 0; + var str = ''; + if (hasMarkers) + { + str += ""; + + for (var i = 0; i < markers.length; i++) + { + var marker = markers[i]; + str += '' + marker.title + ""; + } + + str += ""; + str += ""; + } + + $("#coordNode").text(str); + } + else + { + $("#coordNode").text("Wrong latitude"); + } +} + +$(Initialize); \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Helper/RWT_Helper.jscript.meta b/Assets/Infinity Code/Real World Terrain/Helper/RWT_Helper.jscript.meta new file mode 100644 index 000000000..f84e8a00d --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Helper/RWT_Helper.jscript.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: a1fbf7f2b0d5a46468050568cc51b0f7 +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Helper/images.meta b/Assets/Infinity Code/Real World Terrain/Helper/images.meta new file mode 100644 index 000000000..74eb421f3 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Helper/images.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 4aa36c5916c665443a0a0c017f25ab2f +folderAsset: yes +timeCreated: 1470870903 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Helper/images/arrow-down-icon.png b/Assets/Infinity Code/Real World Terrain/Helper/images/arrow-down-icon.png new file mode 100644 index 000000000..66b81db44 Binary files /dev/null and b/Assets/Infinity Code/Real World Terrain/Helper/images/arrow-down-icon.png differ diff --git a/Assets/Infinity Code/Real World Terrain/Helper/images/arrow-down-icon.png.meta b/Assets/Infinity Code/Real World Terrain/Helper/images/arrow-down-icon.png.meta new file mode 100644 index 000000000..e56be9286 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Helper/images/arrow-down-icon.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: b0804b129edbcf44d934932852bacf19 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Helper/images/arrow-left-icon.png b/Assets/Infinity Code/Real World Terrain/Helper/images/arrow-left-icon.png new file mode 100644 index 000000000..53c7c8fe8 Binary files /dev/null and b/Assets/Infinity Code/Real World Terrain/Helper/images/arrow-left-icon.png differ diff --git a/Assets/Infinity Code/Real World Terrain/Helper/images/arrow-left-icon.png.meta b/Assets/Infinity Code/Real World Terrain/Helper/images/arrow-left-icon.png.meta new file mode 100644 index 000000000..525550dac --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Helper/images/arrow-left-icon.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: de00cc4bce942a441bac92ea5c4f00bc +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Helper/images/arrow-right-icon.png b/Assets/Infinity Code/Real World Terrain/Helper/images/arrow-right-icon.png new file mode 100644 index 000000000..cb5a838eb Binary files /dev/null and b/Assets/Infinity Code/Real World Terrain/Helper/images/arrow-right-icon.png differ diff --git a/Assets/Infinity Code/Real World Terrain/Helper/images/arrow-right-icon.png.meta b/Assets/Infinity Code/Real World Terrain/Helper/images/arrow-right-icon.png.meta new file mode 100644 index 000000000..b81da4039 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Helper/images/arrow-right-icon.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: a9103dbdddd939041bc235ddb6b36580 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Helper/images/arrow-up-icon.png b/Assets/Infinity Code/Real World Terrain/Helper/images/arrow-up-icon.png new file mode 100644 index 000000000..930ff8eba Binary files /dev/null and b/Assets/Infinity Code/Real World Terrain/Helper/images/arrow-up-icon.png differ diff --git a/Assets/Infinity Code/Real World Terrain/Helper/images/arrow-up-icon.png.meta b/Assets/Infinity Code/Real World Terrain/Helper/images/arrow-up-icon.png.meta new file mode 100644 index 000000000..8dc4232d3 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Helper/images/arrow-up-icon.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: 494f2e619fd9d7443a9c25b9366200fb +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Helper/images/grid.png b/Assets/Infinity Code/Real World Terrain/Helper/images/grid.png new file mode 100644 index 000000000..dd8d742e9 Binary files /dev/null and b/Assets/Infinity Code/Real World Terrain/Helper/images/grid.png differ diff --git a/Assets/Infinity Code/Real World Terrain/Helper/images/grid.png.meta b/Assets/Infinity Code/Real World Terrain/Helper/images/grid.png.meta new file mode 100644 index 000000000..3f809f73a --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Helper/images/grid.png.meta @@ -0,0 +1,56 @@ +fileFormatVersion: 2 +guid: 3935ae4abbd900841bbb3efa5a0b0fc0 +timeCreated: 1529499406 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 8 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Icons.meta b/Assets/Infinity Code/Real World Terrain/Icons.meta new file mode 100644 index 000000000..5c2f1d156 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Icons.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: e4f0022da752269489e7d8fb0752b502 +folderAsset: yes +timeCreated: 1470870903 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Icons/FinishIcon.png b/Assets/Infinity Code/Real World Terrain/Icons/FinishIcon.png new file mode 100644 index 000000000..1d4397995 Binary files /dev/null and b/Assets/Infinity Code/Real World Terrain/Icons/FinishIcon.png differ diff --git a/Assets/Infinity Code/Real World Terrain/Icons/FinishIcon.png.meta b/Assets/Infinity Code/Real World Terrain/Icons/FinishIcon.png.meta new file mode 100644 index 000000000..7ac1bdf16 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Icons/FinishIcon.png.meta @@ -0,0 +1,90 @@ +fileFormatVersion: 2 +guid: e7c4de509b1857b49a251a775bfa542b +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 32 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Standalone + maxTextureSize: 32 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Android + maxTextureSize: 32 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: WebGL + maxTextureSize: 32 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Icons/HelpIcon.png b/Assets/Infinity Code/Real World Terrain/Icons/HelpIcon.png new file mode 100644 index 000000000..de419c728 Binary files /dev/null and b/Assets/Infinity Code/Real World Terrain/Icons/HelpIcon.png differ diff --git a/Assets/Infinity Code/Real World Terrain/Icons/HelpIcon.png.meta b/Assets/Infinity Code/Real World Terrain/Icons/HelpIcon.png.meta new file mode 100644 index 000000000..ef8dea035 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Icons/HelpIcon.png.meta @@ -0,0 +1,90 @@ +fileFormatVersion: 2 +guid: ca89956b637d1e248a7e124bca48041e +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 32 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Standalone + maxTextureSize: 32 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Android + maxTextureSize: 32 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: WebGL + maxTextureSize: 32 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Icons/OpenIcon.png b/Assets/Infinity Code/Real World Terrain/Icons/OpenIcon.png new file mode 100644 index 000000000..8c278788e Binary files /dev/null and b/Assets/Infinity Code/Real World Terrain/Icons/OpenIcon.png differ diff --git a/Assets/Infinity Code/Real World Terrain/Icons/OpenIcon.png.meta b/Assets/Infinity Code/Real World Terrain/Icons/OpenIcon.png.meta new file mode 100644 index 000000000..0877efe76 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Icons/OpenIcon.png.meta @@ -0,0 +1,90 @@ +fileFormatVersion: 2 +guid: 90df6a8819c4f0040af8fc83cff186a9 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 32 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Standalone + maxTextureSize: 32 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Android + maxTextureSize: 32 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: WebGL + maxTextureSize: 32 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Icons/RWT-uContext.png b/Assets/Infinity Code/Real World Terrain/Icons/RWT-uContext.png new file mode 100644 index 000000000..3e5bcf4e3 Binary files /dev/null and b/Assets/Infinity Code/Real World Terrain/Icons/RWT-uContext.png differ diff --git a/Assets/Infinity Code/Real World Terrain/Icons/RWT-uContext.png.meta b/Assets/Infinity Code/Real World Terrain/Icons/RWT-uContext.png.meta new file mode 100644 index 000000000..490562ccf --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Icons/RWT-uContext.png.meta @@ -0,0 +1,92 @@ +fileFormatVersion: 2 +guid: dae6dd6340dd651459c6a5dc93d552f0 +timeCreated: 1564669258 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 32 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Standalone + maxTextureSize: 32 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Android + maxTextureSize: 32 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: WebGL + maxTextureSize: 32 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Icons/RWT.png b/Assets/Infinity Code/Real World Terrain/Icons/RWT.png new file mode 100644 index 000000000..6e9884e59 Binary files /dev/null and b/Assets/Infinity Code/Real World Terrain/Icons/RWT.png differ diff --git a/Assets/Infinity Code/Real World Terrain/Icons/RWT.png.meta b/Assets/Infinity Code/Real World Terrain/Icons/RWT.png.meta new file mode 100644 index 000000000..acf359040 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Icons/RWT.png.meta @@ -0,0 +1,90 @@ +fileFormatVersion: 2 +guid: 134034eedd55f28429b3bc9f38a60ab5 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 32 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Standalone + maxTextureSize: 32 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Android + maxTextureSize: 32 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: WebGL + maxTextureSize: 32 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Icons/RawIcon.png b/Assets/Infinity Code/Real World Terrain/Icons/RawIcon.png new file mode 100644 index 000000000..d8c609347 Binary files /dev/null and b/Assets/Infinity Code/Real World Terrain/Icons/RawIcon.png differ diff --git a/Assets/Infinity Code/Real World Terrain/Icons/RawIcon.png.meta b/Assets/Infinity Code/Real World Terrain/Icons/RawIcon.png.meta new file mode 100644 index 000000000..cdfa50fef --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Icons/RawIcon.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: 3d35ac5cba271f249941cc75137cfade +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 32 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Icons/RefreshIcon.png b/Assets/Infinity Code/Real World Terrain/Icons/RefreshIcon.png new file mode 100644 index 000000000..418b8cf2d Binary files /dev/null and b/Assets/Infinity Code/Real World Terrain/Icons/RefreshIcon.png differ diff --git a/Assets/Infinity Code/Real World Terrain/Icons/RefreshIcon.png.meta b/Assets/Infinity Code/Real World Terrain/Icons/RefreshIcon.png.meta new file mode 100644 index 000000000..2562c50ce --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Icons/RefreshIcon.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: b936b5526d3ea03438adae58bc8bfe22 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 32 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Icons/ResizeIcon.png b/Assets/Infinity Code/Real World Terrain/Icons/ResizeIcon.png new file mode 100644 index 000000000..42ea38ab3 Binary files /dev/null and b/Assets/Infinity Code/Real World Terrain/Icons/ResizeIcon.png differ diff --git a/Assets/Infinity Code/Real World Terrain/Icons/ResizeIcon.png.meta b/Assets/Infinity Code/Real World Terrain/Icons/ResizeIcon.png.meta new file mode 100644 index 000000000..b99b0e023 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Icons/ResizeIcon.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: 001c1b75f6a34a54a94d6adc0891da6d +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 32 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Icons/SaveIcon.png b/Assets/Infinity Code/Real World Terrain/Icons/SaveIcon.png new file mode 100644 index 000000000..030a28e70 Binary files /dev/null and b/Assets/Infinity Code/Real World Terrain/Icons/SaveIcon.png differ diff --git a/Assets/Infinity Code/Real World Terrain/Icons/SaveIcon.png.meta b/Assets/Infinity Code/Real World Terrain/Icons/SaveIcon.png.meta new file mode 100644 index 000000000..25caf5555 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Icons/SaveIcon.png.meta @@ -0,0 +1,90 @@ +fileFormatVersion: 2 +guid: a7c5cf89b0ea3494fb0de801da7ed229 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 32 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Standalone + maxTextureSize: 32 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Android + maxTextureSize: 32 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: WebGL + maxTextureSize: 32 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Icons/TrashIcon.png b/Assets/Infinity Code/Real World Terrain/Icons/TrashIcon.png new file mode 100644 index 000000000..f3dc43bf0 Binary files /dev/null and b/Assets/Infinity Code/Real World Terrain/Icons/TrashIcon.png differ diff --git a/Assets/Infinity Code/Real World Terrain/Icons/TrashIcon.png.meta b/Assets/Infinity Code/Real World Terrain/Icons/TrashIcon.png.meta new file mode 100644 index 000000000..58cfc28e9 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Icons/TrashIcon.png.meta @@ -0,0 +1,90 @@ +fileFormatVersion: 2 +guid: 87220f57e8229d54096cee2d3be95137 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 32 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Standalone + maxTextureSize: 32 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Android + maxTextureSize: 32 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: WebGL + maxTextureSize: 32 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Icons/UtilsIcon.png b/Assets/Infinity Code/Real World Terrain/Icons/UtilsIcon.png new file mode 100644 index 000000000..04fecbdd4 Binary files /dev/null and b/Assets/Infinity Code/Real World Terrain/Icons/UtilsIcon.png differ diff --git a/Assets/Infinity Code/Real World Terrain/Icons/UtilsIcon.png.meta b/Assets/Infinity Code/Real World Terrain/Icons/UtilsIcon.png.meta new file mode 100644 index 000000000..403785d30 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Icons/UtilsIcon.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: 54718ff155710f747b641b68199c6964 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 32 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Icons/WarningIcon.png b/Assets/Infinity Code/Real World Terrain/Icons/WarningIcon.png new file mode 100644 index 000000000..df16f8a95 Binary files /dev/null and b/Assets/Infinity Code/Real World Terrain/Icons/WarningIcon.png differ diff --git a/Assets/Infinity Code/Real World Terrain/Icons/WarningIcon.png.meta b/Assets/Infinity Code/Real World Terrain/Icons/WarningIcon.png.meta new file mode 100644 index 000000000..02ca68614 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Icons/WarningIcon.png.meta @@ -0,0 +1,90 @@ +fileFormatVersion: 2 +guid: 6c99427791f954d42a62e008324dd607 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 32 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Standalone + maxTextureSize: 32 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Android + maxTextureSize: 32 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: WebGL + maxTextureSize: 32 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Icons/WizardIcon.png b/Assets/Infinity Code/Real World Terrain/Icons/WizardIcon.png new file mode 100644 index 000000000..61c2753c4 Binary files /dev/null and b/Assets/Infinity Code/Real World Terrain/Icons/WizardIcon.png differ diff --git a/Assets/Infinity Code/Real World Terrain/Icons/WizardIcon.png.meta b/Assets/Infinity Code/Real World Terrain/Icons/WizardIcon.png.meta new file mode 100644 index 000000000..be43a856e --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Icons/WizardIcon.png.meta @@ -0,0 +1,90 @@ +fileFormatVersion: 2 +guid: 0e80487784e797248b225dfdf435b1b4 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 2 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 32 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Standalone + maxTextureSize: 32 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: Android + maxTextureSize: 32 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + - buildTarget: WebGL + maxTextureSize: 32 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Materials.meta b/Assets/Infinity Code/Real World Terrain/Materials.meta new file mode 100644 index 000000000..15c16902c --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Materials.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 3245736206dd655489a0052a1e7aaffc +folderAsset: yes +timeCreated: 1470870903 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Materials/Default-House-Roof-Material.mat b/Assets/Infinity Code/Real World Terrain/Materials/Default-House-Roof-Material.mat new file mode 100644 index 000000000..e490d6b25 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Materials/Default-House-Roof-Material.mat @@ -0,0 +1,35 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Default-House-Roof-Material + m_Shader: {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: [] + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Assets/Infinity Code/Real World Terrain/Materials/Default-House-Roof-Material.mat.meta b/Assets/Infinity Code/Real World Terrain/Materials/Default-House-Roof-Material.mat.meta new file mode 100644 index 000000000..8c4cdf0fa --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Materials/Default-House-Roof-Material.mat.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: fe56b0c90ce2b3e46b135b0412006891 +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Materials/Default-House-Wall-Material.mat b/Assets/Infinity Code/Real World Terrain/Materials/Default-House-Wall-Material.mat new file mode 100644 index 000000000..c462b2fdf --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Materials/Default-House-Wall-Material.mat @@ -0,0 +1,47 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Default-House-Wall-Material + m_Shader: {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _DecalTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _Illum: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _EmissionLM: 0 + - _Shininess: 0.078125 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _Emission: {r: 0, g: 0, b: 0, a: 0} + - _SpecColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Assets/Infinity Code/Real World Terrain/Materials/Default-House-Wall-Material.mat.meta b/Assets/Infinity Code/Real World Terrain/Materials/Default-House-Wall-Material.mat.meta new file mode 100644 index 000000000..cc2f57d8b --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Materials/Default-House-Wall-Material.mat.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: f0185c5d71c62d742a9d4006bdaff727 +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Materials/Default-River-Material.mat b/Assets/Infinity Code/Real World Terrain/Materials/Default-River-Material.mat new file mode 100644 index 000000000..8ea607497 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Materials/Default-River-Material.mat @@ -0,0 +1,53 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Default-River-Material + m_Shader: {fileID: 4800000, guid: 66a7f69d0bc939443b23d648156d9cf5, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _DistortionMap: + m_Texture: {fileID: 2800000, guid: d89a74a2c1daff243b2e1c70e8327783, type: 3} + m_Scale: {x: 10, y: 10} + m_Offset: {x: 0.3, y: 0.3} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _Texture1: + m_Texture: {fileID: 2800000, guid: 8823c23874613074eb9e2d6367531359, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _Texture2: + m_Texture: {fileID: 2800000, guid: 8823c23874613074eb9e2d6367531359, type: 3} + m_Scale: {x: 2, y: 2} + m_Offset: {x: 0.5, y: 0.3} + m_Ints: [] + m_Floats: + - _DistortionPower: 0.006567164 + - _DistortionSpeed: 0.31 + - _Gloss: 1.4626865 + - _MainTexSpeed: 0.2 + - _Specular: 5.1791043 + - _Texture2Speed: -0.2 + m_Colors: + - _Color: {r: 0.20392157, g: 0.18431373, b: 0.21568628, a: 0.69411767} + m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Assets/Infinity Code/Real World Terrain/Materials/Default-River-Material.mat.meta b/Assets/Infinity Code/Real World Terrain/Materials/Default-River-Material.mat.meta new file mode 100644 index 000000000..20be086ea --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Materials/Default-River-Material.mat.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: e0f183e6ecf07f5409d8d7de7a57c931 +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Materials/Default-Wall-Front-Material.mat b/Assets/Infinity Code/Real World Terrain/Materials/Default-Wall-Front-Material.mat new file mode 100644 index 000000000..3d5a9b81b --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Materials/Default-Wall-Front-Material.mat @@ -0,0 +1,35 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Default-Wall-Front-Material + m_Shader: {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: [] + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Assets/Infinity Code/Real World Terrain/Materials/Default-Wall-Front-Material.mat.meta b/Assets/Infinity Code/Real World Terrain/Materials/Default-Wall-Front-Material.mat.meta new file mode 100644 index 000000000..2208af41d --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Materials/Default-Wall-Front-Material.mat.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: b49c4b19ad2c6dd4c90c6331ca44a053 +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Materials/Default-Wall-Top-Material.mat b/Assets/Infinity Code/Real World Terrain/Materials/Default-Wall-Top-Material.mat new file mode 100644 index 000000000..fe104421d --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Materials/Default-Wall-Top-Material.mat @@ -0,0 +1,35 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Default-Wall-Top-Material + m_Shader: {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: [] + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Assets/Infinity Code/Real World Terrain/Materials/Default-Wall-Top-Material.mat.meta b/Assets/Infinity Code/Real World Terrain/Materials/Default-Wall-Top-Material.mat.meta new file mode 100644 index 000000000..def0975ce --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Materials/Default-Wall-Top-Material.mat.meta @@ -0,0 +1,6 @@ +fileFormatVersion: 2 +guid: f58a888000e904540866ba416ea88aa3 +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Packages.meta b/Assets/Infinity Code/Real World Terrain/Packages.meta new file mode 100644 index 000000000..8d3f69170 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Packages.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: b709a987617dcfd4faca1038651ca42f +folderAsset: yes +timeCreated: 1523353453 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Packages/RWT-Playmaker-Integration-Kit.unitypackage b/Assets/Infinity Code/Real World Terrain/Packages/RWT-Playmaker-Integration-Kit.unitypackage new file mode 100644 index 000000000..2a5acde4d Binary files /dev/null and b/Assets/Infinity Code/Real World Terrain/Packages/RWT-Playmaker-Integration-Kit.unitypackage differ diff --git a/Assets/Infinity Code/Real World Terrain/Packages/RWT-Playmaker-Integration-Kit.unitypackage.meta b/Assets/Infinity Code/Real World Terrain/Packages/RWT-Playmaker-Integration-Kit.unitypackage.meta new file mode 100644 index 000000000..13b4d32c5 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Packages/RWT-Playmaker-Integration-Kit.unitypackage.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8e6ea2053a3a06d489dab9947c71642b +timeCreated: 1523353453 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts.meta b/Assets/Infinity Code/Real World Terrain/Scripts.meta new file mode 100644 index 000000000..830825464 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 374fcc2ce7e46144f9ba33c1bfd05fa8 +folderAsset: yes +timeCreated: 1470870903 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Containers.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Containers.meta new file mode 100644 index 000000000..1bbd851cb --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Containers.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 6434ef3aa9e9ea44fb9e27f0695b84f8 +folderAsset: yes +timeCreated: 1470870903 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainBuildR2Material.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainBuildR2Material.cs new file mode 100644 index 000000000..1074e7e5d --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainBuildR2Material.cs @@ -0,0 +1,20 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +#if BUILDR2 +using System.Collections.Generic; +using BuildR2; +#endif + +namespace InfinityCode.RealWorldTerrain +{ + public class RealWorldTerrainBuildR2Material + { +#if BUILDR2 + public Facade applyFacade; + public Surface roofSurface; + public Roof.Types roofType = Roof.Types.Flat; + public List facades; +#endif + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainBuildR2Material.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainBuildR2Material.cs.meta new file mode 100644 index 000000000..cd7422fac --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainBuildR2Material.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3c28a4517ca6c5c469273a4fffa52a46 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainBuildR3Material.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainBuildR3Material.cs new file mode 100644 index 000000000..d33d16416 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainBuildR3Material.cs @@ -0,0 +1,18 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +#if BUILDR3 +using BuildRCities; +#endif + +namespace InfinityCode.RealWorldTerrain +{ + public class RealWorldTerrainBuildR3Material + { +#if BUILDR3 + public FacadeAsset wallFacade; + public DynamicTextureAsset roofTexture; + public Roof.Types roofType; +#endif + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainBuildR3Material.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainBuildR3Material.cs.meta new file mode 100644 index 000000000..50a1b854d --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainBuildR3Material.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 434cc2378df29a74299c7f3a3dd96dd7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainBuildRBuilding.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainBuildRBuilding.cs new file mode 100644 index 000000000..b3ad03b2d --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainBuildRBuilding.cs @@ -0,0 +1,16 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain +{ + /// + /// This class contains basic information about BuildR building. + /// + [AddComponentMenu("")] + public class RealWorldTerrainBuildRBuilding : MonoBehaviour + { + + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainBuildRBuilding.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainBuildRBuilding.cs.meta new file mode 100644 index 000000000..bf08bf720 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainBuildRBuilding.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: f2c1d10b35fec2c4a824c7d1cc6dd498 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainBuilding.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainBuilding.cs new file mode 100644 index 000000000..de8be0996 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainBuilding.cs @@ -0,0 +1,456 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.Collections.Generic; +using System.Linq; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain +{ + /// + /// This class contains basic information about the building. + /// + [AddComponentMenu("")] + [RequireComponent(typeof(MeshFilter), typeof(MeshRenderer))] + public class RealWorldTerrainBuilding : MonoBehaviour + { + /// + /// The height of the walls. + /// + public float baseHeight; + + /// + /// Array of base vertices. + /// + public Vector3[] baseVertices; + + /// + /// Reference to RealWorldTerrainContainer instance. + /// + public RealWorldTerrainContainer container; + + /// + /// ID of the building + /// + public string id; + + /// + /// Indicates that roof normals is inverted. + /// + public bool invertRoof; + + /// + /// Indicates that walls normals is inverted. + /// + public bool invertWall; + + /// + /// Height of roof. + /// + public float roofHeight; + + /// + /// Type of roof. + /// + public RealWorldTerrainRoofType roofType; + + /// + /// Whether to generate the wall? + /// + public bool generateWall; + + /// + /// Material of the roof. + /// + public Material roofMaterial; + + /// + /// The scale of the roof texture's UV coordinates. + /// + public Vector2 roofUVScale = Vector2.one; + + /// + /// The starting height for the building. + /// + public float startHeight = 0; + + /// + /// Size of a tile texture in meters. + /// + public Vector2 tileSize = new Vector2(30, 30); + + /// + /// Offset of the UV coordinates. + /// + public Vector2 uvOffset = Vector2.zero; + + /// + /// Material of the wall. + /// + public Material wallMaterial; + + private MeshFilter _meshFilter; + + /// + /// Reference to MeshFilter of the building. + /// + public MeshFilter meshFilter + { + get + { + if (_meshFilter == null) _meshFilter = GetComponent(); + return _meshFilter; + } + } + + /// + /// Reference to MeshFilter of roof. + /// + [Obsolete("Use meshFilter instead.")] + public MeshFilter roof + { + get { return meshFilter; } + } + + /// + /// Reference to MeshFilter of wall. + /// + [Obsolete("Use meshFilter instead.")] + public MeshFilter wall + { + get { return meshFilter; } + } + + private void CreateRoofDome(List vertices, List triangles) + { + Vector3 roofTopPoint = Vector3.zero; + roofTopPoint = vertices.Aggregate(roofTopPoint, (current, point) => current + point) / vertices.Count; + roofTopPoint.y = (baseHeight + roofHeight) * container.scale.y; + int vIndex = vertices.Count; + + for (int i = 0; i < vertices.Count; i++) + { + int p1 = i; + int p2 = i + 1; + if (p2 >= vertices.Count) p2 -= vertices.Count; + + triangles.AddRange(new[] { p1, p2, vIndex }); + } + + vertices.Add(roofTopPoint); + } + + private void CreateRoofMesh(List vertices, out List uv, out List triangles) + { + List roofPoints = CreateRoofVertices(vertices); + triangles = CreateRoofTriangles(vertices, roofPoints); + + if (invertRoof) triangles.Reverse(); + + float minX = float.MaxValue; + float minZ = float.MaxValue; + float maxX = float.MinValue; + float maxZ = float.MinValue; + + float maxDistance = 0; + int maxDistanceIndex = -1; + int nextIndex = -1; + + for (int i = 0; i < vertices.Count; i++) + { + Vector3 v = vertices[i]; + if (v.x < minX) minX = v.x; + if (v.z < minZ) minZ = v.z; + if (v.x > maxX) maxX = v.x; + if (v.z > maxZ) maxZ = v.z; + + nextIndex = i + 1; + if (nextIndex >= vertices.Count) nextIndex = 0; + + float distance = (v - vertices[nextIndex]).sqrMagnitude; + if (distance > maxDistance) + { + maxDistance = distance; + maxDistanceIndex = i; + } + } + + nextIndex = maxDistanceIndex + 1; + if (nextIndex >= vertices.Count) nextIndex = 0; + + Vector3 v1 = vertices[maxDistanceIndex]; + Vector3 v2 = vertices[nextIndex]; + float angle = 360 - RealWorldTerrainMath.Angle2D(v1, v2); + + float centerX = (minX + maxX) / 2; + float centerZ = (minZ + maxZ) / 2; + + Matrix4x4 matrix = Matrix4x4.TRS(new Vector3(centerX, 0, centerZ), Quaternion.Euler(0, -angle, 0), Vector3.one); + Bounds bounds = new Bounds(); + foreach (Vector3 v in vertices) + { + Vector3 v1t = matrix.MultiplyPoint(v); + bounds.Encapsulate(v1t); + } + + Vector2 roofScale = roofUVScale; + if (roofScale.x == 0) roofScale.x = 0.001f; + if (roofScale.y == 0) roofScale.y = 0.001f; + + uv = new List(); + foreach (Vector3 v in vertices) + { + Vector3 v1t = matrix.MultiplyPoint(v); + Vector2 uv1 = new Vector2(v1t.x / roofUVScale.x, v1t.z / roofUVScale.y); + uv.Add(uv1); + } + } + + private List CreateRoofTriangles(List vertices, List roofPoints) + { + List triangles = new List(); + if (roofType == RealWorldTerrainRoofType.flat) + { + int[] trs = RealWorldTerrainTriangulator.Triangulate(roofPoints); + if (trs != null) triangles.AddRange(trs); + } + else if (roofType == RealWorldTerrainRoofType.dome) + { + CreateRoofDome(vertices, triangles); + } + return triangles; + } + + private List CreateRoofVertices(List vertices) + { + Vector3[] targetVertices = new Vector3[baseVertices.Length]; + Array.Copy(baseVertices, targetVertices, baseVertices.Length); + + if (container.prefs.buildingBottomMode == RealWorldTerrainBuildingBottomMode.followTerrain) + { + Vector3 tp = transform.position; + RealWorldTerrainItem terrainItem = container.GetItemByWorldPosition(baseVertices[0] + tp); + if (terrainItem != null) + { + TerrainData t = terrainItem.terrainData; + + Vector3 offset = tp - terrainItem.transform.position; + + for (int i = 0; i < targetVertices.Length; i++) + { + Vector3 v = targetVertices[i]; + Vector3 localPos = offset + v; + float y = t.GetInterpolatedHeight(localPos.x / t.size.x, localPos.z / t.size.z); + v.y = terrainItem.transform.position.y + y - tp.y; + targetVertices[i] = v; + } + } + } + + List roofPoints = new List(); + float topPoint = targetVertices.Max(v => v.y) + baseHeight * container.scale.y; + foreach (Vector3 p in targetVertices) + { + Vector3 tv = new Vector3(p.x, topPoint, p.z); + Vector2 rp = new Vector2(p.x, p.z); + + vertices.Add(tv); + roofPoints.Add(rp); + } + + return roofPoints; + } + + private void CreateWallMesh(List vertices, List uv, out List triangles) + { + List wv = new List(); + List wuv = new List(); + bool reversed = CreateWallVertices(wv, wuv); + if (invertWall) reversed = !reversed; + triangles = CreateWallTriangles(wv, vertices.Count, reversed); + vertices.AddRange(wv); + uv.AddRange(wuv); + } + + private List CreateWallTriangles(List vertices, int offset, bool reversed) + { + List triangles = new List(); + for (int i = 0; i < vertices.Count / 4; i++) + { + int p1 = i * 4; + int p2 = i * 4 + 2; + int p3 = i * 4 + 3; + int p4 = i * 4 + 1; + + if (p2 >= vertices.Count) p2 -= vertices.Count; + if (p3 >= vertices.Count) p3 -= vertices.Count; + + p1 += offset; + p2 += offset; + p3 += offset; + p4 += offset; + + if (reversed) + { + triangles.AddRange(new[] { p1, p4, p3, p1, p3, p2 }); + } + else + { + triangles.AddRange(new[] { p2, p3, p1, p3, p4, p1 }); + } + } + return triangles; + } + + private bool CreateWallVertices(List vertices, List uv) + { + Vector3[] targetVertices = new Vector3[baseVertices.Length]; + Array.Copy(baseVertices, targetVertices, baseVertices.Length); + + if (container.prefs.buildingBottomMode == RealWorldTerrainBuildingBottomMode.followTerrain) + { + Vector3 tp = transform.position; + RealWorldTerrainItem terrainItem = container.GetItemByWorldPosition(baseVertices[0] + tp); + if (terrainItem != null) + { + TerrainData t = terrainItem.terrainData; + + Vector3 offset = tp - terrainItem.transform.position; + + for (int i = 0; i < targetVertices.Length; i++) + { + Vector3 v = targetVertices[i]; + Vector3 localPos = offset + v; + float y = t.GetInterpolatedHeight(localPos.x / t.size.x, localPos.z / t.size.z); + v.y = terrainItem.transform.position.y + y - tp.y; + targetVertices[i] = v; + } + } + } + + float topPoint = targetVertices.Max(v => v.y) + baseHeight * container.scale.y; + + float startY = startHeight * container.scale.y; + float offsetY = startY < 0 ? startY : 0; + + for (int i = 0; i < targetVertices.Length; i++) + { + Vector3 p1 = targetVertices[i]; + Vector3 p2 = i < targetVertices.Length - 1 ? targetVertices[i + 1] : targetVertices[0]; + if (p1.y < startY) p1.y = startY; + if (p2.y < startY) p2.y = startY; + p1.y += offsetY; + p2.y += offsetY; + vertices.Add(p1); + vertices.Add(new Vector3(p1.x, topPoint, p1.z)); + vertices.Add(p2); + vertices.Add(new Vector3(p2.x, topPoint, p2.z)); + } + + float totalDistance = 0; + float bottomPoint = float.MaxValue; + + for (int i = 0; i < vertices.Count / 4; i++) + { + int i1 = Mathf.RoundToInt(Mathf.Repeat(i * 4, vertices.Count)); + int i2 = Mathf.RoundToInt(Mathf.Repeat((i + 1) * 4, vertices.Count)); + Vector3 v1 = vertices[i1]; + Vector3 v2 = vertices[i2]; + v1.y = v2.y = 0; + totalDistance += (v1 - v2).magnitude; + if (bottomPoint > targetVertices[i].y) bottomPoint = targetVertices[i].y; + } + + Vector3 lv1 = vertices[vertices.Count - 4]; + Vector3 lv2 = vertices[0]; + lv1.y = lv2.y = 0; + totalDistance += (lv1 - lv2).magnitude; + + float currentDistance = 0; + float nextU = 0; + float uMul = totalDistance / tileSize.x; + float vMax = topPoint / tileSize.y; + float vMinMul = container.scale.y * tileSize.y; + + for (int i = 0; i < vertices.Count / 4; i++) + { + int i1 = Mathf.RoundToInt(Mathf.Repeat(i * 4, vertices.Count)); + int i2 = Mathf.RoundToInt(Mathf.Repeat((i + 1) * 4, vertices.Count)); + float curU = nextU; + uv.Add(new Vector2(curU * uMul + uvOffset.x, (vertices[i * 4].y - bottomPoint) / vMinMul + uvOffset.y)); + uv.Add(new Vector2(curU * uMul + uvOffset.x, vMax + uvOffset.y)); + + Vector3 v1 = vertices[i1]; + Vector3 v2 = vertices[i2]; + v1.y = v2.y = 0; + currentDistance += (v1 - v2).magnitude; + nextU = currentDistance / totalDistance; + + uv.Add(new Vector2(nextU * uMul + uvOffset.x, (vertices[i * 4 + 2].y - bottomPoint) / vMinMul + uvOffset.y)); + uv.Add(new Vector2(nextU * uMul + uvOffset.x, vMax + uvOffset.y)); + } + + int southIndex = -1; + float southZ = float.MaxValue; + + for (int i = 0; i < targetVertices.Length; i++) + { + if (targetVertices[i].z < southZ) + { + southZ = targetVertices[i].z; + southIndex = i; + } + } + + int prevIndex = southIndex - 1; + if (prevIndex < 0) prevIndex = targetVertices.Length - 1; + + int nextIndex = southIndex + 1; + if (nextIndex >= targetVertices.Length) nextIndex = 0; + + float angle1 = RealWorldTerrainMath.Angle2D(targetVertices[southIndex], targetVertices[nextIndex]); + float angle2 = RealWorldTerrainMath.Angle2D(targetVertices[southIndex], targetVertices[prevIndex]); + + return angle1 < angle2; + } + + /// + /// Generates the building mesh. + /// + public void Generate() + { + Mesh mesh; + if (meshFilter.sharedMesh != null) mesh = meshFilter.sharedMesh; + else + { + mesh = new Mesh(); + mesh.name = "Building " + id; + mesh.subMeshCount = 2; + meshFilter.sharedMesh = mesh; + } + + List vertices = new List(); + List uv; + List roofTriangles; + List wallTriangles = null; + + CreateRoofMesh(vertices, out uv, out roofTriangles); + if (generateWall) CreateWallMesh(vertices, uv, out wallTriangles); + + mesh.SetVertices(vertices); + mesh.SetUVs(0, uv); + mesh.SetTriangles(roofTriangles, 0); + if (generateWall) mesh.SetTriangles(wallTriangles, 1); + + mesh.RecalculateNormals(); + mesh.RecalculateBounds(); + + GetComponent().materials = new[] + { + roofMaterial, + wallMaterial, + }; + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainBuilding.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainBuilding.cs.meta new file mode 100644 index 000000000..52e53c9df --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainBuilding.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 3c16844aceaeec04999e14ee80b7b8e2 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainContainer.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainContainer.cs new file mode 100644 index 000000000..50954f302 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainContainer.cs @@ -0,0 +1,169 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.Linq; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain +{ + /// + /// This class is added to the resulting container.\n + /// It contains all information about terrains. + /// + [Serializable] + [AddComponentMenu("")] + public class RealWorldTerrainContainer : RealWorldTerrainMonoBase + { + /// + /// Billboard start. + /// + public float billboardStart = 50; + + /// + /// Detail density. + /// + public float detailDensity = 1; + + /// + /// Detail distance. + /// + public float detailDistance = 80; + + /// + /// The folder in the project where located terrains. + /// + public string folder; + + /// + /// Count of terrains. + /// + public RealWorldTerrainVector2i terrainCount; + + /// + /// Title + /// + public string title; + + /// + /// Tree distance. + /// + public float treeDistance = 2000; + + /// + /// The array of elements that belong to the current process of generation. + /// + public RealWorldTerrainItem[] terrains; + + /// + /// Gets all instances of RealWorldTerrainContainer. + /// + /// Instances of RealWorldTerrainContainer + public static RealWorldTerrainContainer[] GetInstances() + { + return RealWorldTerrainUtils.FindObjectsOfType(); + } + + public override RealWorldTerrainItem GetItemByWorldPosition(Vector3 worldPosition) + { + for (int i = 0; i < terrains.Length; i++) + { + RealWorldTerrainItem item = terrains[i]; + if (item == null) continue; + Bounds b = new Bounds(item.bounds.center, item.bounds.size); + if (b.min.x <= worldPosition.x && b.min.z <= worldPosition.z && b.max.x >= worldPosition.x && b.max.z >= worldPosition.z) + { + return item; + } + } + return null; + } + + public override bool GetWorldPosition(double lng, double lat, out Vector3 worldPosition) + { + worldPosition = new Vector3(); + + if (!Contains(lng, lat)) + { + Debug.Log("Wrong coordinates"); + return false; + } + + if (terrains == null || terrains.Length == 0) return false; + + double mx, my; + RealWorldTerrainGeo.LatLongToMercat(lng, lat, out mx, out my); + + double lX = RealWorldTerrainMath.Clamp((mx - leftMercator) / (rightMercator - leftMercator), 0, 1); + double lZ = RealWorldTerrainMath.Clamp(1 - (my - topMercator) / (bottomMercator - topMercator), 0, 1); + + Bounds cb = new Bounds(bounds.center, bounds.size); + + double x = cb.size.x * lX + cb.min.x; + double z = cb.size.z * lZ + cb.min.z; + + if (prefs.resultType == RealWorldTerrainResultType.terrain) + { + Terrain terrain = null; + for (int i = 0; i < terrains.Length; i++) + { + RealWorldTerrainItem item = terrains[i]; + Bounds b = new Bounds(item.bounds.center, item.bounds.size); + if (b.min.x <= x && b.min.z <= z && b.max.x >= x && b.max.z >= z) + { + terrain = item.terrain; + break; + } + } + + if (terrain == null) return false; + + double ix = (x - terrain.gameObject.transform.position.x) / terrain.terrainData.size.x; + double iz = (z - terrain.gameObject.transform.position.z) / terrain.terrainData.size.z; + double y = terrain.terrainData.GetInterpolatedHeight((float)ix, (float)iz) + terrain.gameObject.transform.position.y; + + worldPosition.x = (float)x; + worldPosition.y = (float)y; + worldPosition.z = (float)z; + } + else if (prefs.resultType == RealWorldTerrainResultType.mesh) + { + bool success = false; + for (int i = 0; i < terrains.Length; i++) + { + RealWorldTerrainItem item = terrains[i]; + Bounds b = new Bounds(item.bounds.center, item.bounds.size); + if (b.min.x <= x && b.min.z <= z && b.max.x >= x && b.max.z >= z) + { + float y = 0; + RaycastHit[] hits = Physics.RaycastAll(new Vector3((float)x, item.bounds.max.y + 10, (float)z), Vector3.down, float.MaxValue); + foreach (RaycastHit hit in hits) + { + if (hit.transform.gameObject.GetComponentInParent() != null) + { + y = hit.point.y; + break; + } + } + + worldPosition.x = (float)x; + worldPosition.y = y; + worldPosition.z = (float)z; + success = true; + break; + } + } + + if (!success) return false; + } + + + return true; + } + + public override bool GetWorldPosition(Vector2 coordinates, out Vector3 worldPosition) + { + return GetWorldPosition(coordinates.x, coordinates.y, out worldPosition); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainContainer.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainContainer.cs.meta new file mode 100644 index 000000000..284c4ddbe --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainContainer.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 35746522d0c34a74e98f963412f0defe +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainDocumentation.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainDocumentation.cs new file mode 100644 index 000000000..0be2b0099 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainDocumentation.cs @@ -0,0 +1,13 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain +{ + //[CreateAssetMenu(fileName = "Documentation.asset", menuName = "Create Documentation")] + public class RealWorldTerrainDocumentation : ScriptableObject + { + + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainDocumentation.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainDocumentation.cs.meta new file mode 100644 index 000000000..4c2fc07d9 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainDocumentation.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 09989ac6b1998df44bfdcd195082f28d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainDynamicBuilding.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainDynamicBuilding.cs new file mode 100644 index 000000000..3b44fadea --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainDynamicBuilding.cs @@ -0,0 +1,16 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain +{ + [ExecuteInEditMode] + public class RealWorldTerrainDynamicBuilding : RealWorldTerrainBuilding + { + private void Awake() + { + if (baseVertices != null) Generate(); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainDynamicBuilding.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainDynamicBuilding.cs.meta new file mode 100644 index 000000000..d29180284 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainDynamicBuilding.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: dab7fa385164831489cb84458fd83811 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainGeocodingObject.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainGeocodingObject.cs new file mode 100644 index 000000000..4658a6f4b --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainGeocodingObject.cs @@ -0,0 +1,14 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using InfinityCode.RealWorldTerrain.Webservices.Results; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain +{ + [AddComponentMenu("")] + public class RealWorldTerrainGeocodingObject:MonoBehaviour + { + public RealWorldTerrainGoogleGeocodingResult info; + } +} diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainGeocodingObject.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainGeocodingObject.cs.meta new file mode 100644 index 000000000..c7befe671 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainGeocodingObject.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9430c68e8cd249549a66febd545c986f +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainItem.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainItem.cs new file mode 100644 index 000000000..aac527503 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainItem.cs @@ -0,0 +1,227 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using UnityEngine; + +#if UNITY_EDITOR +using UnityEditor; +#endif + +namespace InfinityCode.RealWorldTerrain +{ + /// + /// This class is added to each created terrains.\n + /// It contains all information about the terrain. + /// + [Serializable] + [AddComponentMenu("")] + public class RealWorldTerrainItem : RealWorldTerrainMonoBase + { + /// + /// Reference to RealWorldTerrainContainer instance. + /// + public RealWorldTerrainContainer container; + + /// + /// X index. + /// + public int x; + + /// + /// Y index. + /// + public int y; + + /// + /// Reversed Y index (ry = countY - y - 1). + /// + public int ry; + + public bool needUpdate = false; + + /// + /// Reference to MeshFilter, if result is mesh. + /// + public MeshFilter meshFilter; + + /// + /// Reference to Terrain, if result is terrain. + /// + public Terrain terrain; + + /// + /// Refetence to texture + /// + public Texture2D texture + { + get + { + if (prefs.resultType == RealWorldTerrainResultType.terrain) + { +#if !RTP + + if (terrainData == null || terrainData.terrainLayers.Length == 0) return null; + TerrainLayer sp = terrainData.terrainLayers[0]; + return sp != null? sp.diffuseTexture: null; +#else + ReliefTerrain reliefTerrain = GetComponent(); + if (reliefTerrain == null) + { + + if (terrainData == null || terrainData.terrainLayers.Length == 0) return null; + TerrainLayer sp = terrainData.terrainLayers[0]; + return sp.diffuseTexture; + } + return reliefTerrain.ColorGlobal; +#endif + } + MeshRenderer meshRenderer = GetComponent(); + if (meshRenderer == null) + { + meshRenderer = GetComponentInChildren(); + if (meshRenderer == null) return null; + } + return meshRenderer.sharedMaterial != null? meshRenderer.sharedMaterial.mainTexture as Texture2D: null; + } + set + { + if (prefs.resultType == RealWorldTerrainResultType.terrain) + { +#if !RTP + if (terrainData == null) return; + + TerrainLayer[] tls = terrainData.terrainLayers; + if (tls.Length == 0) return; + if (tls[0] == null) + { + tls[0] = new TerrainLayer + { + tileSize = new Vector2(terrainData.size.x, terrainData.size.z) + }; +#if UNITY_EDITOR + string path = container.folder + terrain.name + ".terrainlayer"; + AssetDatabase.CreateAsset(tls[0], path); + AssetDatabase.Refresh(); + tls[0] = AssetDatabase.LoadAssetAtPath(path); +#endif + } + tls[0].diffuseTexture = value; + terrainData.terrainLayers = tls; +#else + ReliefTerrain reliefTerrain = GetComponent(); + if (reliefTerrain == null) return; + reliefTerrain.ColorGlobal = value; +#endif + } + else + { + MeshRenderer meshRenderer = GetComponent(); + if (meshRenderer != null) meshRenderer.sharedMaterial.mainTexture = value; + else + { + foreach (MeshRenderer mr in GetComponentsInChildren()) + { + mr.sharedMaterial.mainTexture = value; + } + } + } + } + } + + /// + /// Gets TerrainData. + /// + public TerrainData terrainData + { + get + { + return terrain != null? terrain.terrainData: null; + } + } + + public float GetHeightmapValueByMercator(double mx, double my) + { + float rx = (float) ((mx - leftMercator) / (rightMercator - leftMercator)); + float ry = (float) ((my - topMercator) / (bottomMercator - topMercator)); + return terrainData.GetInterpolatedHeight(rx, 1 - ry); + } + + public override RealWorldTerrainItem GetItemByWorldPosition(Vector3 worldPosition) + { + return container.GetItemByWorldPosition(worldPosition); + } + + public override bool GetWorldPosition(double lng, double lat, out Vector3 worldPosition) + { + worldPosition = new Vector3(); + + if (!Contains(lng, lat)) + { + Debug.Log("Wrong coordinates"); + return false; + } + + Bounds b = new Bounds(bounds.center, bounds.size); + + double mx, my; + RealWorldTerrainGeo.LatLongToMercat(lng, lat, out mx, out my); + + double lX = RealWorldTerrainMath.Clamp((mx - leftMercator) / width, 0, 1); + double lZ = RealWorldTerrainMath.Clamp(1 - (my - topMercator) / height, 0, 1); + + double px = b.size.x * lX + b.min.x; + double pz = b.size.z * lZ + b.min.z; + + if (prefs.resultType == RealWorldTerrainResultType.terrain) + { + Terrain tr = terrain; + if (tr == null) return false; + + TerrainData tData = terrainData; + Vector3 tSize = tData.size; + Vector3 position = transform.position; + if (position.x > px || position.z > pz || position.x + tSize.x < px || position.z + tSize.z < pz) + { + return false; + } + + double ix = (px - terrain.gameObject.transform.position.x) / tData.size.x; + double iz = (pz - terrain.gameObject.transform.position.z) / tData.size.z; + double py = tData.GetInterpolatedHeight((float)ix, (float)iz) + position.y; + + worldPosition.x = (float)px; + worldPosition.y = (float)py; + worldPosition.z = (float)pz; + } + else + { + if (b.min.x <= px && b.min.z <= pz && b.max.x >= px && b.max.z >= pz) + { + float y = 0; + RaycastHit[] hits = Physics.RaycastAll(new Vector3((float)px, bounds.max.y + 10, (float)pz), Vector3.down, float.MaxValue); + foreach (RaycastHit hit in hits) + { + if (hit.transform.gameObject.GetComponentInParent() != null) + { + y = hit.point.y; + break; + } + } + + worldPosition.x = (float)px; + worldPosition.y = y; + worldPosition.z = (float)pz; + } + else return false; + } + + return true; + } + + public override bool GetWorldPosition(Vector2 coordinates, out Vector3 worldPosition) + { + return GetWorldPosition(coordinates.x, coordinates.y, out worldPosition); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainItem.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainItem.cs.meta new file mode 100644 index 000000000..84c640b09 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainItem.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: fc9fccbe3f9587140a1e1601f0e73d70 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainMonoBase.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainMonoBase.cs new file mode 100644 index 000000000..59f2d8d32 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainMonoBase.cs @@ -0,0 +1,474 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.Collections.Generic; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain +{ + /// + /// This class contains all the information about the terrain and Real World Terrain settings. + /// + public abstract class RealWorldTerrainMonoBase : MonoBehaviour + { + /// + /// Specifies whether to generate grass on the terrain. + /// + public bool generateGrass; + + /// + /// Specifies whether rivers have been generated on the terrain. + /// + public bool generatedRivers; + + /// + /// Specifies whether to generate roads on the terrain. + /// + public bool generateRoads; + + /// + /// Specifies whether to create textures + /// + public bool generateTextures; + + /// + /// Specifies whether to generate trees on the terrain. + /// + public bool generateTrees; + + /// + /// Specifies whether to create buildings + /// + public bool generatedBuildings; + + /// + /// Specifies whether to create grass + /// + public bool generatedGrass; + + /// + /// Specifies whether to create textures + /// + public bool generatedTextures; + + /// + /// Specifies whether to create trees + /// + public bool generatedTrees; + + /// + /// Maximal value of elevation + /// + public double maxElevation; + + /// + /// Minimal value of elevation + /// + public double minElevation; + + /// + /// Reference to the preferences + /// + public RealWorldTerrainPrefsBase prefs; + + /// + /// Scale of terrains + /// + public Vector3 scale; + + /// + /// Size of terrains in world units + /// + public Vector3 size; + + /// + /// Top latitude + /// + public double topLatitude; + + /// + /// Top latitude in Mercator projection (0-1) + /// + public double topMercator; + + /// + /// Left longitude + /// + public double leftLongitude; + + /// + /// Left longitude in Mercator projection (0-1) + /// + public double leftMercator; + + /// + /// Bottom latitude + /// + public double bottomLatitude; + + /// + /// Bottom latitude in Mercator projection (0-1) + /// + public double bottomMercator; + + /// + /// Right longitude + /// + public double rightLongitude; + + /// + /// Right longitude in Mercator projection (0-1) + /// + public double rightMercator; + + /// + /// Width. Right longitude - left longitude + /// + public double width; + + /// + /// Height. Top latitude - bottom latitude + /// + public double height; + +#if BUILDR2 + public List buildR2Facades; +#endif + + private Dictionary customFields; + + /// + /// The width of the terrain in Mercator projection units. + /// + public double mercatorWidth; + + /// + /// The height of the terrain in Mercator projection units. + /// + public double mercatorHeight; + + /// + /// Gets or sets the value associated with the specified key in the custom fields. + /// + /// The key of the value to get or set. + /// The value associated with the specified key. + public object this[string key] + { + get + { + if (customFields == null) return null; + object value; + if (!customFields.TryGetValue(key, out value)) return null; + return value; + } + set + { + if (customFields == null) customFields = new Dictionary(); + if (value != null) customFields[key] = value; + else customFields.Remove(key); + } + } + + /// + /// Gets the bounds of the terrain. + /// + public Bounds bounds + { + get + { + return new Bounds(transform.position + size / 2, size); + } + } + + /// + /// Clear custom fields. + /// + public void ClearCustomFields() + { + customFields = null; + } + + /// + /// Checks whether the coordinate in terrain area. + /// + /// Coordinate + /// True - coordinate in area, False - otherwise. + public bool Contains(Vector2 coordinates) + { + return Contains(coordinates.x, coordinates.y); + } + + /// + /// Checks whether the coordinate in terrain area. + /// + /// Longitude + /// Latitude + /// True - coordinate in area, False - otherwise. + public bool Contains(double lng, double lat) + { + return leftLongitude <= lng && rightLongitude >= lng && topLatitude >= lat && bottomLatitude <= lat; + } + + /// + /// Get altitude by location (coordinates). + /// + /// Longitude + /// Latitude + /// Altitude (meters) + public double GetAltitudeByCoordinates(double lng, double lat) + { + if (!Contains(lng, lat)) return 0; + + Vector3 worldPosition; + GetWorldPosition(lng, lat, out worldPosition); + + Bounds b = new Bounds(bounds.center, bounds.size); + Vector3 offset = worldPosition - b.min; + + if (prefs.resultType == RealWorldTerrainResultType.terrain) + { + RealWorldTerrainItem currentItem = GetItemByWorldPosition(worldPosition); + return offset.y / currentItem.terrainData.size.y * (currentItem.maxElevation - currentItem.minElevation); + } + + return worldPosition.y / b.size.y * (maxElevation - minElevation) + minElevation; + } + + /// + /// Get altitude by location (coordinates). + /// + /// Longitude + /// Latitude + /// Altitude (meters) + [Obsolete("Use GetAltitudeByCoordinates")] + public double GetAltitudeByLocation(double lng, double lat) + { + return GetAltitudeByCoordinates(lng, lat); + } + + /// + /// Get altitude by Unity World Position. + /// + /// Unity World Position + /// Altitude (meters) + public double GetAltitudeByWorldPosition(Vector3 worldPosition) + { + Bounds b = new Bounds(bounds.center, bounds.size); + Vector3 offset = worldPosition - b.min; + + if (offset.x < 0 || offset.z < 0) return 0; + if (offset.x > b.size.x || offset.z > b.size.z) return 0; + + if (prefs.resultType == RealWorldTerrainResultType.terrain) + { + RealWorldTerrainItem currentItem = GetItemByWorldPosition(worldPosition); + return offset.y / currentItem.terrainData.size.y * (currentItem.maxElevation - currentItem.minElevation); + } + + return worldPosition.y / b.size.y * (maxElevation - minElevation) + minElevation; + } + + /// + /// Get coordinates under mouse cursor + /// + /// Geographical coordinates + /// Camera + /// True - success, False - otherwise + public bool GetCoordinatesUnderCursor(out Vector2 coordinates, Camera cam = null) + { + return GetCoordinatesByScreenPosition(Input.mousePosition, out coordinates, cam); + } + + /// + /// Converts the screen coordinates into geographic coordinates. + /// + /// Position in screen space + /// Geographic coordinates + /// Camera + /// True - screen coordinates on terrains, False - otherwise + public bool GetCoordinatesByScreenPosition(Vector2 screenPosition, out Vector2 coordinates, Camera cam = null) + { + if (cam == null) cam = Camera.main; + coordinates = Vector2.zero; + + RaycastHit[] hits = Physics.RaycastAll(cam.ScreenPointToRay(screenPosition)); + for (int i = 0; i < hits.Length; i++) + { + RaycastHit hit = hits[i]; + if (hit.collider is TerrainCollider || hit.collider is MeshCollider) + { + RealWorldTerrainItem item = hit.transform.GetComponent(); + if (item != null) return GetCoordinatesByWorldPosition(hit.point, out coordinates); + } + } + + return false; + } + + /// + /// Converts the screen coordinates into geographic coordinates. + /// + /// Position in screen space + /// Longitude + /// Latitude + /// Altitude + /// Camera + /// True - screen coordinates on terrains, False - otherwise + public bool GetCoordinatesByScreenPosition(Vector2 screenPosition, out double longitude, out double latitude, out double altitude, Camera cam = null) + { + if (cam == null) cam = Camera.main; + longitude = latitude = altitude = 0; + + RaycastHit[] hits = Physics.RaycastAll(cam.ScreenPointToRay(screenPosition)); + for (int i = 0; i < hits.Length; i++) + { + RaycastHit hit = hits[i]; + if (hit.collider is TerrainCollider || hit.collider is MeshCollider) + { + RealWorldTerrainItem item = hit.transform.GetComponent(); + if (item != null) return GetCoordinatesByWorldPosition(hit.point, out longitude, out latitude, out altitude); + } + } + + return false; + } + + /// + /// Converts the world coordinates into geographic coordinates. + /// + /// Position in Unity World Space + /// Geographic coordinates + /// True - world coordinates on terrains, False - otherwise + public bool GetCoordinatesByWorldPosition(Vector3 worldPosition, out Vector2 coordinates) + { + coordinates = new Vector2(); + double lng, lat; + bool result = GetCoordinatesByWorldPosition(worldPosition, out lng, out lat); + coordinates.x = (float)lng; + coordinates.y = (float)lat; + return result; + } + + /// + /// Converts the world coordinates into geographic coordinates. + /// + /// Position in Unity World Space + /// Longitude + /// Latitude + /// True - world coordinates on terrains, False - otherwise + public bool GetCoordinatesByWorldPosition(Vector3 worldPosition, out double longitude, out double latitude) + { + Bounds b = new Bounds(bounds.center, bounds.size); + + double wrx = (worldPosition.x - b.min.x) / b.size.x; + double wrz = (b.max.z - worldPosition.z) / b.size.z; + + double px = (rightMercator - leftMercator) * wrx + leftMercator; + double pz = (bottomMercator - topMercator) * wrz + topMercator; + + RealWorldTerrainGeo.MercatToLatLong(px, pz, out longitude, out latitude); + return b.Contains(worldPosition); + } + + /// + /// Converts the world coordinates into geographic coordinates. + /// + /// Position in Unity World Space + /// Longitude + /// Latitude + /// Altitude + /// True - world coordinates on terrains, False - otherwise + public bool GetCoordinatesByWorldPosition(Vector3 worldPosition, out double longitude, out double latitude, out double altitude) + { + altitude = 0; + + Bounds b = new Bounds(bounds.center, bounds.size); + + double wrx = (worldPosition.x - b.min.x) / b.size.x; + double wrz = (b.max.z - worldPosition.z) / b.size.z; + + double px1 = (rightMercator - leftMercator) * wrx + leftMercator; + double pz = (bottomMercator - topMercator) * wrz + topMercator; + + RealWorldTerrainGeo.MercatToLatLong(px1, pz, out longitude, out latitude); + + if (b.min.x > worldPosition.x || b.max.x < worldPosition.x || b.min.z > worldPosition.z || b.max.z < worldPosition.z) + { + return false; + } + + Vector3 offset = worldPosition - b.min; + + if (prefs.resultType == RealWorldTerrainResultType.terrain) + { + RealWorldTerrainItem currentItem = GetItemByWorldPosition(worldPosition); + altitude = (offset.y + currentItem.transform.position.y) / currentItem.terrainData.size.y * (currentItem.maxElevation - currentItem.minElevation) + currentItem.minElevation; + } + else + { + altitude = worldPosition.y / b.size.y * (maxElevation - minElevation) + minElevation; + } + + return true; + } + + /// + /// Get RealWorldTerrainItem by Unity World Position. + /// + /// Position in Unity World Space + /// Instance of RealWorldTerrainItem + public abstract RealWorldTerrainItem GetItemByWorldPosition(Vector3 worldPosition); + + /// + /// Get Unity World Position by geographic coordinates. + /// + /// Longitude + /// Latitde + /// Position in Unity World Space + /// True - success, False - otherwise + public abstract bool GetWorldPosition(double lng, double lat, out Vector3 worldPosition); + + /// + /// Get Unity World Position by geographic coordinates. + /// + /// Longitude + /// Latitude + /// Altitude + /// Position in Unity World Space + /// True - success, False - otherwise + public bool GetWorldPosition(double lng, double lat, double altitude, out Vector3 worldPosition) + { + bool result = GetWorldPosition(lng, lat, out worldPosition); + if (result) worldPosition.y = (float)(bounds.size.y * ((altitude - minElevation) / (maxElevation - minElevation))); + return result; + } + + /// + /// Get Unity World Position by geographic coordinates. + /// + /// Geographic coordinates + /// Position in Unity World Space + /// + public abstract bool GetWorldPosition(Vector2 coordinates, out Vector3 worldPosition); + + public void SetCoordinates(double x1, double y1, double x2, double y2, double tlx, double tly, double brx, double bry) + { + leftMercator = x1; + topMercator = y1; + rightMercator = x2; + bottomMercator = y2; + + leftLongitude = tlx; + rightLongitude = brx; + topLatitude = tly; + bottomLatitude = bry; + + width = rightLongitude - leftLongitude; + height = bottomLatitude - topLatitude; + + mercatorWidth = rightMercator - leftMercator; + mercatorHeight = bottomMercator - topMercator; + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainMonoBase.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainMonoBase.cs.meta new file mode 100644 index 000000000..b43d1a5f5 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainMonoBase.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 6036b77012379cd4f817092bdac723e1 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainPOIItem.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainPOIItem.cs new file mode 100644 index 000000000..5589034fc --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainPOIItem.cs @@ -0,0 +1,45 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain +{ + /// + /// Class of POI instance. + /// + public class RealWorldTerrainPOIItem : MonoBehaviour + { + /// + /// The title of the POI. + /// + public string title; + + /// + /// Longitude. + /// + public double x; + + /// + /// Latitude. + /// + public double y; + + /// + /// Altitude + /// + public float altitude; + + /// + /// Sets POI prefs. + /// + /// Reference to POI. + public void SetPrefs(RealWorldTerrainPOI poi) + { + title = poi.title; + x = poi.x; + y = poi.y; + altitude = poi.altitude; + } + } +} diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainPOIItem.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainPOIItem.cs.meta new file mode 100644 index 000000000..fe0dd1cb4 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainPOIItem.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 374f4970e8d22fd42a12bb3c64287f73 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainRoadArchitectNode.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainRoadArchitectNode.cs new file mode 100644 index 000000000..047e42ffa --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainRoadArchitectNode.cs @@ -0,0 +1,13 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain +{ + [AddComponentMenu("")] + public class RealWorldTerrainRoadArchitectNode : MonoBehaviour + { + + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainRoadArchitectNode.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainRoadArchitectNode.cs.meta new file mode 100644 index 000000000..ac5cd4489 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Containers/RealWorldTerrainRoadArchitectNode.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0dffe5af2a2b3ff44b95e808bdbab653 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor.meta new file mode 100644 index 000000000..558ac9290 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 995efd56534c47d41bdd01906a9d4133 +folderAsset: yes +timeCreated: 1470870903 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors.meta new file mode 100644 index 000000000..25c9d069a --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 16b8214688ce9d5488f903ab4e1aee57 +folderAsset: yes +timeCreated: 1470870903 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainBuildingEditor.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainBuildingEditor.cs new file mode 100644 index 000000000..b8eae367d --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainBuildingEditor.cs @@ -0,0 +1,71 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Editors +{ + [CustomEditor(typeof (RealWorldTerrainBuilding), true)] + public class RealWorldTerrainBuildingEditor : Editor + { + private RealWorldTerrainBuilding building; + + private void InvertRoofNormals() + { + building.invertRoof = !building.invertRoof; + building.Generate(); + } + + private void InvertWallNormals() + { + building.invertWall = !building.invertWall; + building.Generate(); + } + + public void OnEnable() + { + building = (RealWorldTerrainBuilding)target; + } + + public override void OnInspectorGUI() + { + if (GUILayout.Button("Select Real World Terrain Container")) + { + Selection.activeGameObject = building.container.gameObject; + } + + EditorGUI.BeginChangeCheck(); + + building.baseHeight = EditorGUILayout.FloatField("Base Height (meters)", building.baseHeight); + building.startHeight = EditorGUILayout.FloatField("Start Height (meters)", building.startHeight); + + building.wallMaterial = EditorGUILayout.ObjectField("Wall Material", building.wallMaterial, typeof(Material), false) as Material; + building.roofMaterial = EditorGUILayout.ObjectField("Roof Material", building.roofMaterial, typeof(Material), false) as Material; + + building.tileSize = EditorGUILayout.Vector2Field("Tile Size (meters)", building.tileSize); + building.uvOffset = EditorGUILayout.Vector2Field("UV Offset", building.uvOffset); + building.roofUVScale = EditorGUILayout.Vector2Field("Roof UV Scale", building.roofUVScale); + + building.roofType = (RealWorldTerrainRoofType)EditorGUILayout.EnumPopup("Roof type", building.roofType); + if (building.roofType != RealWorldTerrainRoofType.flat) building.roofHeight = EditorGUILayout.FloatField("Roof Height (meters)", building.roofHeight); + + if (EditorGUI.EndChangeCheck()) UpdateBuilding(); + + if (GUILayout.Button("Invert wall normals")) InvertWallNormals(); + if (GUILayout.Button("Invert roof normals")) InvertRoofNormals(); + if (GUILayout.Button("Update")) UpdateBuilding(); + + if (GUILayout.Button("Export mesh to OBJ")) + { + string path = EditorUtility.SaveFilePanel("Save building to OBJ", "", building.name + ".obj", "obj"); + if (path.Length != 0) RealWorldTerrainUtils.ExportMesh(path, building.meshFilter); + } + } + + private void UpdateBuilding() + { + building.Generate(); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainBuildingEditor.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainBuildingEditor.cs.meta new file mode 100644 index 000000000..0c965d1e3 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainBuildingEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: e88bde12a30c3804bb3a50a9bde9cf62 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainContainerEditor.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainContainerEditor.cs new file mode 100644 index 000000000..220d544bc --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainContainerEditor.cs @@ -0,0 +1,883 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using InfinityCode.RealWorldTerrain.Tools; +using InfinityCode.RealWorldTerrain.Windows; +using UnityEditor; +using UnityEngine; +using UnityEngine.Rendering; + +namespace InfinityCode.RealWorldTerrain.Editors +{ + [CustomEditor(typeof(RealWorldTerrainContainer))] + public class RealWorldTerrainContainerEditor : Editor + { + private RealWorldTerrainContainer container; + + [MenuItem("Window/Infinity Code/Real World Terrain/Tools/Combine All Buildings")] + public static void CombineAllBuildings() + { + RealWorldTerrainContainer[] containers = RealWorldTerrainUtils.FindObjectsOfType(); + foreach (RealWorldTerrainContainer container in containers) + { + RealWorldTerrainBuilding[] buildings = container.GetComponentsInChildren(); + if (buildings.Length > 0) CombineBuildings(container, buildings); + } + } + + private static void CombineBuildings(RealWorldTerrainContainer container, RealWorldTerrainBuilding[] buildings) + { + if (container == null) + { + EditorUtility.DisplayDialog("Error", "Container cannot be null!", "OK"); + return; + } + + if (buildings == null || buildings.Length == 0) + { + EditorUtility.DisplayDialog("Error", "No buildings to combine!", "OK"); + return; + } + + if (!EditorUtility.DisplayDialog("Warning", "You will no longer be able to modify buildings and work with meta data. Continue?", "Combine", "Cancel")) return; + + Transform parentTransform = container.transform.Find("Combined Buildings"); + GameObject parent; + + if (parentTransform == null) + { + parent = new GameObject("Combined Buildings"); + parent.transform.SetParent(container.transform, true); + } + else parent = parentTransform.gameObject; + + if (buildings.Length == 0) return; + + List newVertices = new List(); + List newUV = new List(); + List newNormals = new List(); + List newIndices = new List(); + List subMeshes = new List(); + List materials = new List(); + + Material prevMaterial = null; + SubMeshDescriptor subMesh = new SubMeshDescriptor(0, 0); + + int buildingIndex = 1; + + foreach (RealWorldTerrainBuilding building in buildings.OrderBy(b => b.roofMaterial != null? b.roofMaterial.GetInstanceID(): int.MinValue)) + { + Vector3 pos = building.transform.position; + Mesh mesh = building.meshFilter.sharedMesh; + + int countWallVertices = building.generateWall? building.baseVertices.Length * 4: 0; + int countVertices = mesh.vertexCount - countWallVertices; + Vector3[] vertices = mesh.vertices.Take(countVertices).ToArray(); + + if (newVertices.Count + countVertices > 65000) + { + subMeshes.Add(subMesh); + FinalizeCombinedMesh(container, parent, ref buildingIndex, newVertices, newUV, newNormals, newIndices, subMeshes, materials); + subMesh = new SubMeshDescriptor(0, 0); + } + + if (building.roofMaterial != prevMaterial) + { + if (materials.Count > 63) + { + subMeshes.Add(subMesh); + FinalizeCombinedMesh(container, parent, ref buildingIndex, newVertices, newUV, newNormals, newIndices, subMeshes, materials); + materials.Clear(); + } + + if (newVertices.Count > 0) subMeshes.Add(subMesh); + subMesh = new SubMeshDescriptor(newIndices.Count, 0); + + materials.Add(building.roofMaterial); + prevMaterial = building.roofMaterial; + } + + newUV.AddRange(mesh.uv.Take(countVertices)); + newNormals.AddRange(mesh.normals.Take(countVertices)); + int[] indices = mesh.GetIndices(0); + for (int i = 0; i < indices.Length; i++) indices[i] += newVertices.Count; + newIndices.AddRange(indices); + for (int i = 0; i < vertices.Length; i++) vertices[i] += pos; + newVertices.AddRange(vertices); + subMesh.indexCount += indices.Length; + } + + foreach (RealWorldTerrainBuilding building in buildings.Where(b => b.generateWall).OrderBy(b => b.wallMaterial != null ? b.wallMaterial.GetInstanceID() : int.MinValue)) + { + Mesh mesh = building.meshFilter.sharedMesh; + if (mesh.subMeshCount == 1) continue; + + Vector3 pos = building.transform.position; + + int countWallVertices = building.baseVertices.Length * 4; + int countRoofVertices = mesh.vertexCount - countWallVertices; + Vector3[] vertices = mesh.vertices.Skip(countRoofVertices).ToArray(); + + if (newVertices.Count + countWallVertices > 65000) + { + subMeshes.Add(subMesh); + FinalizeCombinedMesh(container, parent, ref buildingIndex, newVertices, newUV, newNormals, newIndices, subMeshes, materials); + subMesh = new SubMeshDescriptor(0, 0); + } + + if (building.wallMaterial != prevMaterial) + { + if (materials.Count > 63) + { + subMeshes.Add(subMesh); + FinalizeCombinedMesh(container, parent, ref buildingIndex, newVertices, newUV, newNormals, newIndices, subMeshes, materials); + materials.Clear(); + } + + if (newVertices.Count > 0) subMeshes.Add(subMesh); + subMesh = new SubMeshDescriptor(newIndices.Count, 0); + + materials.Add(building.wallMaterial); + prevMaterial = building.wallMaterial; + } + + newUV.AddRange(mesh.uv.Skip(countRoofVertices)); + newNormals.AddRange(mesh.normals.Skip(countRoofVertices)); + int[] indices = mesh.GetIndices(1); + for (int i = 0; i < indices.Length; i++) indices[i] += newVertices.Count - countRoofVertices; + newIndices.AddRange(indices); + for (int i = 0; i < vertices.Length; i++) vertices[i] += pos; + newVertices.AddRange(vertices); + subMesh.indexCount += indices.Length; + } + + subMeshes.Add(subMesh); + FinalizeCombinedMesh(container, parent, ref buildingIndex, newVertices, newUV, newNormals, newIndices, subMeshes, materials); + + if (EditorUtility.DisplayDialog("Remove the existing buildings?", "Remove existing buildings from the scene? Meshes are still present in the project.", "Remove", "Do not remove")) + { + for (int i = 0; i < buildings.Length; i++) DestroyImmediate(buildings[i].gameObject); + } + } + + [MenuItem("Window/Infinity Code/Real World Terrain/Tools/Combine Selected Buildings")] + public static void CombineSelectedBuildings() + { + GameObject[] gameObjects = Selection.gameObjects; + + Dictionary> dict = new Dictionary>(); + + for (int i = 0; i < gameObjects.Length; i++) + { + RealWorldTerrainBuilding building = gameObjects[i].GetComponent(); + if (building == null) continue; + + List buildings; + + if (!dict.TryGetValue(building.container, out buildings)) dict.Add(building.container, new List{building}); + else buildings.Add(building); + } + + foreach (KeyValuePair> pair in dict) + { + CombineBuildings(pair.Key, pair.Value.ToArray()); + } + } + + private void CreatePrefab() + { + try + { + Transform housesTransform = container.transform.Find("Buildings/Houses"); + if (housesTransform != null) + { + string buildingsFolder = container.folder + "/Buildings"; + + if (!Directory.Exists(buildingsFolder)) Directory.CreateDirectory(buildingsFolder); + + int houseCount = housesTransform.childCount; + for (int i = 0; i < houseCount; i++) + { + if (EditorUtility.DisplayCancelableProgressBar("Create Prefab", "Save house " + (i + 1) + " from " + houseCount, + i / (float)houseCount)) + { + EditorUtility.ClearProgressBar(); + return; + } + + Transform houseTransform = housesTransform.GetChild(i); + Transform roofTransform = houseTransform.Find("Roof"); + Transform wallTransform = houseTransform.Find("Wall"); + + string houseID = houseTransform.name; + string housePath = buildingsFolder + "/" + houseID; + + if (!Directory.Exists(housePath)) Directory.CreateDirectory(housePath); + + if (roofTransform != null) SaveBuildingPart(roofTransform, housePath, "Roof"); + if (wallTransform != null) SaveBuildingPart(wallTransform, housePath, "Wall"); + } + } + + EditorUtility.DisplayCancelableProgressBar("Create Prefab", "Save Prefab", 1); + + string containerName = container.name; + GameObject prefab = PrefabUtility.SaveAsPrefabAsset(container.gameObject, container.folder + "/" + containerName + ".prefab"); + DestroyImmediate(container.gameObject); + container = ((GameObject)PrefabUtility.InstantiatePrefab(prefab)).GetComponent(); + container.name = containerName; + + EditorGUIUtility.PingObject(prefab); + } + catch (Exception exception) + { + Debug.LogError(exception.Message + "\n" + exception.StackTrace); + } + + EditorUtility.ClearProgressBar(); + } + + private void DrawBaseDist() + { + if (container == null || container.terrains == null || container.terrains.Length == 0) return; + Terrain terrain = container.terrains[0].terrain; + if (terrain == null) return; + + float dist = terrain.basemapDistance; + + EditorGUI.BeginChangeCheck(); + + dist = EditorGUILayout.Slider("Base Map Distance", dist, 0, 20000); + + if (EditorGUI.EndChangeCheck()) + { + foreach (RealWorldTerrainItem item in container.terrains) + { + item.terrain.basemapDistance = dist; + } + } + } + + private void DrawItemScale(float sizeX, float sizeY) + { + float minX = float.MaxValue; + float minZ = float.MaxValue; + float maxX = float.MinValue; + float maxZ = float.MinValue; + + if (container.terrains == null) return; + + foreach (RealWorldTerrainItem item in container.terrains) + { + if (item == null) continue; + Bounds bounds = item.bounds; + Vector3 p = bounds.min; + Vector3 p2 = bounds.max; + if (p.x < minX) minX = p.x; + if (p.z < minZ) minZ = p.z; + if (p2.x > maxX) maxX = p2.x; + if (p2.z > maxZ) maxZ = p2.z; + } + + GUILayout.Label("Scale X: " + sizeX * 1000 / (maxX - minX) + " meter/unit"); + GUILayout.Label("Scale Z: " + sizeY * 1000 / (maxZ - minZ) + " meter/unit"); + + EditorGUILayout.Space(); + } + + private void DrawItemSize(out float sizeX, out float sizeY) + { + sizeX = sizeY = 0; + if (container == null || container.prefs == null) return; + + double tx = container.leftLongitude; + double ty = container.topLatitude; + double bx = container.rightLongitude; + double by = container.bottomLatitude; + double rx = bx - tx; + + if (container.prefs.sizeType == 0 || container.prefs.sizeType == 2) + { + double scfY = Math.Sin(ty * Mathf.Deg2Rad); + double sctY = Math.Sin(by * Mathf.Deg2Rad); + double ccfY = Math.Cos(ty * Mathf.Deg2Rad); + double cctY = Math.Cos(by * Mathf.Deg2Rad); + double cX = Math.Cos(rx * Mathf.Deg2Rad); + double sizeX1 = Math.Abs(RealWorldTerrainGeo.EARTH_RADIUS * Math.Acos(scfY * scfY + ccfY * ccfY * cX)); + double sizeX2 = Math.Abs(RealWorldTerrainGeo.EARTH_RADIUS * Math.Acos(sctY * sctY + cctY * cctY * cX)); + sizeX = (float)((sizeX1 + sizeX2) / 2.0); + sizeY = (float)(RealWorldTerrainGeo.EARTH_RADIUS * Math.Acos(scfY * sctY + ccfY * cctY)); + } + else if (container.prefs.sizeType == 1) + { + sizeX = (float)Math.Abs(rx / 360 * RealWorldTerrainGeo.EQUATOR_LENGTH); + sizeY = (float)Math.Abs((by - ty) / 360 * RealWorldTerrainGeo.EQUATOR_LENGTH); + } + + GUILayout.Label("Size X: " + sizeX + " km"); + GUILayout.Label("Size Z: " + sizeY + " km"); + EditorGUILayout.Space(); + } + + private void DrawMinAndMaxElevations() + { + if (container == null || container.terrains == null || container.terrains.Length == 0) return; + EditorGUILayout.LabelField($"Min Elevation: {container.minElevation}"); + EditorGUILayout.LabelField($"Max Elevation: {container.maxElevation}"); + EditorGUILayout.Space(); + } + + private void DrawToolbar() + { + GUIStyle style = new GUIStyle(EditorStyles.toolbar) + { + fixedHeight = 40, + padding = new RectOffset(5, 5, 4, 4) + }; + EditorGUILayout.BeginHorizontal(style); + + GUIStyle buttonStyle = new GUIStyle {margin = new RectOffset(5, 5, 0, 0)}; + + if (GUILayout.Button(new GUIContent(RealWorldTerrainResources.refreshIcon, "Real World Terrain"), buttonStyle, GUILayout.ExpandWidth(false))) ShowRegenerateMenu(); + if (container.generateTextures && container.prefs.textureResultType == RealWorldTerrainTextureResultType.regularTexture) + { + if (GUILayout.Button(new GUIContent(RealWorldTerrainResources.wizardIcon, "Postprocess"), buttonStyle, GUILayout.ExpandWidth(false))) ShowPostprocessMenu(); + } + + if (GUILayout.Button(new GUIContent(RealWorldTerrainResources.rawIcon, "Export/Import RAW"), buttonStyle, GUILayout.ExpandWidth(false))) ShowRawMenu(); + if (GUILayout.Button(new GUIContent(RealWorldTerrainResources.utilsIcon, "Utils"), buttonStyle, GUILayout.ExpandWidth(false))) ShowUtilsMenu(); + if (GUILayout.Button(new GUIContent(RealWorldTerrainResources.finishIcon, "Finish"), buttonStyle, GUILayout.ExpandWidth(false))) ShowFinishMenu(); + + EditorGUILayout.Space(); + EditorGUILayout.EndHorizontal(); + } + + private void DrawTreeAndGrassProps() + { + if (container == null || container.terrains == null) return; + + bool needRedrawScene = false; + + GUILayout.Label("Tree and Grass Distances:"); + + EditorGUI.BeginChangeCheck(); + container.detailDistance = EditorGUILayout.Slider("Detail Distance", container.detailDistance, 0, 250); + if (EditorGUI.EndChangeCheck()) + { + foreach (RealWorldTerrainItem item in container.terrains) + { + if (item == null) continue; + Terrain terrain = item.terrain; + if (terrain != null) terrain.detailObjectDistance = container.detailDistance; + } + needRedrawScene = true; + } + + EditorGUI.BeginChangeCheck(); + container.detailDensity = EditorGUILayout.Slider("Detail Density", container.detailDensity, 0, 1); + if (EditorGUI.EndChangeCheck()) + { + foreach (RealWorldTerrainItem item in container.terrains) + { + if (item == null) continue; + Terrain terrain = item.terrain; + if (terrain != null) terrain.detailObjectDensity = container.detailDensity; + } + needRedrawScene = true; + } + + EditorGUI.BeginChangeCheck(); + container.treeDistance = EditorGUILayout.Slider("Tree Distance", container.treeDistance, 0, 2000); + if (EditorGUI.EndChangeCheck()) + { + foreach (RealWorldTerrainItem item in container.terrains) + { + if (item == null) continue; + Terrain terrain = item.terrain; + if (terrain != null) terrain.treeDistance = container.treeDistance; + } + needRedrawScene = true; + } + + EditorGUI.BeginChangeCheck(); + container.billboardStart = EditorGUILayout.Slider("Billboard Start", container.billboardStart, 5, 2000); + if (EditorGUI.EndChangeCheck()) + { + foreach (RealWorldTerrainItem item in container.terrains) + { + if (item == null) continue; + Terrain terrain = item.terrain; + if (terrain != null) terrain.treeBillboardDistance = container.billboardStart; + } + needRedrawScene = true; + } + + if (needRedrawScene) SceneView.RepaintAll(); + + EditorGUILayout.Space(); + } + + public static void ExportRawTextures(RealWorldTerrainMonoBase target) + { + string filename = EditorUtility.SaveFilePanel("Export RAW Textures", Application.dataPath, "textures.raw", "raw"); + if (string.IsNullOrEmpty(filename)) return; + + RealWorldTerrainContainer container = target as RealWorldTerrainContainer; + RealWorldTerrainItem item = target as RealWorldTerrainItem; + + int cx = container != null ? container.terrainCount.x : 1; + int cy = container != null ? container.terrainCount.y : 1; + + RealWorldTerrainItem[] terrains = container != null ? container.terrains : new[] { item }; + + int textureWidth = 0; + int textureHeight = 0; + + for (int y = 0; y < cy; y++) + { + for (int x = 0; x < cx; x++) + { + int tIndex = y * cx + x; + + Texture2D texture = terrains[tIndex].texture; + if (texture == null) + { + Debug.Log(terrains[tIndex].name + " not have texture. Abort!!!"); + continue; + } + if (x == 0 && y == 0) + { + textureWidth = texture.width; + textureHeight = texture.height; + } + else if (texture.width != textureWidth || texture.height != textureHeight) + { + Debug.LogWarning("Textures have different sizes. Abort!!!"); + return; + } + } + } + + FileStream stream = new FileStream(filename, FileMode.Create, FileAccess.Write); + + int countRow = cy * textureHeight; + + for (int y = 0; y < cy; y++) + { + for (int x = 0; x < cx; x++) + { + int tIndex = y * cx + x; + Texture2D texture = terrains[tIndex].texture; + Color[] colors = texture.GetPixels(); + + for (int ty = 0; ty < textureHeight; ty++) + { + float progress = ((y * cx + x) * textureHeight + ty) / (float)(cx * cy * textureHeight); + EditorUtility.DisplayProgressBar("Export RAW Textures", Mathf.RoundToInt(progress * 100) + "%", progress); + + int ry = countRow - y * textureHeight - ty - 1; + stream.Seek((ry * textureWidth * cx + x * textureWidth) * 3, SeekOrigin.Begin); + for (int tx = 0; tx < textureWidth; tx++) + { + Color32 color32 = colors[ty * textureHeight + tx]; + stream.WriteByte(color32.r); + stream.WriteByte(color32.g); + stream.WriteByte(color32.b); + } + } + } + } + + stream.Close(); + + EditorUtility.ClearProgressBar(); + } + + private static void FinalizeCombinedMesh(RealWorldTerrainContainer container, GameObject parent, ref int buildingIndex, List vertices, List uv, List normals, List indices, List subMeshes, List materials) + { + string name; + string prefix = "Combined Buildings "; + while (parent.transform.Find(name = prefix + buildingIndex) != null) buildingIndex++; + + GameObject go = new GameObject(name); + go.transform.SetParent(parent.transform, true); + buildingIndex++; + go.AddComponent().materials = materials.ToArray(); + MeshFilter meshFilter = go.AddComponent(); + Mesh mesh = new Mesh(); + mesh.name = go.name; + mesh.SetVertices(vertices); + mesh.SetUVs(0, uv); + mesh.SetNormals(normals); + + mesh.subMeshCount = subMeshes.Count; + for (int i = 0; i < subMeshes.Count; i++) + { + SubMeshDescriptor sm = subMeshes[i]; + mesh.SetIndices(indices.Skip(sm.indexStart).Take(sm.indexCount).ToArray(), MeshTopology.Triangles, i); + } + + string path = container.folder + "/Combined Buildings/"; + if (!Directory.Exists(path)) Directory.CreateDirectory(path); + + string assetPath; + while (File.Exists(assetPath = path + prefix + buildingIndex + ".asset")) buildingIndex++; + AssetDatabase.CreateAsset(mesh, assetPath); + AssetDatabase.Refresh(); + + meshFilter.mesh = AssetDatabase.LoadAssetAtPath(assetPath); + + vertices.Clear(); + uv.Clear(); + normals.Clear(); + indices.Clear(); + subMeshes.Clear(); + + Material last = materials.Last(); + materials.Clear(); + materials.Add(last); + } + + public static void ImportRawTextures(RealWorldTerrainMonoBase target) + { + string filename = EditorUtility.OpenFilePanel("Import RAW Textures", Application.dataPath, "raw"); + if (string.IsNullOrEmpty(filename)) return; + + RealWorldTerrainContainer container = target as RealWorldTerrainContainer; + RealWorldTerrainItem item = target as RealWorldTerrainItem; + + int cx = container != null ? container.terrainCount.x : 1; + int cy = container != null ? container.terrainCount.y : 1; + + RealWorldTerrainItem[] terrains = container != null ? container.terrains : new[] { item }; + + Texture2D texture = terrains[0].texture; + if (texture == null) + { + EditorUtility.DisplayDialog("Error", "Can not find a texture.", "OK"); + return; + } + + int tw = texture.width; + int th = texture.height; + + int textureWidth = cx * tw; + int textureHeight = cy * th; + + FileInfo info = new FileInfo(filename); + + if (info.Length != textureWidth * textureHeight * 3) + { + EditorUtility.DisplayDialog("Error", String.Format("Invalid file size. {0} bytes expected.", textureWidth * textureHeight * 3), "OK"); + return; + } + + FileStream stream = new FileStream(filename, FileMode.Open, FileAccess.Read); + + texture = new Texture2D(tw, th, TextureFormat.ARGB32, false); + + for (int y = 0; y < cy; y++) + { + for (int x = 0; x < cx; x++) + { + float progress = (y * cx + x) / (float) (cx * cy); + EditorUtility.DisplayProgressBar("Import RAW Texture", Mathf.RoundToInt(progress * 100) + "%", progress); + + Color[] colors = new Color[tw * th]; + + for (int ty = 0; ty < th; ty++) + { + int ry = textureHeight - y * th - ty - 1; + int seek = ry * textureWidth + x * tw; + stream.Seek(seek * 3, SeekOrigin.Begin); + + for (int tx = 0; tx < tw; tx++) + { + byte r = (byte)stream.ReadByte(); + byte g = (byte)stream.ReadByte(); + byte b = (byte)stream.ReadByte(); + colors[ty * tw + tx] = new Color32(r, g, b, 255); + } + } + + int tIndex = y * cx + x; + + texture.SetPixels(colors); + texture.Apply(); + + string assetPath = AssetDatabase.GetAssetPath(terrains[tIndex].texture); + File.WriteAllBytes(assetPath, texture.EncodeToPNG()); + terrains[tIndex].texture = AssetDatabase.LoadAssetAtPath(assetPath, typeof (Texture2D)) as Texture2D; + } + } + + stream.Close(); + + AssetDatabase.Refresh(ImportAssetOptions.ForceUpdate); + EditorUtility.ClearProgressBar(); + } + + private void OnEnable() + { + container = (RealWorldTerrainContainer)target; + } + + public override void OnInspectorGUI() + { + DrawToolbar(); + + EditorGUILayout.LabelField("Title: " + container.title); + + RealWorldTerrainItemEditor.DrawLocationInfo(container); + + float sizeX, sizeY; + DrawItemSize(out sizeX, out sizeY); + DrawItemScale(sizeX, sizeY); + DrawMinAndMaxElevations(); + + + if (container.prefs.resultType == RealWorldTerrainResultType.terrain) + { + DrawTreeAndGrassProps(); + DrawBaseDist(); + } + } + +#if WORLDSTREAMER + private void OpenWorldStreamer() + { + if (!EditorUtility.DisplayDialog("Important", "Make a backup copy of the scene.\nAfter using WorldStreamer in this scene, you will not be able to use Real World Terrain or utilities.", "Continue", "Cancel")) return; + + SceneSplitterSettings settings = FindObjectOfType(); + if (settings == null) + { + GameObject settingsGO = new GameObject("_SceneSplitterSettings"); + settings = settingsGO.gameObject.AddComponent(); + settings.scenesPath = "Assets/SplitScenes/"; + if (!Directory.Exists(settings.scenesPath)) Directory.CreateDirectory(settings.scenesPath); + } + + SceneCollection[] sceneCollections = FindObjectsOfType(); + if (sceneCollections.Length == 0) + { + GameObject collectionGO = new GameObject("SC_0"); + collectionGO.transform.parent = settings.transform; + SceneCollection collection = collectionGO.AddComponent(); + collection.prefixName = "Terrain"; + collection.ySplitIs = true; + Vector3 terrainSize = container.terrains[0].terrainData.size; + collection.xSize = (int)terrainSize.x; + collection.ySize = (int)terrainSize.y; + collection.zSize = (int)terrainSize.z; + } + + foreach (RealWorldTerrainItem terrain in container.terrains) + { + if (terrain == null) continue; + terrain.transform.parent = null; + } + + Type splitter = typeof(SceneSplitterEditor); + MethodInfo method = splitter.GetMethod("Init", BindingFlags.Static | BindingFlags.NonPublic); + method.Invoke(null, null); + } +#endif + + private static void SaveBuildingPart(Transform roofTransform, string housePath, string partName) + { + MeshFilter meshFilter = roofTransform.GetComponent(); + if (meshFilter != null) + { + if (!AssetDatabase.Contains(meshFilter.sharedMesh)) + { + string path = housePath + "/" + partName + ".asset"; + AssetDatabase.CreateAsset(meshFilter.sharedMesh, path); + AssetDatabase.ImportAsset(path, ImportAssetOptions.ForceUpdate); + meshFilter.sharedMesh = AssetDatabase.LoadAssetAtPath(path, typeof(Mesh)) as Mesh; + } + } + + Renderer renderer = roofTransform.GetComponent(); + if (renderer != null) + { + if (!AssetDatabase.Contains(renderer.sharedMaterial)) + { + string path = housePath + "/" + partName + ".mat"; + AssetDatabase.CreateAsset(renderer.sharedMaterial, path); + AssetDatabase.ImportAsset(path, ImportAssetOptions.ForceUpdate); + renderer.sharedMaterial = AssetDatabase.LoadAssetAtPath(path, typeof(Material)) as Material; + } + } + } + + private void SetProductionTextureSettings() + { + bool needRefresh = false; + + foreach (RealWorldTerrainItem item in container.terrains) + { + Texture texture = item.texture; + if (texture == null) continue; + + TextureImporter importer = AssetImporter.GetAtPath(AssetDatabase.GetAssetPath(texture)) as TextureImporter; + if (importer == null) continue; + + importer.isReadable = false; + importer.mipmapEnabled = true; + + needRefresh = true; + } + + if (needRefresh) AssetDatabase.Refresh(ImportAssetOptions.ForceUpdate); + } + + private void ShowFinishMenu() + { + GenericMenu menu = new GenericMenu(); + + if (container.generateTextures) + { + menu.AddItem(new GUIContent("Set settings of textures for production"), false, SetProductionTextureSettings); + } + + if (container.prefs.resultType == RealWorldTerrainResultType.terrain) + { +#if WORLDSTREAMER + menu.AddItem(new GUIContent("Open WorldStreamer"), false, OpenWorldStreamer); +#endif + } + + menu.AddItem(new GUIContent("Combine built-in buildings"), false, () => CombineBuildings(container, container.GetComponentsInChildren())); + menu.ShowAsContext(); + } + + private void ShowPostprocessMenu() + { + GenericMenu menu = new GenericMenu(); + menu.AddItem(new GUIContent("Brightness, Contrast and HUE"), false, () => RealWorldTerrainHUEWindow.OpenWindow(container)); + menu.AddItem(new GUIContent("Color Balance"), false, () => RealWorldTerrainColorBalance.OpenWindow(container)); + menu.AddItem(new GUIContent("Color Levels"), false, () => RealWorldTerrainColorLevels.OpenWindow(container)); + + if (container.prefs.resultType == RealWorldTerrainResultType.terrain) + { + menu.AddItem(new GUIContent("Erosion"), false, () => RealWorldTerrainErosionFilter.OpenWindow(container)); + menu.AddItem(new GUIContent("Generate Grass from Texture"), false, RealWorldTerrainGrassGeneratorWindow.OpenWindow); + menu.AddItem(new GUIContent("Generate SplatPrototypes from Texture"), false, RealWorldTerrainSplatPrototypeGenerator.OpenWindow); + } + + menu.ShowAsContext(); + } + + private void ShowRawMenu() + { + GenericMenu menu = new GenericMenu(); + + if (container.prefs.resultType == RealWorldTerrainResultType.terrain) + { + menu.AddItem(new GUIContent("Export Heightmap"), false, () => RealWorldTerraiHeightmapExporter.OpenWindow(container)); + menu.AddItem(new GUIContent("Import Heightmap"), false, () => RealWorldTerrainHeightmapImporter.OpenWindow(container)); + menu.AddSeparator(""); + menu.AddItem(new GUIContent("Export Detailmap"), false, () => RealWorldTerrainDetailmapExporter.OpenWindow(container)); + menu.AddItem(new GUIContent("Import Detailmap"), false, () => RealWorldTerrainDetailmapImporter.OpenWindow(container)); + menu.AddSeparator(""); + menu.AddItem(new GUIContent("Export Alphamap"), false, () => RealWorldTerrainAlphamapExporter.OpenWindow(container)); + menu.AddItem(new GUIContent("Import Alphamap"), false, () => RealWorldTerrainAlphamapImporter.OpenWindow(container)); + } + else if (container.prefs.resultType == RealWorldTerrainResultType.mesh) + { + menu.AddItem(new GUIContent("Export OBJ"), false, () => RealWorldTerrainMeshOBJExporter.Export(container)); + } + + if (container.generateTextures) + { + menu.AddSeparator(""); + menu.AddItem(new GUIContent("Export Textures"), false, () => ExportRawTextures(container)); + menu.AddItem(new GUIContent("Import Textures"), false, () => ImportRawTextures(container)); + } + menu.ShowAsContext(); + } + + private void ShowRegenerateMenu() + { + GenericMenu menu = new GenericMenu(); + menu.AddItem(new GUIContent("Open with current settings"), false, () => RealWorldTerrainWindow.OpenWindow(RealWorldTerrainGenerateType.full, container)); + menu.AddSeparator(""); + menu.AddItem(new GUIContent("Regenerate Terrains"), false, () => RealWorldTerrainWindow.OpenWindow(RealWorldTerrainGenerateType.terrain, container)); + menu.AddItem(new GUIContent("Regenerate Textures"), false, () => RealWorldTerrainWindow.OpenWindow(RealWorldTerrainGenerateType.texture, container)); + menu.AddItem(new GUIContent("Regenerate Additional"), false, () => RealWorldTerrainWindow.OpenWindow(RealWorldTerrainGenerateType.additional, container)); + menu.AddSeparator(""); + menu.AddItem(new GUIContent("Create Prefab"), false, CreatePrefab); + if (container.terrainCount.count > 1) menu.AddItem(new GUIContent("Split into GameObjects"), false, SplitTerrains); + menu.ShowAsContext(); + } + + private void ShowUtilsMenu() + { + GenericMenu menu = new GenericMenu(); + menu.AddItem(new GUIContent("Building Manager"), false, RealWorldTerrainBuildingManager.OpenWindow); + menu.AddItem(new GUIContent("Geocoder"), false, () => RealWorldTerrainGeocodingWindow.OpenWindow(container)); + menu.AddItem(new GUIContent("Object Placer"), false, () => RealWorldTerrainObjectPlacerWindow.OpenWindow(container)); + menu.AddItem(new GUIContent("POI Manager"), false, () => RealWorldTerrainPOIManager.OpenWindow(container)); + menu.AddItem(new GUIContent("Reverse Geocoder"), false, () => RealWorldTerrainReverseGeocodingWindow.OpenWindow(container)); + menu.AddItem(new GUIContent("Scaler"), false, () => RealWorldTerrainScalerWindow.OpenWindow(container)); + menu.AddItem(new GUIContent("Show Location"), false, () => RealWorldTerrainCurrentLatLon.OpenWindow(container)); + if (container.terrainCount > 1) menu.AddItem(new GUIContent("Update Neighbors"), false, () => RealWorldTerrainUpdateNeighbors.Update(container)); + menu.ShowAsContext(); + } + + private void SplitTerrains() + { + foreach (RealWorldTerrainItem terrainItem in container.terrains) + { + GameObject parent = new GameObject(terrainItem.gameObject.name); + parent.transform.position = terrainItem.transform.position; + terrainItem.transform.SetParent(parent.transform, true); + RealWorldTerrainContainer c = parent.AddComponent(); + c.prefs = RealWorldTerrainPrefs.GetPrefs(terrainItem); + c.leftLongitude = terrainItem.leftLongitude; + c.topLatitude = terrainItem.topLatitude; + c.rightLongitude = terrainItem.rightLongitude; + c.bottomLatitude = terrainItem.bottomLatitude; + c.leftMercator = terrainItem.leftMercator; + c.topMercator = terrainItem.topMercator; + c.rightMercator = terrainItem.rightMercator; + c.bottomMercator = terrainItem.bottomMercator; + c.terrainCount = RealWorldTerrainVector2i.one; + c.terrains = new[] {terrainItem}; + c.folder = container.folder; + c.size = terrainItem.size; + c.scale = terrainItem.scale; + c.minElevation = terrainItem.minElevation; + c.maxElevation = terrainItem.maxElevation; + terrainItem.container = c; + } + + DestroyImmediate(container.gameObject); + } + +#if !UNITY_2019_3_OR_NEWER + public struct SubMeshDescriptor + { + /// + /// Starting point inside the whole Mesh index buffer where the face index data is found. + /// + public int indexStart; + + /// + /// Index count for this sub-mesh face data. + /// + public int indexCount; + + public SubMeshDescriptor(int indexStart, int indexCount) + { + this.indexStart = indexStart; + this.indexCount = indexCount; + } + } +#endif + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainContainerEditor.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainContainerEditor.cs.meta new file mode 100644 index 000000000..9b2210548 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainContainerEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: fedf3d1dfdf1e8145895fc8dcddce376 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainDocumentationEditor.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainDocumentationEditor.cs new file mode 100644 index 000000000..3e54192a9 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainDocumentationEditor.cs @@ -0,0 +1,84 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using InfinityCode.RealWorldTerrain.Windows; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Editors +{ + [CustomEditor(typeof(RealWorldTerrainDocumentation))] + public class RealWorldTerrainDocumentationEditor : Editor + { + private static void DrawDocumentation() + { + if (GUILayout.Button("Local Documentation")) + { + RealWorldTerrainLinks.OpenLocalDocumentation(); + } + + if (GUILayout.Button("Online Documentation")) + { + RealWorldTerrainLinks.OpenDocumentation(); + } + + GUILayout.Space(10); + } + + private static void DrawExtra() + { + if (GUILayout.Button("Changelog")) + { + RealWorldTerrainLinks.OpenChangelog(); + } + + GUILayout.Space(10); + } + + private new static void DrawHeader() + { + GUILayout.Label("Real World Terrain", RealWorldTerrainEditorUtils.centeredLabel); + GUILayout.Label("version: " + RealWorldTerrainWindow.version, RealWorldTerrainEditorUtils.centeredLabel); + GUILayout.Space(10); + } + + private void DrawRateAndReview() + { + EditorGUILayout.HelpBox("Please don't forget to leave a review on the store page if you liked Tree Tool, this helps us a lot!", MessageType.Warning); + + if (GUILayout.Button("Rate & Review")) + { + RealWorldTerrainLinks.OpenReviews(); + } + } + + private void DrawSupport() + { + if (GUILayout.Button("Support")) + { + RealWorldTerrainLinks.OpenSupport(); + } + + if (GUILayout.Button("Forum")) + { + RealWorldTerrainLinks.OpenForum(); + } + + if (GUILayout.Button("Discord")) + { + RealWorldTerrainLinks.OpenDiscord(); + } + + GUILayout.Space(10); + } + + public override void OnInspectorGUI() + { + DrawHeader(); + DrawDocumentation(); + DrawExtra(); + DrawSupport(); + DrawRateAndReview(); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainDocumentationEditor.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainDocumentationEditor.cs.meta new file mode 100644 index 000000000..b5cbb99d7 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainDocumentationEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 89cde504be510de46bb368a1471e950f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainItemEditor.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainItemEditor.cs new file mode 100644 index 000000000..cc7194a7e --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainItemEditor.cs @@ -0,0 +1,259 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using InfinityCode.RealWorldTerrain.Tools; +using InfinityCode.RealWorldTerrain.Windows; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Editors +{ + [CustomEditor(typeof(RealWorldTerrainItem))] + public class RealWorldTerrainItemEditor : Editor + { + private RealWorldTerrainItem item; + private Texture2D texture; + + private void DrawBaseDist() + { + if (item == null) return; + + float dist = item.terrain.basemapDistance; + + EditorGUI.BeginChangeCheck(); + + dist = EditorGUILayout.Slider("Base Map Distance", dist, 0, 20000); + + if (EditorGUI.EndChangeCheck()) item.terrain.basemapDistance = dist; + } + + private void DrawItemScale(float sizeX, float sizeY) + { + float minX = float.MaxValue; + float minZ = float.MaxValue; + float maxX = float.MinValue; + float maxZ = float.MinValue; + + Bounds bounds = item.bounds; + Vector3 p = bounds.min; + Vector3 p2 = bounds.max; + if (p.x < minX) minX = p.x; + if (p.z < minZ) minZ = p.z; + if (p2.x > maxX) maxX = p2.x; + if (p2.z > maxZ) maxZ = p2.z; + + GUILayout.Label("Scale X: " + sizeX * 1000 / (maxX - minX) + " meter/unit"); + GUILayout.Label("Scale Z: " + sizeY * 1000 / (maxZ - minZ) + " meter/unit"); + + EditorGUILayout.Space(); + } + + private void DrawItemSize(out float sizeX, out float sizeY) + { + sizeX = sizeY = 0; + if (item == null || item.prefs == null) return; + + double tx = item.leftLongitude; + double ty = item.topLatitude; + double bx = item.rightLongitude; + double by = item.bottomLatitude; + double rx = bx - tx; + + if (item.prefs.sizeType == 0 || item.prefs.sizeType == 2) + { + double scfY = Math.Sin(ty * Mathf.Deg2Rad); + double sctY = Math.Sin(by * Mathf.Deg2Rad); + double ccfY = Math.Cos(ty * Mathf.Deg2Rad); + double cctY = Math.Cos(by * Mathf.Deg2Rad); + double cX = Math.Cos(rx * Mathf.Deg2Rad); + double sizeX1 = Math.Abs(RealWorldTerrainGeo.EARTH_RADIUS * Math.Acos(scfY * scfY + ccfY * ccfY * cX)); + double sizeX2 = Math.Abs(RealWorldTerrainGeo.EARTH_RADIUS * Math.Acos(sctY * sctY + cctY * cctY * cX)); + sizeX = (float)((sizeX1 + sizeX2) / 2.0); + sizeY = (float)(RealWorldTerrainGeo.EARTH_RADIUS * Math.Acos(scfY * sctY + ccfY * cctY)); + } + else if (item.prefs.sizeType == 1) + { + sizeX = (float)Math.Abs(rx / 360 * RealWorldTerrainGeo.EQUATOR_LENGTH); + sizeY = (float)Math.Abs((by - ty) / 360 * RealWorldTerrainGeo.EQUATOR_LENGTH); + } + + GUILayout.Label($"Size X: {sizeX} km"); + GUILayout.Label($"Size Z: {sizeY} km"); + EditorGUILayout.Space(); + } + + public static void DrawLocationInfo(RealWorldTerrainMonoBase item) + { + GUILayout.Label("Top-Left: "); + GUILayout.Label($" Latitude: {item.topLatitude}"); + GUILayout.Label($" Longitude: {item.leftLongitude}"); + EditorGUILayout.Space(); + GUILayout.Label("Bottom-Right: "); + GUILayout.Label($" Latitude: {item.bottomLatitude}"); + GUILayout.Label($" Longitude: {item.rightLongitude}"); + EditorGUILayout.Space(); + } + + private void DrawMinAndMaxElevations() + { + if (item == null) return; + EditorGUILayout.LabelField($"Min Elevation: {item.minElevation}"); + EditorGUILayout.LabelField($"Max Elevation: {item.maxElevation}"); + EditorGUILayout.Space(); + } + + private void DrawToolbar() + { + GUIStyle style = new GUIStyle(EditorStyles.toolbar) + { + fixedHeight = 40, + padding = new RectOffset(5, 5, 4, 4) + }; + EditorGUILayout.BeginHorizontal(style); + + GUIStyle buttonStyle = new GUIStyle { margin = new RectOffset(5, 5, 0, 0) }; + + if (GUILayout.Button(new GUIContent(RealWorldTerrainResources.refreshIcon, "Real World Terrain"), buttonStyle, GUILayout.ExpandWidth(false))) ShowRegenerateMenu(); + if (item.generateTextures && item.prefs.textureResultType == RealWorldTerrainTextureResultType.regularTexture && GUILayout.Button(new GUIContent(RealWorldTerrainResources.wizardIcon, "Postprocess"), buttonStyle, GUILayout.ExpandWidth(false))) ShowPostprocessMenu(); + if (GUILayout.Button(new GUIContent(RealWorldTerrainResources.rawIcon, "Export/Import RAW"), buttonStyle, GUILayout.ExpandWidth(false))) ShowRawMenu(); + + EditorGUILayout.Space(); + EditorGUILayout.EndHorizontal(); + } + + private void DrawTreeAndGrassProps() + { + GUILayout.Label("Tree and Grass Distances:"); + + item.terrain.detailObjectDistance = EditorGUILayout.Slider("Detail Distance", item.terrain.detailObjectDistance, 0, 250); + item.terrain.detailObjectDensity = EditorGUILayout.Slider("Detail Density", item.terrain.detailObjectDensity, 0, 1); + item.terrain.treeDistance = EditorGUILayout.Slider("Tree Distance", item.terrain.treeDistance, 0, 2000); + item.terrain.treeBillboardDistance = EditorGUILayout.Slider("Billboard Start", item.terrain.treeBillboardDistance, 5, 2000); + + EditorGUILayout.Space(); + } + + private void OnDisable() + { + EditorApplication.update -= OnUpdate; + } + + private void OnEnable() + { + EditorApplication.update -= OnUpdate; + EditorApplication.update += OnUpdate; + item = (RealWorldTerrainItem)target; + } + + public override void OnInspectorGUI() + { + DrawToolbar(); + DrawLocationInfo(item); + + float sizeX, sizeY; + DrawItemSize(out sizeX, out sizeY); + DrawItemScale(sizeX, sizeY); + DrawMinAndMaxElevations(); + + EditorGUI.BeginChangeCheck(); + + RealWorldTerrainPrefsBase prefs = item.prefs; + RealWorldTerrainResultType resultType = prefs.resultType; + RealWorldTerrainTextureResultType textureResultType = prefs.textureResultType; + + if (resultType == RealWorldTerrainResultType.terrain) + { + DrawTreeAndGrassProps(); + DrawBaseDist(); + } + + Texture currentTexture = null; + + if (textureResultType == RealWorldTerrainTextureResultType.regularTexture) + { + currentTexture = item.texture; + currentTexture = (Texture2D)EditorGUILayout.ObjectField("Texture: ", currentTexture, typeof(Texture2D), true); + } + else if (textureResultType == RealWorldTerrainTextureResultType.hugeTexture && resultType == RealWorldTerrainResultType.terrain) + { + currentTexture = item.terrain.materialTemplate.mainTexture; + currentTexture = (Texture2DArray)EditorGUILayout.ObjectField("Texture: ", currentTexture, typeof(Texture2DArray), true); + } + + if (EditorGUI.EndChangeCheck()) + { + if (textureResultType == RealWorldTerrainTextureResultType.regularTexture) item.texture = currentTexture as Texture2D; + else if (textureResultType == RealWorldTerrainTextureResultType.hugeTexture && resultType == RealWorldTerrainResultType.terrain) + { + item.terrain.materialTemplate.mainTexture = currentTexture as Texture2DArray; + } + } + } + + private void OnUpdate() + { + if (item != null && item.needUpdate) + { + item.needUpdate = false; + Repaint(); + } + } + + private void ShowPostprocessMenu() + { + GenericMenu menu = new GenericMenu(); + menu.AddItem(new GUIContent("Brightness, Contrast and HUE"), false, () => RealWorldTerrainHUEWindow.OpenWindow(item)); + menu.AddItem(new GUIContent("Color Balance"), false, () => RealWorldTerrainColorBalance.OpenWindow(item)); + menu.AddItem(new GUIContent("Color Levels"), false, () => RealWorldTerrainColorLevels.OpenWindow(item)); + + if (item.prefs.resultType == RealWorldTerrainResultType.terrain) + { + menu.AddItem(new GUIContent("Erosion"), false, () => RealWorldTerrainErosionFilter.OpenWindow(item)); + menu.AddItem(new GUIContent("Generate Grass from Texture"), false, () => RealWorldTerrainGrassGeneratorWindow.OpenWindow(item)); + menu.AddItem(new GUIContent("Generate SplatPrototypes from Texture"), false, () => RealWorldTerrainSplatPrototypeGenerator.OpenWindow(item)); + } + + menu.ShowAsContext(); + } + + private void ShowRawMenu() + { + GenericMenu menu = new GenericMenu(); + + if (item.prefs.resultType == RealWorldTerrainResultType.terrain) + { + menu.AddItem(new GUIContent("Export Heightmap"), false, () => RealWorldTerraiHeightmapExporter.OpenWindow(item)); + menu.AddItem(new GUIContent("Import Heightmap"), false, () => RealWorldTerrainHeightmapImporter.OpenWindow(item)); + menu.AddSeparator(""); + menu.AddItem(new GUIContent("Export Detailmap"), false, () => RealWorldTerrainDetailmapExporter.OpenWindow(item)); + menu.AddItem(new GUIContent("Import Detailmap"), false, () => RealWorldTerrainDetailmapImporter.OpenWindow(item)); + menu.AddSeparator(""); + menu.AddItem(new GUIContent("Export Alphamap"), false, () => RealWorldTerrainAlphamapExporter.OpenWindow(item)); + menu.AddItem(new GUIContent("Import Alphamap"), false, () => RealWorldTerrainAlphamapImporter.OpenWindow(item)); + + } + else if (item.prefs.resultType == RealWorldTerrainResultType.mesh) + { + menu.AddItem(new GUIContent("Export OBJ"), false, () => RealWorldTerrainMeshOBJExporter.Export(item)); + } + + if (item.generateTextures) + { + menu.AddSeparator(""); + menu.AddItem(new GUIContent("Export Textures"), false, () => RealWorldTerrainContainerEditor.ExportRawTextures(item)); + menu.AddItem(new GUIContent("Import Textures"), false, () => RealWorldTerrainContainerEditor.ImportRawTextures(item)); + } + menu.ShowAsContext(); + } + + private void ShowRegenerateMenu() + { + GenericMenu menu = new GenericMenu(); + menu.AddItem(new GUIContent("Regenerate Terrains"), false, () => RealWorldTerrainWindow.OpenWindow(RealWorldTerrainGenerateType.terrain, item)); + menu.AddItem(new GUIContent("Regenerate Textures"), false, () => RealWorldTerrainWindow.OpenWindow(RealWorldTerrainGenerateType.texture, item)); + menu.AddItem(new GUIContent("Regenerate Additional"), false, () => RealWorldTerrainWindow.OpenWindow(RealWorldTerrainGenerateType.additional, item)); + menu.ShowAsContext(); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainItemEditor.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainItemEditor.cs.meta new file mode 100644 index 000000000..3b8b9a4a5 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainItemEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 56e7b0077b650934f87e5f305699df25 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainLookLngLatEditor.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainLookLngLatEditor.cs new file mode 100644 index 000000000..270cc5ab6 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainLookLngLatEditor.cs @@ -0,0 +1,34 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Editors +{ + [CustomEditor(typeof(RealWorldTerrainLookLngLat))] + public class RealWorldTerrainLookLngLatEditor : Editor + { + private RealWorldTerrainLookLngLat item; + + private void OnEnable() + { + item = (RealWorldTerrainLookLngLat)target; + } + + public override void OnInspectorGUI() + { + item.lat = EditorGUILayout.FloatField("Lat: ", item.lat); + item.lng = EditorGUILayout.FloatField("lng: ", item.lng); + + if (GUILayout.Button("Look to")) RealWorldTerrainLookLngLat.LookTo(item.lng, item.lat); + + GUILayout.Space(10); + item.distance = EditorGUILayout.FloatField("Distance: ", item.distance); + item.height = EditorGUILayout.FloatField("Height: ", item.height); + + if (GUILayout.Button("Move to")) + RealWorldTerrainLookLngLat.MoveTo(item.lng, item.lat, item.distance, item.height); + } + } +} diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainLookLngLatEditor.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainLookLngLatEditor.cs.meta new file mode 100644 index 000000000..58ff78e04 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainLookLngLatEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: af432f9fad38366439a512574b6a50f9 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainMetaEditor.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainMetaEditor.cs new file mode 100644 index 000000000..a5bcb3b5a --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainMetaEditor.cs @@ -0,0 +1,41 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System.Diagnostics; +using System.Linq; +using InfinityCode.RealWorldTerrain.OSM; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Editors +{ + [CustomEditor(typeof(RealWorldTerrainOSMMeta))] + public class RealWorldTerrainMetaEditor : Editor + { + public override void OnInspectorGUI() + { + RealWorldTerrainOSMMeta meta = (RealWorldTerrainOSMMeta)target; + if (meta.metaInfo == null) return; + + if (meta.center != Vector2.zero && GUILayout.Button("Open Street View")) + { + Process.Start(string.Format("https://maps.google.com?layer=c&cbll={0},{1}", meta.center.y, meta.center.x)); + } + + if (meta.hasURL && GUILayout.Button("Open URL")) Process.Start(meta.metaInfo.Where(m => m.title == "url").ToArray()[0].info); + if (meta.hasWebsite && GUILayout.Button("Open website")) Process.Start(meta.metaInfo.Where(m => m.title == "website").ToArray()[0].info); + if (meta.hasWikipedia && GUILayout.Button("Open wikipedia")) + { + string[] wiki = meta.metaInfo.Where(m => m.title == "wikipedia").ToArray()[0].info.Split(new[] { ':' }); + string url = string.Format("https://{0}.wikipedia.org/wiki/{1}", wiki[0], wiki[1]); + Process.Start(url); + } + + EditorGUILayout.LabelField("Count: " + meta.metaInfo.Length); + EditorGUILayout.Space(); + + foreach (RealWorldTerrainOSMMetaTag item in meta.metaInfo) + EditorGUILayout.TextField(item.title, item.info); + } + } +} diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainMetaEditor.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainMetaEditor.cs.meta new file mode 100644 index 000000000..a10c45211 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainMetaEditor.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 4407c123419db854f9ffeb4c830c2e39 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainPOIItemEditor.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainPOIItemEditor.cs new file mode 100644 index 000000000..bfeb85c93 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainPOIItemEditor.cs @@ -0,0 +1,128 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Editors +{ + [CustomEditor(typeof(RealWorldTerrainPOIItem))] + public class RealWorldTerrainPOIItemEditor : Editor + { + private SerializedProperty lng; + private SerializedProperty lat; + private SerializedProperty alt; + private SerializedProperty title; + + private void CacheFields() + { + lng = serializedObject.FindProperty("x"); + lat = serializedObject.FindProperty("y"); + alt = serializedObject.FindProperty("altitude"); + title = serializedObject.FindProperty("title"); + } + + private void OnEnable() + { + CacheFields(); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + + EditorGUILayout.HelpBox("To replace GameObject drag prefab here!!!", MessageType.Info); + + EditorGUILayout.PropertyField(title); + EditorGUILayout.PropertyField(lat, new GUIContent("Latitude")); + EditorGUILayout.PropertyField(lng, new GUIContent("Longitude")); + EditorGUILayout.PropertyField(alt); + + serializedObject.ApplyModifiedProperties(); + + if (GUILayout.Button("Update World Position")) UpdateWorldPosition(); + if (GUILayout.Button("Get Coordinates from World Position")) GetCoordinatesFromWorldPosition(); + + ProcessEvents(); + } + + private void GetCoordinatesFromWorldPosition() + { + RealWorldTerrainPOIItem poi = target as RealWorldTerrainPOIItem; + RealWorldTerrainContainer container = poi.GetComponentInParent(); + if (container == null) + { + Debug.LogWarning("Can not find RWT container"); + return; + } + + double lng, lat, alt; + container.GetCoordinatesByWorldPosition(poi.transform.position, out lng, out lat, out alt); + poi.x = (float)lng; + poi.y = (float)lat; + poi.altitude = (float)alt; + } + + private void UpdateWorldPosition() + { + RealWorldTerrainPOIItem poi = target as RealWorldTerrainPOIItem; + RealWorldTerrainContainer container = poi.GetComponentInParent(); + if (container == null) + { + Debug.LogWarning("Can not find RWT container"); + return; + } + + Vector3 pos; + if (Math.Abs(poi.altitude) > float.Epsilon) + { + if (container.GetWorldPosition(poi.x, poi.y, poi.altitude, out pos)) poi.transform.position = pos; + } + else if (container.GetWorldPosition(poi.x, poi.y, out pos)) poi.transform.position = pos; + } + + private void ProcessEvents() + { + Event e = Event.current; + if (e.type == EventType.DragUpdated) + { + if (DragAndDrop.objectReferences.Length == 1 && DragAndDrop.objectReferences[0] is GameObject) + { + GameObject prefab = DragAndDrop.objectReferences[0] as GameObject; + int id = prefab.GetInstanceID(); + if (id < 0) return; + + DragAndDrop.visualMode = DragAndDropVisualMode.Link; + e.Use(); + } + } + else if (e.type == EventType.DragPerform) + { + if (DragAndDrop.objectReferences.Length == 1 && DragAndDrop.objectReferences[0] is GameObject) + { + GameObject prefab = DragAndDrop.objectReferences[0] as GameObject; + int id = prefab.GetInstanceID(); + if (id < 0) return; + + DragAndDrop.AcceptDrag(); + e.Use(); + + GameObject go = Instantiate(prefab); + RealWorldTerrainPOIItem poi = target as RealWorldTerrainPOIItem; + go.transform.parent = poi.transform.parent; + go.name = poi.name; + go.transform.position = poi.transform.position; + go.transform.rotation = poi.transform.rotation; + go.transform.localScale = poi.transform.localScale; + RealWorldTerrainPOIItem n = go.AddComponent(); + n.title = poi.title; + n.x = poi.x; + n.y = poi.y; + n.altitude = poi.altitude; + DestroyImmediate(poi.gameObject); + } + } + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainPOIItemEditor.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainPOIItemEditor.cs.meta new file mode 100644 index 000000000..f775a955a --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainPOIItemEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 0f49150a2f1930e4ca76562b594be982 +timeCreated: 1560888994 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainRoadArchitectNodeEditor.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainRoadArchitectNodeEditor.cs new file mode 100644 index 000000000..f3f2cfb5a --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainRoadArchitectNodeEditor.cs @@ -0,0 +1,34 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using UnityEditor; + +namespace InfinityCode.RealWorldTerrain.Editors +{ + [CustomEditor(typeof(RealWorldTerrainRoadArchitectNode))] + public class RealWorldTerrainRoadArchitectNodeEditor : Editor + { +#if ROADARCHITECT + private RealWorldTerrainRoadArchitectNode node; + private GSDSplineN splineN; + + private void OnEnable() + { + node = (RealWorldTerrainRoadArchitectNode)target; + splineN = node.GetComponent(); + } + + public override void OnInspectorGUI() + { + if (splineN == null) return; + + bool allowIntersect = !splineN.bNeverIntersect; + bool newAI = EditorGUILayout.Toggle("Allow intersect: ", allowIntersect); + if (newAI != allowIntersect) + { + splineN.bNeverIntersect = !newAI; + } + } +#endif + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainRoadArchitectNodeEditor.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainRoadArchitectNodeEditor.cs.meta new file mode 100644 index 000000000..189580d40 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Editors/RealWorldTerrainRoadArchitectNodeEditor.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 70b31496db486044592f3fd19b07f7cf +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators.meta new file mode 100644 index 000000000..9cc86f8a8 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 38ba9f916dc289d41bafa453d9324db4 +folderAsset: yes +timeCreated: 1470870903 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainArcGISElevationGenerator.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainArcGISElevationGenerator.cs new file mode 100644 index 000000000..35a763b0c --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainArcGISElevationGenerator.cs @@ -0,0 +1,339 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.Collections.Generic; +using System.IO; +using InfinityCode.RealWorldTerrain.Net; +using InfinityCode.RealWorldTerrain.Phases; +using InfinityCode.RealWorldTerrain.Windows; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Generators +{ + public class RealWorldTerrainArcGISElevationGenerator : RealWorldTerrainElevationGenerator + { + private static string arcGisFolder; + + private string filename; + + private double mx1; + private double mx2; + private double my1; + private double my2; + private double tx1; + private double tx2; + private double ty1; + private double ty2; + private static byte[] readBuffer; + + private RealWorldTerrainArcGISElevationGenerator(double x1, double y1, double x2, double y2, double tx1, double ty1, double tx2, double ty2) + { + this.tx1 = tx1; + this.ty1 = ty1; + this.tx2 = tx2; + this.ty2 = ty2; + RealWorldTerrainGeo.LatLongToMercat(x1, y1, out mx1, out my1); + RealWorldTerrainGeo.LatLongToMercat(x2, y2, out mx2, out my2); + + filename = Path.Combine( + RealWorldTerrainEditorUtils.heightmapCacheFolder, + String.Format(RealWorldTerrainCultureInfo.numberFormat, + "arcgis_{0}x{1}x{2}x{3}x{4}.rwt", x1, y1, x2, y2, mapSize)); + if (!File.Exists(filename)) Download(); + } + + public override bool Contains(double x, double y) + { + return true; + } + + private void Download() + { + int s = mapSize / 32; + double sizeX = (tx2 - tx1) / s; + double sizeY = (ty2 - ty1) / s; + + for (int x = 0; x < s; x++) + { + double tsx = sizeX * x + tx1; + double tex = tsx + sizeX; + tex = (tex - tsx) / 33 * 32 + tsx; + + for (int y = 0; y < s; y++) + { + double tsy = sizeY * y + ty1; + double tey = tsy + sizeY; + tey = (tey - tsy) / 33 * 32 + tsy; + + double sx, sy, ex, ey; + RealWorldTerrainGeo.TileToLatLong(tsx, tsy, 20, out sx, out sy); + RealWorldTerrainGeo.TileToLatLong(tex, tey, 20, out ex, out ey); + + string partFilename = Path.Combine(arcGisFolder, + string.Format(RealWorldTerrainCultureInfo.numberFormat, + "arcgis_{0}x{1}x{2}x{3}x{4}.json", sx, sy, ex, ey, mapSize)); + + if (!File.Exists(partFilename)) + { + string partURL = "http://sampleserver4.arcgisonline.com/ArcGIS/rest/services/Elevation/ESRI_Elevation_World/MapServer/exts/ElevationsSOE/ElevationLayers/1/GetElevationData?f=json&Extent={%22spatialReference%22:{%22wkid%22:4326},%22ymin%22:" + + ey.ToString(RealWorldTerrainCultureInfo.numberFormat) + ",%22ymax%22:" + + sy.ToString(RealWorldTerrainCultureInfo.numberFormat) + ",%22xmin%22:" + + sx.ToString(RealWorldTerrainCultureInfo.numberFormat) + ",%22xmax%22:" + + ex.ToString(RealWorldTerrainCultureInfo.numberFormat) + "}&Rows=32&Columns=32"; + + new RealWorldTerrainDownloadItemWebClient(partURL) + { + filename = partFilename, + averageSize = 5200 + }; + } + } + } + } + + public new static void Dispose() + { + if (elevations != null) + { + foreach (RealWorldTerrainElevationGenerator elevation in elevations) elevation.heightmap = null; + elevations = null; + } + readBuffer = null; + } + + public static void GetArcGISElevationRange(out double minEl, out double maxEl) + { + minEl = double.MaxValue; + maxEl = double.MinValue; + + foreach (RealWorldTerrainArcGISElevationGenerator elevation in elevations) + { + foreach (short h in elevation.heightmap) + { + if (h < minEl) minEl = h; + if (h > maxEl) maxEl = h; + } + } + + if (prefs.generateUnderWater && minEl > prefs.nodataValue) minEl = prefs.nodataValue; + } + + public override double GetElevationValue(double x, double y) + { + double ex = (x - mx1) / (mx2 - mx1); + double ey = 1 - (my2 - y) / (my2 - my1); + + double cx = ex * mapSize2; + double cy = ey * mapSize2; + + int ix = (int)cx; + int iy = (int)cy; + + if (prefs.generateUnderWater && prefs.nodataValue != 0 && GetValue(ix, iy) <= 0) return double.MinValue; + + double ox = cx - ix; + double oy = cy - iy; + + double e = GetSmoothElevation(ox - 1, ox - 2, ox + 1, oy - 1, oy - 2, oy + 1, ix, iy, ox, ix + 1, oy, iy + 1, ox * oy, ix - 1, iy - 1, ix + 2, iy + 2); + return e; + } + + public static void Init() + { + mapSize = prefs.heightmapResolution - 1; + + double sx = prefs.leftLongitude; + double sy = prefs.topLatitude; + double ex = prefs.rightLongitude; + double ey = prefs.bottomLatitude; + + double dx, dy; + RealWorldTerrainMath.DistanceBetweenPoints(sx, sy, ex, ey, out dx, out dy); + + while (mapSize > 32 && dx / mapSize < 0.005 && dy / mapSize < 0.005) mapSize /= 2; + mapSize2 = mapSize - 1; + + arcGisFolder = Path.Combine(RealWorldTerrainEditorUtils.heightmapCacheFolder, "ArcGISParts"); + if (!Directory.Exists(arcGisFolder)) Directory.CreateDirectory(arcGisFolder); + + double stx, sty, etx, ety; + RealWorldTerrainGeo.LatLongToTile(sx, sy, 20, out stx, out sty); + RealWorldTerrainGeo.LatLongToTile(ex, ey, 20, out etx, out ety); + + double rx = (etx - stx) / 2; + double ry = (ety - sty) / 2; + + double ctx = stx + rx; + double cty = sty + ry; + + rx *= 1.1; + ry *= 1.1; + + stx = ctx - rx; + sty = cty - ry; + etx = ctx + rx; + ety = cty + ry; + + elevations = new List(); + + double cx1, cy1, cx2, cy2; + RealWorldTerrainGeo.TileToLatLong(stx, sty, 20, out cx1, out cy1); + RealWorldTerrainGeo.TileToLatLong(etx, ety, 20, out cx2, out cy2); + + double rangeX = prefs.rightLongitude - prefs.leftLongitude; + + double dsx = Math.Abs(prefs.depthSharpness) * rangeX / (prefs.heightmapResolution - 1) / prefs.terrainCount.x; + depthStep = (float)dsx * 100; + + elevations.Add(new RealWorldTerrainArcGISElevationGenerator(cx1, cy1, cx2, cy2, stx, sty, etx, ety)); + } + + public static bool Load() + { + for (int i = 0; i < elevations.Count; i++) + { + RealWorldTerrainArcGISElevationGenerator elevation = (RealWorldTerrainArcGISElevationGenerator)elevations[i]; + RealWorldTerrainPhase.phaseProgress = i / (float)elevations.Count; + if (File.Exists(elevation.filename)) elevation.LoadHeightmap(); + else if (!elevation.TryLoadParts()) + { + Debug.LogError("Cant load elevation data"); + return false; + } + } + return true; + } + + private void LoadHeightmap() + { + heightmap = new short[mapSize, mapSize]; + FileStream fs = File.OpenRead(filename); + const int size = 32768; + int c = 0; + RealWorldTerrainPhase.phaseProgress = 0; + short x = 0, y = 0; + if (readBuffer == null) readBuffer = new byte[size]; + do + { + int count = fs.Read(readBuffer, 0, size); + + for (int i = 0; i < count; i += 2) + { + short v = (short)(readBuffer[i] | (readBuffer[i + 1] << 8)); + heightmap[x, y] = v; + x++; + if (x == mapSize) + { + x = 0; + y++; + } + c++; + } + if (!RealWorldTerrainWindow.isCapturing) + { + fs.Close(); + return; + } + } + while (fs.Position != fs.Length); + + fs.Close(); + GC.Collect(); + } + + private bool TryLoadParts() + { + int s = mapSize / 32; + double sizeX = (tx2 - tx1) / s; + double sizeY = (ty2 - ty1) / s; + heightmap = new short[mapSize, mapSize]; + + List filenames = new List(); + + for (int x = 0; x < s; x++) + { + double tsx = sizeX * x + tx1; + double tex = tsx + sizeX; + tex = (tex - tsx) / 33 * 32 + tsx; + + for (int y = 0; y < s; y++) + { + double tsy = sizeY * y + ty1; + double tey = tsy + sizeY; + tey = (tey - tsy) / 33 * 32 + tsy; + + double sx, sy, ex, ey; + RealWorldTerrainGeo.TileToLatLong(tsx, tsy, 20, out sx, out sy); + RealWorldTerrainGeo.TileToLatLong(tex, tey, 20, out ex, out ey); + + string partFilename = Path.Combine(arcGisFolder, + String.Format(RealWorldTerrainCultureInfo.numberFormat, + "arcgis_{0}x{1}x{2}x{3}x{4}.json", sx, sy, ex, ey, mapSize)); + + if (!File.Exists(partFilename)) return false; + + filenames.Add(partFilename); + string json = File.ReadAllText(partFilename); + + string startStr = "\"data\":["; + int startIndex = json.IndexOf(startStr); + if (startIndex != -1) + { + int index = 0; + int v = 0; + bool isNegative = false; + + int fx, fy; + short sv; + + for (int i = startIndex + startStr.Length; i < json.Length; i++) + { + char c = json[i]; + if (c == ',') + { + fx = index % 32; + fy = index / 32; + if (isNegative) v = -v; + sv = (short)v; + heightmap[x * 32 + fx, y * 32 + fy] = sv; + + isNegative = false; + v = 0; + index++; + } + else if (c == '-') isNegative = true; + else if (c > 47 && c < 58) v = v * 10 + (c - 48); + else break; + } + + fx = index % 32; + fy = index / 32; + if (isNegative) v = -v; + sv = (short)v; + heightmap[x * 32 + fx, y * 32 + fy] = sv; + } + else + { + Debug.Log("cannot find elevations"); + return false; + } + } + } + + FileStream wfs = File.OpenWrite(filename); + BinaryWriter bw = new BinaryWriter(wfs); + + for (int y = 0; y < mapSize; y++) + { + for (int x = 0; x < mapSize; x++) bw.Write(heightmap[x, y]); + } + + bw.Close(); + wfs.Close(); + + foreach (string fn in filenames) File.Delete(fn); + return true; + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainArcGISElevationGenerator.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainArcGISElevationGenerator.cs.meta new file mode 100644 index 000000000..6179ae835 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainArcGISElevationGenerator.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 37b74bd260c68f84b994a8e9b85896e7 +timeCreated: 1558955622 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainBingElevationGenerator.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainBingElevationGenerator.cs new file mode 100644 index 000000000..74716e372 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainBingElevationGenerator.cs @@ -0,0 +1,337 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.Collections.Generic; +using System.IO; +using InfinityCode.RealWorldTerrain.Net; +using InfinityCode.RealWorldTerrain.Phases; +using InfinityCode.RealWorldTerrain.Windows; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Generators +{ + public class RealWorldTerrainBingElevationGenerator : RealWorldTerrainElevationGenerator + { + public static string key; + + private static string bingFolder; + private static object exclusiveLock; + + private string filename; + + private double mx1; + private double mx2; + private double my1; + private double my2; + private double tx1; + private double tx2; + private double ty1; + private double ty2; + private static byte[] readBuffer; + + private RealWorldTerrainBingElevationGenerator(double x1, double y1, double x2, double y2, double tx1, double ty1, double tx2, double ty2) + { + this.tx1 = tx1; + this.ty1 = ty1; + this.tx2 = tx2; + this.ty2 = ty2; + RealWorldTerrainGeo.LatLongToMercat(x1, y1, out mx1, out my1); + RealWorldTerrainGeo.LatLongToMercat(x2, y2, out mx2, out my2); + + filename = Path.Combine( + RealWorldTerrainEditorUtils.heightmapCacheFolder, + String.Format(RealWorldTerrainCultureInfo.numberFormat, "bing_{0}x{1}x{2}x{3}x{4}.rwt", x1, y1, x2, y2, mapSize)); + + if (exclusiveLock == null) exclusiveLock = new object(); + + if (!File.Exists(filename)) Download(); + } + + public override bool Contains(double x, double y) + { + return true; + } + + private void Download() + { + int s = mapSize / 32; + double sizeX = (tx2 - tx1) / s; + double sizeY = (ty2 - ty1) / s; + + for (int x = 0; x < s; x++) + { + double tsx = sizeX * x + tx1; + double tex = tsx + sizeX; + tex = (tex - tsx) / 33 * 32 + tsx; + + for (int y = 0; y < s; y++) + { + double tsy = sizeY * y + ty1; + double tey = tsy + sizeY; + tey = (tey - tsy) / 33 * 32 + tsy; + + double sx, sy, ex, ey; + RealWorldTerrainGeo.TileToLatLong(tsx, tsy, 20, out sx, out sy); + RealWorldTerrainGeo.TileToLatLong(tex, tey, 20, out ex, out ey); + + string partFilename = Path.Combine(bingFolder, string.Format(RealWorldTerrainCultureInfo.numberFormat, "bing_{0}x{1}x{2}x{3}x{4}.json", sx, sy, ex, ey, mapSize)); + + if (!File.Exists(partFilename)) + { + string partURL = string.Format(RealWorldTerrainCultureInfo.numberFormat, "https://dev.virtualearth.net/REST/v1/Elevation/Bounds?bounds={0},{1},{2},{3}&rows=32&cols=32&key={4}", ey, sx, sy, ex, key); + new RealWorldTerrainDownloadItemWebClient(partURL) + { + exclusiveLock = exclusiveLock, + filename = partFilename, + averageSize = 5200 + }; + } + } + } + } + + public new static void Dispose() + { + if (elevations != null) + { + foreach (RealWorldTerrainElevationGenerator elevation in elevations) elevation.heightmap = null; + } + elevations = null; + readBuffer = null; + } + + public static void GetBingElevationRange(out double minEl, out double maxEl) + { + minEl = double.MaxValue; + maxEl = double.MinValue; + + foreach (RealWorldTerrainBingElevationGenerator elevation in elevations) + { + foreach (short h in elevation.heightmap) + { + if (h < minEl) minEl = h; + if (h > maxEl) maxEl = h; + } + } + + if (prefs.generateUnderWater && minEl > prefs.nodataValue) minEl = prefs.nodataValue; + } + + public override double GetElevationValue(double x, double y) + { + double ex = (x - mx1) / (mx2 - mx1); + double ey = 1 - (my2 - y) / (my2 - my1); + + double cx = ex * mapSize2; + double cy = ey * mapSize2; + + int ix = (int)cx; + int iy = (int)cy; + + if (prefs.generateUnderWater && prefs.nodataValue != 0 && GetValue(ix, iy) <= 0) return double.MinValue; + + double ox = cx - ix; + double oy = cy - iy; + + double e = GetSmoothElevation(ox - 1, ox - 2, ox + 1, oy - 1, oy - 2, oy + 1, ix, iy, ox, ix + 1, oy, iy + 1, ox * oy, ix - 1, iy - 1, ix + 2, iy + 2); + return e; + } + + public static void Init() + { + mapSize = prefs.heightmapResolution - 1; + + double sx = prefs.leftLongitude; + double sy = prefs.topLatitude; + double ex = prefs.rightLongitude; + double ey = prefs.bottomLatitude; + + double dx, dy; + RealWorldTerrainMath.DistanceBetweenPoints(sx, sy, ex, ey, out dx, out dy); + + while (mapSize > 32 && dx / mapSize < 0.005 && dy / mapSize < 0.005) mapSize /= 2; + mapSize2 = mapSize - 1; + + bingFolder = Path.Combine(RealWorldTerrainEditorUtils.heightmapCacheFolder, "BingParts"); + if (!Directory.Exists(bingFolder)) Directory.CreateDirectory(bingFolder); + + double stx, sty, etx, ety; + RealWorldTerrainGeo.LatLongToTile(sx, sy, 20, out stx, out sty); + RealWorldTerrainGeo.LatLongToTile(ex, ey, 20, out etx, out ety); + + double rx = (etx - stx) / 2; + double ry = (ety - sty) / 2; + + double ctx = stx + rx; + double cty = sty + ry; + + rx *= 1.1; + ry *= 1.1; + + stx = ctx - rx; + sty = cty - ry; + etx = ctx + rx; + ety = cty + ry; + + elevations = new List(); + + double cx1, cy1, cx2, cy2; + RealWorldTerrainGeo.TileToLatLong(stx, sty, 20, out cx1, out cy1); + RealWorldTerrainGeo.TileToLatLong(etx, ety, 20, out cx2, out cy2); + + double rangeX = prefs.rightLongitude - prefs.leftLongitude; + + double dsx = Math.Abs(prefs.depthSharpness) * rangeX / (prefs.heightmapResolution - 1) / prefs.terrainCount.x; + depthStep = (float)dsx * 100; + + elevations.Add(new RealWorldTerrainBingElevationGenerator(cx1, cy1, cx2, cy2, stx, sty, etx, ety)); + } + + public static bool Load() + { + for (int i = 0; i < elevations.Count; i++) + { + RealWorldTerrainBingElevationGenerator elevation = (RealWorldTerrainBingElevationGenerator)elevations[i]; + RealWorldTerrainPhase.phaseProgress = i / (float)elevations.Count; + if (File.Exists(elevation.filename)) elevation.LoadHeightmap(); + else if (!elevation.TryLoadParts()) + { + Debug.LogError("Cant load elevation data"); + return false; + } + } + return true; + } + + private void LoadHeightmap() + { + heightmap = new short[mapSize, mapSize]; + FileStream fs = File.OpenRead(filename); + const int size = 32768; + int c = 0; + RealWorldTerrainPhase.phaseProgress = 0; + bool bingMapsUseZeroAsUnknown = prefs.bingMapsUseZeroAsUnknown; + short x = 0, y = 0; + if (readBuffer == null) readBuffer = new byte[size]; + do + { + int count = fs.Read(readBuffer, 0, size); + + for (int i = 0; i < count; i += 2) + { + short v = (short) (readBuffer[i] | (readBuffer[i + 1] << 8)); + if (bingMapsUseZeroAsUnknown && v == 0) v = short.MinValue; + heightmap[x, y] = v; + x++; + if (x == mapSize) + { + x = 0; + y++; + } + c++; + } + if (!RealWorldTerrainWindow.isCapturing) + { + fs.Close(); + return; + } + } + while (fs.Position != fs.Length); + + fs.Close(); + GC.Collect(); + } + + private bool TryLoadParts() + { + int s = mapSize / 32; + double sizeX = (tx2 - tx1) / s; + double sizeY = (ty2 - ty1) / s; + heightmap = new short[mapSize, mapSize]; + + List filenames = new List(); + + for (int x = 0; x < s; x++) + { + double tsx = sizeX * x + tx1; + double tex = tsx + sizeX; + tex = (tex - tsx) / 33 * 32 + tsx; + + for (int y = 0; y < s; y++) + { + double tsy = sizeY * y + ty1; + double tey = tsy + sizeY; + tey = (tey - tsy) / 33 * 32 + tsy; + + double sx, sy, ex, ey; + RealWorldTerrainGeo.TileToLatLong(tsx, tsy, 20, out sx, out sy); + RealWorldTerrainGeo.TileToLatLong(tex, tey, 20, out ex, out ey); + + string partFilename = Path.Combine(bingFolder, String.Format(RealWorldTerrainCultureInfo.numberFormat, "bing_{0}x{1}x{2}x{3}x{4}.json", sx, sy, ex, ey, mapSize)); + + if (!File.Exists(partFilename)) return false; + + filenames.Add(partFilename); + string json = File.ReadAllText(partFilename); + + string startStr = "\"elevations\":["; + int startIndex = json.IndexOf(startStr); + if (startIndex != -1) + { + int index = 0; + int v = 0; + bool isNegative = false; + + int fx, fy; + short sv; + + for (int i = startIndex + startStr.Length; i < json.Length; i++) + { + char c = json[i]; + if (c == ',') + { + fx = index % 32; + fy = 31 - index / 32; + if (isNegative) v = -v; + sv = (short) v; + heightmap[x * 32 + fx, y * 32 + fy] = sv; + isNegative = false; + v = 0; + index++; + } + else if (c == '-') isNegative = true; + else if (c > 47 && c < 58) v = v * 10 + (c - 48); + else break; + } + + fx = index % 32; + fy = 31 - index / 32; + if (isNegative) v = -v; + sv = (short) v; + heightmap[x * 32 + fx, y * 32 + fy] = sv; + } + else + { + Debug.Log("cannot find elevations"); + return false; + } + } + } + + FileStream wfs = File.OpenWrite(filename); + BinaryWriter bw = new BinaryWriter(wfs); + + for (int y = 0; y < mapSize; y++) + { + for (int x = 0; x < mapSize; x++) bw.Write(heightmap[x, y]); + } + + bw.Close(); + wfs.Close(); + + foreach (string fn in filenames) File.Delete(fn); + return true; + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainBingElevationGenerator.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainBingElevationGenerator.cs.meta new file mode 100644 index 000000000..d58f81208 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainBingElevationGenerator.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: dfbc6397e7e32804fac59599616af124 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainBuildR2Generator.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainBuildR2Generator.cs new file mode 100644 index 000000000..8041e86e8 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainBuildR2Generator.cs @@ -0,0 +1,211 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.Collections.Generic; +using System.Linq; +using InfinityCode.RealWorldTerrain.OSM; +using InfinityCode.RealWorldTerrain.Phases; +using InfinityCode.RealWorldTerrain.Windows; +using UnityEditor; +using UnityEngine; +using Random = UnityEngine.Random; +#if BUILDR2 +using BuildR2; +#endif + +namespace InfinityCode.RealWorldTerrain.Generators +{ + public static class RealWorldTerrainBuildR2Generator + { + public static List alreadyCreated; + + private static RealWorldTerrainPrefs prefs + { + get { return RealWorldTerrainWindow.prefs; } + } + + private static void CreateBuilding(RealWorldTerrainContainer globalContainer, RealWorldTerrainOSMWay way) + { +#if BUILDR2 + List points = RealWorldTerrainOSMUtils.GetGlobalPointsFromWay(way, RealWorldTerrainBuildingGenerator.nodes); + + if (points.Count < 3) return; + + if (points.First() == points.Last()) + { + points.Remove(points.Last()); + if (points.Count < 3) return; + } + + RealWorldTerrainBuildingGenerator.GetGlobalPoints(points, globalContainer); + + for (int i = 0; i < points.Count; i++) + { + int prev = i - 1; + if (prev < 0) prev = points.Count - 1; + + int next = i + 1; + if (next >= points.Count) next = 0; + + if ((points[prev] - points[i]).magnitude < 1f) + { + points.RemoveAt(i); + i--; + continue; + } + + if ((points[next] - points[i]).magnitude < 1f) + { + points.RemoveAt(next); + continue; + } + + float a1 = RealWorldTerrainMath.Angle2D(points[prev], points[i]); + float a2 = RealWorldTerrainMath.Angle2D(points[i], points[next]); + + if (Mathf.Abs(a1 - a2) < 5) + { + points.RemoveAt(i); + i--; + } + } + + if (points.Count < 3) return; + + Vector3 centerPoint = Vector3.zero; + centerPoint = points.Aggregate(centerPoint, (current, point) => current + point) / points.Count; + centerPoint.y = points.Min(p => p.y); + + int southIndex = -1; + float southZ = float.MaxValue; + + for (int i = 0; i < points.Count; i++) + { + points[i] -= centerPoint; + + if (points[i].z < southZ) + { + southZ = points[i].z; + southIndex = i; + } + } + + int prevIndex = southIndex - 1; + if (prevIndex < 0) prevIndex = points.Count - 1; + + int nextIndex = southIndex + 1; + if (nextIndex >= points.Count) nextIndex = 0; + + float angle1 = RealWorldTerrainMath.Angle2D(points[southIndex], points[nextIndex]); + float angle2 = RealWorldTerrainMath.Angle2D(points[southIndex], points[prevIndex]); + + if (angle1 < angle2) points.Reverse(); + + GameObject house = RealWorldTerrainUtils.CreateGameObject(RealWorldTerrainBuildingGenerator.houseContainer, way.id); + house.AddComponent().GetFromOSM(way); + house.AddComponent(); + Building building = house.AddComponent(); + + building.colliderType = (BuildingColliderTypes)prefs.buildRCollider; + building.meshType = (BuildingMeshTypes)prefs.buildRRenderMode; + building.generateInteriors = false; + + IVolume volume = building.AddPlan(); + + int numberOfFloors = prefs.buildingFloorLimits.Random(); + + if (way.HasTagKey("building:levels")) + { + int l; + if (int.TryParse(way.GetTagValue("building:levels"), out l)) numberOfFloors = l; + } + + if (numberOfFloors > 1) numberOfFloors -= 1; + + volume.Initialise(points.Select(p => new VolumePoint(new BuildR2.Vector2Int(p.x, p.z))).Reverse().ToList(), numberOfFloors, Random.Range(2.5f, 4f)); + + volume.roof.hasDormers = true; + volume.roof.floorDepth = Random.Range(0, 0.25f); + volume.roof.minimumDormerSpacing = Random.Range(0.25f, 1f); + volume.roof.dormerHeight = volume.roof.height * 0.9f; + + if (prefs.buildR2Materials != null && prefs.buildR2Materials.Count > 0) + { + RealWorldTerrainBuildR2Material material = prefs.buildR2Materials[Random.Range(0, prefs.buildR2Materials.Count)]; + + if (material.roofSurface != null) volume.roof.mainSurface = material.roofSurface; + volume.roof.type = material.roofType; + + if (material.facades != null && material.facades.Count > 0) + { + int facadeCount = volume.numberOfFacades; + for (int f = 0; f < facadeCount; f++) volume.SetFacade(f, material.facades[Random.Range(0, material.facades.Count)]); + } + } + + building.MarkModified(); + + house.transform.position = centerPoint; + + Visual visual = house.AddComponent(); + visual.building = building; +#endif + } + + public static void Generate(RealWorldTerrainContainer globalContainer) + { + if (!RealWorldTerrainBuildingGenerator.loaded) + { + RealWorldTerrainBuildingGenerator.Load(); + + if (RealWorldTerrainBuildingGenerator.ways.Count == 0) + { + RealWorldTerrainPhase.phaseComplete = true; + return; + } + + if (RealWorldTerrainWindow.generateTarget is RealWorldTerrainItem) + { + RealWorldTerrainItem item = RealWorldTerrainWindow.generateTarget as RealWorldTerrainItem; + RealWorldTerrainBuildingGenerator.baseContainer = RealWorldTerrainUtils.CreateGameObject(globalContainer, "Buildings " + item.x + "x" + (item.container.terrainCount.y - item.y - 1)); + RealWorldTerrainBuildingGenerator.baseContainer.transform.position = item.transform.position; + } + else RealWorldTerrainBuildingGenerator.baseContainer = RealWorldTerrainUtils.CreateGameObject(globalContainer, "Buildings"); + + RealWorldTerrainBuildingGenerator.houseContainer = RealWorldTerrainUtils.CreateGameObject(RealWorldTerrainBuildingGenerator.baseContainer, "Houses"); + globalContainer.generatedBuildings = true; + + if (RealWorldTerrainBuildingGenerator.ways.Count == 0) + { + RealWorldTerrainPhase.phaseComplete = true; + return; + } + + alreadyCreated = new List(); + } + + EditorUtility.DisplayProgressBar("Generate Buildings", "", 0); + + for (int i = RealWorldTerrainPhase.index; i < RealWorldTerrainBuildingGenerator.ways.Count; i++) + { + RealWorldTerrainOSMWay way = RealWorldTerrainBuildingGenerator.ways.Values.ElementAt(i); + if (alreadyCreated.Contains(way.id)) continue; + if (way.GetTagValue("building") == "bridge") continue; + string layer = way.GetTagValue("layer"); + if (!string.IsNullOrEmpty(layer) && int.Parse(layer) < 0) continue; + + CreateBuilding(globalContainer, way); + alreadyCreated.Add(way.id); + + float progress = (i + 1) / (float)RealWorldTerrainBuildingGenerator.ways.Count; + if (EditorUtility.DisplayCancelableProgressBar("Generate Buildings " + (progress * 100).ToString("F2") + "%", "", progress)) break; + } + + EditorUtility.ClearProgressBar(); + + alreadyCreated = null; + RealWorldTerrainPhase.phaseComplete = true; + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainBuildR2Generator.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainBuildR2Generator.cs.meta new file mode 100644 index 000000000..f78ea285a --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainBuildR2Generator.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cf09745e0ad7d184fa2389cefbe0ea14 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainBuildR3Generator.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainBuildR3Generator.cs new file mode 100644 index 000000000..1348787fb --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainBuildR3Generator.cs @@ -0,0 +1,217 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.Collections.Generic; +using System.Linq; +using InfinityCode.RealWorldTerrain.OSM; +using InfinityCode.RealWorldTerrain.Phases; +using InfinityCode.RealWorldTerrain.Windows; +using UnityEditor; +using UnityEngine; +using Random = UnityEngine.Random; + +#if BUILDR3 +using BuildRCities; +using BuildRCities.Scene; +using JSpace; +#endif + +namespace InfinityCode.RealWorldTerrain.Generators +{ + public static class RealWorldTerrainBuildR3Generator + { + public static List alreadyCreated; + + private static RealWorldTerrainPrefs prefs + { + get { return RealWorldTerrainWindow.prefs; } + } + + private static void CreateBuilding(RealWorldTerrainContainer globalContainer, RealWorldTerrainOSMWay way) + { +#if BUILDR3 + float minLng, minLat, maxLng, maxLat; + List points = RealWorldTerrainOSMUtils.GetGlobalPointsFromWay(way, RealWorldTerrainBuildingGenerator.nodes, out minLng, out minLat, out maxLng, out maxLat); + + if (maxLng < prefs.leftLongitude || + maxLat < prefs.bottomLatitude || + minLng > prefs.rightLongitude || + minLat > prefs.topLatitude) return; + + if (points.Count < 3) return; + + if (points.First() == points.Last()) + { + points.Remove(points.Last()); + if (points.Count < 3) return; + } + + RealWorldTerrainBuildingGenerator.GetGlobalPoints(points, globalContainer); + + for (int i = 0; i < points.Count; i++) + { + int prev = i - 1; + if (prev < 0) prev = points.Count - 1; + + int next = i + 1; + if (next >= points.Count) next = 0; + + Vector3 p = points[i]; + Vector3 pp = points[prev]; + if ((pp - p).sqrMagnitude < 1f) + { + points.RemoveAt(i); + i--; + continue; + } + + if ((points[next] - p).sqrMagnitude < 1f) + { + points.RemoveAt(next); + continue; + } + + float a1 = RealWorldTerrainMath.Angle2D(pp, p); + float a2 = RealWorldTerrainMath.Angle2D(p, points[next]); + + if (Mathf.Abs(a1 - a2) < 5) + { + points.RemoveAt(i); + i--; + continue; + } + } + + if (points.Count < 3) return; + + Vector3 centerPoint = Vector3.zero; + centerPoint = points.Aggregate(centerPoint, (current, point) => current + point) / points.Count; + centerPoint.y = points.Min(p => p.y); + + int southIndex = -1; + float southZ = float.MaxValue; + + for (int i = 0; i < points.Count; i++) + { + points[i] -= centerPoint; + + if (points[i].z < southZ) + { + southZ = points[i].z; + southIndex = i; + } + } + + int prevIndex = southIndex - 1; + if (prevIndex < 0) prevIndex = points.Count - 1; + + int nextIndex = southIndex + 1; + if (nextIndex >= points.Count) nextIndex = 0; + + float angle1 = RealWorldTerrainMath.Angle2D(points[southIndex], points[nextIndex]); + float angle2 = RealWorldTerrainMath.Angle2D(points[southIndex], points[prevIndex]); + + if (angle1 < angle2) points.Reverse(); + + GameObject house = RealWorldTerrainUtils.CreateGameObject(RealWorldTerrainBuildingGenerator.houseContainer, way.id); + house.AddComponent().GetFromOSM(way); + house.AddComponent(); + Building building = house.AddComponent(); + + Volume volume = building.content.AddNewVolume(); + + int numberOfFloors = prefs.buildingFloorLimits.Random(); + + if (way.HasTagKey("building:levels")) + { + int l; + if (int.TryParse(way.GetTagValue("building:levels"), out l)) numberOfFloors = l; + } + + if (numberOfFloors > 1) numberOfFloors -= 1; + + volume.Initialise(points.Select(p => new VolumePoint(new Vector2Fixed(p.x, p.z))).Reverse().ToList(), numberOfFloors, Random.Range(2.5f, 4f)); + + volume.roof.hasDormers = true; + volume.roof.floorDepth = Random.Range(0, 0.25f); + volume.roof.minimumDormerSpacing = Random.Range(0.25f, 1f); + volume.roof.dormerStyle.dormerHeight = volume.roof.height * 0.9f; + + if (prefs.buildR3Materials != null && prefs.buildR3Materials.Count > 0) + { + RealWorldTerrainBuildR3Material material = prefs.buildR3Materials[Random.Range(0, prefs.buildR3Materials.Count)]; + + if (material.roofTexture != null) volume.roof.floorDynamicTextureId = material.roofTexture.content.buid; + volume.roof.type = material.roofType; + + if (material.wallFacade != null) + { + for (int i = 0; i < points.Count; i++) volume.SetExternalFacade(i, material.wallFacade.content); + } + } + + if (prefs.buildR3Collider) building.detailLevel.buildingColliderLod = BuildRLodLevels.Lod0; + building.MarkModified(); + + house.transform.position = centerPoint; + house.AddComponent(); +#endif + } + + public static void Generate(RealWorldTerrainContainer globalContainer) + { + if (!RealWorldTerrainBuildingGenerator.loaded) + { + RealWorldTerrainBuildingGenerator.Load(); + + if (RealWorldTerrainBuildingGenerator.ways.Count == 0) + { + RealWorldTerrainPhase.phaseComplete = true; + return; + } + + if (RealWorldTerrainWindow.generateTarget is RealWorldTerrainItem) + { + RealWorldTerrainItem item = RealWorldTerrainWindow.generateTarget as RealWorldTerrainItem; + RealWorldTerrainBuildingGenerator.baseContainer = RealWorldTerrainUtils.CreateGameObject(globalContainer, "Buildings " + item.x + "x" + (item.container.terrainCount.y - item.y - 1)); + RealWorldTerrainBuildingGenerator.baseContainer.transform.position = item.transform.position; + } + else RealWorldTerrainBuildingGenerator.baseContainer = RealWorldTerrainUtils.CreateGameObject(globalContainer, "Buildings"); + + RealWorldTerrainBuildingGenerator.houseContainer = RealWorldTerrainUtils.CreateGameObject(RealWorldTerrainBuildingGenerator.baseContainer, "Houses"); + globalContainer.generatedBuildings = true; + + if (RealWorldTerrainBuildingGenerator.ways.Count == 0) + { + RealWorldTerrainPhase.phaseComplete = true; + return; + } + + alreadyCreated = new List(); + } + + EditorUtility.DisplayProgressBar("Generate Buildings", "", 0); + + for (int i = RealWorldTerrainPhase.index; i < RealWorldTerrainBuildingGenerator.ways.Count; i++) + { + RealWorldTerrainOSMWay way = RealWorldTerrainBuildingGenerator.ways.Values.ElementAt(i); + if (alreadyCreated.Contains(way.id)) continue; + if (way.GetTagValue("building") == "bridge") continue; + string layer = way.GetTagValue("layer"); + if (!String.IsNullOrEmpty(layer) && Int32.Parse(layer) < 0) continue; + + CreateBuilding(globalContainer, way); + alreadyCreated.Add(way.id); + + float progress = (i + 1) / (float)RealWorldTerrainBuildingGenerator.ways.Count; + if (EditorUtility.DisplayCancelableProgressBar("Generate Buildings " + (progress * 100).ToString("F2") + "%", "", progress)) break; + } + + EditorUtility.ClearProgressBar(); + + alreadyCreated = null; + RealWorldTerrainPhase.phaseComplete = true; + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainBuildR3Generator.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainBuildR3Generator.cs.meta new file mode 100644 index 000000000..37a9996e0 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainBuildR3Generator.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d906466387212ac458e18661c693f335 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainBuildingGenerator.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainBuildingGenerator.cs new file mode 100644 index 000000000..692ec88c2 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainBuildingGenerator.cs @@ -0,0 +1,809 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.Collections.Generic; +using System.Globalization; +using System.IO; +using System.Linq; +using InfinityCode.RealWorldTerrain.Net; +using InfinityCode.RealWorldTerrain.OSM; +using InfinityCode.RealWorldTerrain.Phases; +using InfinityCode.RealWorldTerrain.Windows; +using UnityEditor; +using UnityEngine; +using Object = UnityEngine.Object; +using Random = UnityEngine.Random; + +namespace InfinityCode.RealWorldTerrain.Generators +{ + public static class RealWorldTerrainBuildingGenerator + { + private const int multiRequestZoom = 12; + + public static Func, RealWorldTerrainOSMWay, Dictionary, bool> OnGenerateBuilding; + + public static GameObject baseContainer; + public static GameObject houseContainer; + + private static Material defHouseRoofMaterial; + private static Material defHouseWallMaterial; + + public static Dictionary nodes; + public static Dictionary ways; + public static List relations; + public static bool loaded; + + private static string url + { + get + { + string format = string.Format(RealWorldTerrainCultureInfo.numberFormat, "(way['building']({0},{1},{2},{3});relation['building']({0},{1},{2},{3}););out;>;out skel qt;", prefs.bottomLatitude, prefs.leftLongitude, prefs.topLatitude, prefs.rightLongitude); + return RealWorldTerrainOSMUtils.osmURL + RealWorldTerrainDownloadManager.EscapeURL(format); + } + } + + private static RealWorldTerrainPrefs prefs + { + get { return RealWorldTerrainWindow.prefs; } + } + + public static string filename + { + get + { + return Path.Combine(RealWorldTerrainEditorUtils.osmCacheFolder, string.Format("buildings_{0}_{1}_{2}_{3}.osm", prefs.bottomLatitude, prefs.leftLongitude, prefs.topLatitude, prefs.rightLongitude)); + } + } + + public static string compressedFilename + { + get + { + return filename + "c"; + } + } + + private static void AddHole(RealWorldTerrainContainer globalContainer, List input, RealWorldTerrainOSMWay hole) + { + List points = RealWorldTerrainOSMUtils.GetGlobalPointsFromWay(hole, nodes); + if (points.Count < 3) return; + if (points.First() == points.Last()) + { + points.Remove(points.Last()); + if (points.Count < 3) return; + } + + GetGlobalPoints(points, globalContainer); + + for (int i = 0; i < points.Count; i++) + { + int prev = i - 1; + if (prev < 0) prev = points.Count - 1; + + int next = i + 1; + if (next >= points.Count) next = 0; + + if ((points[prev] - points[i]).magnitude < 0.01f) + { + points.RemoveAt(i); + i--; + continue; + } + + if ((points[next] - points[i]).magnitude < 0.01f) + { + points.RemoveAt(next); + continue; + } + + float a1 = RealWorldTerrainMath.Angle2D(points[prev], points[i]); + float a2 = RealWorldTerrainMath.Angle2D(points[i], points[next]); + + if (Mathf.Abs(a1 - a2) < 5) + { + points.RemoveAt(i); + i--; + } + } + + if (points.Count < 3) return; + + if (!IsReversed(points)) + { + points.Reverse(); + } + + float closestDistance = float.MaxValue; + int closestIndex1 = -1; + int closestIndex2 = -1; + + int holeCount = points.Count; + float minX = float.MaxValue; + float maxX = float.MinValue; + float minZ = float.MaxValue; + float maxZ = float.MinValue; + + for (int i = 0; i < holeCount; i++) + { + Vector3 p = points[i]; + float px = p.x; + float pz = p.z; + + if (px < minX) minX = px; + if (px > maxX) maxX = px; + if (pz < minZ) minZ = pz; + if (pz > maxZ) maxZ = pz; + } + + float cx = (maxX + minX) / 2; + float cz = (maxZ + minZ) / 2; + + for (int i = 0; i < input.Count; i++) + { + Vector3 p = input[i]; + float px = p.x; + float pz = p.z; + float distance = (px - cx) * (px - cx) + (pz - cz) * (pz - cz); + if (distance < closestDistance) + { + closestDistance = distance; + closestIndex1 = i; + } + } + + cx = input[closestIndex1].x; + cz = input[closestIndex1].z; + closestDistance = float.MaxValue; + + for (int i = 0; i < holeCount; i++) + { + Vector3 p = points[i]; + float px = p.x; + float pz = p.z; + float distance = (px - cx) * (px - cx) + (pz - cz) * (pz - cz); + if (distance < closestDistance) + { + closestDistance = distance; + closestIndex2 = i; + } + } + + int firstPartSize = holeCount - closestIndex2; + input.Insert(closestIndex1, input[closestIndex1]); + closestIndex1++; + input.InsertRange(closestIndex1, points.Skip(closestIndex2).Take(firstPartSize)); + input.InsertRange(closestIndex1 + firstPartSize, points.Take(closestIndex2 + 1)); + } + + private static void AddHoles(RealWorldTerrainContainer globalContainer, RealWorldTerrainOSMWay way, List points) + { + for (int i = 0; i < way.holes.Count; i++) + { + RealWorldTerrainOSMWay hole = way.holes[i]; + if (hole.nodeRefs.First() == hole.nodeRefs.Last()) AddHole(globalContainer, points, hole); + else + { + while (true) + { + bool success = false; + for (int j = i + 1; j < way.holes.Count; j++) + { + RealWorldTerrainOSMWay h2 = way.holes[j]; + if (hole.nodeRefs.Last() == h2.nodeRefs.First()) + { + hole.nodeRefs.AddRange(h2.nodeRefs.Skip(1)); + way.holes.RemoveAt(j); + success = true; + break; + } + + if (hole.nodeRefs.Last() == h2.nodeRefs.Last()) + { + h2.nodeRefs.Reverse(); + hole.nodeRefs.AddRange(h2.nodeRefs.Skip(1)); + way.holes.RemoveAt(j); + success = true; + break; + } + } + + if (!success) break; + + if (hole.nodeRefs.First() == hole.nodeRefs.Last()) + { + AddHole(globalContainer, points, hole); + break; + } + } + } + } + } + + private static void AnalyzeHouseRoofType(RealWorldTerrainOSMWay way, ref float baseHeight, + ref RealWorldTerrainRoofType roofType, ref float roofHeight) + { + string roofShape = way.GetTagValue("roof:shape"); + string roofHeightStr = way.GetTagValue("roof:height"); + string minHeightStr = way.GetTagValue("min_height"); + if (!string.IsNullOrEmpty(roofShape)) + { + if ((roofShape == "dome" || roofShape == "pyramidal") && !String.IsNullOrEmpty(roofHeightStr)) + { + GetHeightFromString(roofHeightStr, ref roofHeight); + baseHeight -= roofHeight; + roofType = RealWorldTerrainRoofType.dome; + } + } + else if (!string.IsNullOrEmpty(roofHeightStr)) + { + GetHeightFromString(roofHeightStr, ref roofHeight); + baseHeight -= roofHeight; + roofType = RealWorldTerrainRoofType.dome; + } + else if (!string.IsNullOrEmpty(minHeightStr)) + { + float totalHeight = baseHeight; + GetHeightFromString(minHeightStr, ref baseHeight); + roofHeight = totalHeight - baseHeight; + roofType = RealWorldTerrainRoofType.dome; + } + } + + private static void AnalyzeHouseTags(RealWorldTerrainOSMWay way, ref Material wallMaterial, ref Material roofMaterial, + ref float baseHeight, bool useDefaultMaterials, ref bool saveMaterials) + { + string heightStr = way.GetTagValue("height"); + string levelsStr = way.GetTagValue("building:levels"); + GetHeightFromString(heightStr, ref baseHeight); + if (string.IsNullOrEmpty(heightStr)) + { + if (!string.IsNullOrEmpty(levelsStr)) + { + float h; + if (float.TryParse(levelsStr, NumberStyles.AllowDecimalPoint, RealWorldTerrainCultureInfo.cultureInfo, out h)) baseHeight = h * RealWorldTerrainWindow.prefs.buildingFloorHeight; + } + else baseHeight = RealWorldTerrainWindow.prefs.buildingFloorLimits.Random() * RealWorldTerrainWindow.prefs.buildingFloorHeight; + } + + if (prefs.buildingUseColorTags) + { + string colorStr = way.GetTagValue("building:colour"); + if (useDefaultMaterials && !string.IsNullOrEmpty(colorStr)) + { + Color color = RealWorldTerrainUtils.StringToColor(colorStr); + if (color != wallMaterial.color) + { + if (!saveMaterials) + { + saveMaterials = true; + wallMaterial = Object.Instantiate(wallMaterial); + roofMaterial = Object.Instantiate(roofMaterial); + } + wallMaterial.color = roofMaterial.color = color; + } + } + } + } + + private static void CreateHouse(RealWorldTerrainOSMWay way, RealWorldTerrainContainer globalContainer) + { + float minLng, minLat, maxLng, maxLat; + List points = RealWorldTerrainOSMUtils.GetGlobalPointsFromWay(way, nodes, out minLng, out minLat, out maxLng, out maxLat); + if (points.Count < 3) return; + + if (maxLng < prefs.leftLongitude || + maxLat < prefs.bottomLatitude || + minLng > prefs.rightLongitude || + minLat > prefs.topLatitude) return; + + if (points.First() == points.Last()) + { + points.Remove(points.Last()); + if (points.Count < 3) return; + } + + GetGlobalPoints(points, globalContainer); + + for (int i = 0; i < points.Count; i++) + { + int prev = i - 1; + if (prev < 0) prev = points.Count - 1; + + int next = i + 1; + if (next >= points.Count) next = 0; + + if ((points[prev] - points[i]).magnitude < 0.01f) + { + points.RemoveAt(i); + i--; + continue; + } + + if ((points[next] - points[i]).magnitude < 0.01f) + { + points.RemoveAt(next); + continue; + } + + float a1 = RealWorldTerrainMath.Angle2D(points[prev], points[i]); + float a2 = RealWorldTerrainMath.Angle2D(points[i], points[next]); + + if (Mathf.Abs(a1 - a2) < 5) + { + points.RemoveAt(i); + i--; + } + } + + if (points.Count < 3) return; + if (IsReversed(points)) points.Reverse(); + + if (OnGenerateBuilding != null) + { + try + { + if (OnGenerateBuilding(points, way, nodes)) return; + } + catch (Exception exception) + { + Debug.LogException(exception); + return; + } + } + + Vector3 centerPoint = Vector3.zero; + centerPoint = points.Aggregate(centerPoint, (current, point) => current + point) / points.Count; + centerPoint.y = points.Min(p => p.y); + + if (way.holes != null) AddHoles(globalContainer, way, points); + + float baseHeight = 15; + float roofHeight = 0; + + RealWorldTerrainBuildingMaterial buildingMaterial = null; + Material wallMaterial; + Material roofMaterial; + bool saveMaterials = false; + + bool useDefaultMaterials = true; + + if (prefs.buildingMaterials == null || prefs.buildingMaterials.Count == 0) + { + wallMaterial = GetMaterialByTags("OSM-House-Wall-Material", way.tags, defHouseWallMaterial); + roofMaterial = GetMaterialByTags("OSM-House-Roof-Material", way.tags, defHouseRoofMaterial); + } + else + { + useDefaultMaterials = false; + int rnd = Random.Range(0, prefs.buildingMaterials.Count); + buildingMaterial = prefs.buildingMaterials[rnd]; + wallMaterial = buildingMaterial.wall != null ? buildingMaterial.wall : defHouseWallMaterial; + roofMaterial = buildingMaterial.roof != null ? buildingMaterial.roof : defHouseRoofMaterial; + } + + wallMaterial = wallMaterial != null ? wallMaterial : defHouseWallMaterial; + roofMaterial = roofMaterial != null ? roofMaterial : defHouseRoofMaterial; + + RealWorldTerrainRoofType roofType = RealWorldTerrainRoofType.flat; + AnalyzeHouseTags(way, ref wallMaterial, ref roofMaterial, ref baseHeight, useDefaultMaterials, ref saveMaterials); + AnalyzeHouseRoofType(way, ref baseHeight, ref roofType, ref roofHeight); + + Vector3[] baseVertices = points.Select(p => p - centerPoint).ToArray(); + + GameObject houseGO = RealWorldTerrainUtils.CreateGameObject(houseContainer, "House " + way.id); + houseGO.transform.position = centerPoint; + + RealWorldTerrainBuilding house = prefs.dynamicBuildings ? houseGO.AddComponent() : houseGO.AddComponent(); + house.baseHeight = baseHeight; + house.baseVertices = baseVertices; + house.startHeight = -prefs.buildingBasementDepth; + house.container = RealWorldTerrainWindow.container; + house.roofHeight = roofHeight; + house.roofType = roofType; + house.generateWall = true; + house.wallMaterial = wallMaterial; + house.roofMaterial = roofMaterial; + if (buildingMaterial != null) + { + house.tileSize = buildingMaterial.tileSize; + } + house.id = way.id; + + if (way.HasTagKey("building")) + { + string buildingType = way.GetTagValue("building"); + if (buildingType == "roof") house.generateWall = false; + } + + house.Generate(); + + string folder = RealWorldTerrainWindow.container.folder + "/Buildings/"; + + if (prefs.buildingSaveInResult) + { + if (saveMaterials) + { + string materialsFolder = folder + "Materials/"; + if (!Directory.Exists(materialsFolder)) Directory.CreateDirectory(materialsFolder); + + string roofMaterialPath = materialsFolder + "House " + way.id + " Roof.mat"; + + MeshRenderer meshRenderer = house.GetComponent(); + RealWorldTerrainSaveBuildingsPhase.renderersToSave.Add(new RealWorldTerrainSaveBuildingsPhase.SavableRenderer + { + index = 0, + path = roofMaterialPath, + renderer = meshRenderer + }); + + if (house.generateWall) + { + string wallMaterialPath = materialsFolder + "House " + way.id + " Wall.mat"; + + RealWorldTerrainSaveBuildingsPhase.renderersToSave.Add(new RealWorldTerrainSaveBuildingsPhase.SavableRenderer + { + index = 1, + path = wallMaterialPath, + renderer = meshRenderer + }); + } + } + + if (!prefs.dynamicBuildings) + { + string meshesPath = folder + "Meshes/"; + if (!Directory.Exists(meshesPath)) Directory.CreateDirectory(meshesPath); + + string wallMeshPath = meshesPath + "House " + way.id + ".asset"; + RealWorldTerrainSaveBuildingsPhase.filtersToSave.Add(house.meshFilter, wallMeshPath); + } + } + + houseGO.AddComponent().GetFromOSM(way); + } + + public static void Dispose() + { + loaded = false; + + ways = null; + nodes = null; + relations = null; + + defHouseRoofMaterial = null; + defHouseWallMaterial = null; + + baseContainer = null; + houseContainer = null; + } + + public static void Download() + { + if (!prefs.generateBuildings) return; + if (prefs.buildingSingleRequest) DownloadSingleRequest(); + else DownloadMultiRequests(); + } + + private static void DownloadMultiRequests() + { + double tlx, tly, brx, bry; + + RealWorldTerrainGeo.LatLongToTile(prefs.leftLongitude, prefs.topLatitude, multiRequestZoom, out tlx, out tly); + RealWorldTerrainGeo.LatLongToTile(prefs.rightLongitude, prefs.bottomLatitude, multiRequestZoom, out brx, out bry); + + int itlx = (int)tlx; + int itly = (int)tly; + int ibrx = (int)brx + 1; + int ibry = (int)bry + 1; + + int maxX = 1 << multiRequestZoom; + if (itlx > ibrx) ibrx += maxX; + + for (int x = itlx; x < ibrx; x++) + { + int cx = x; + if (cx >= maxX) cx -= maxX; + + for (int y = itly; y < ibry; y++) + { + RealWorldTerrainGeo.TileToLatLong(cx, y, multiRequestZoom, out tlx, out tly); + RealWorldTerrainGeo.TileToLatLong(cx + 1, y + 1, multiRequestZoom, out brx, out bry); + + string fn = Path.Combine(RealWorldTerrainEditorUtils.osmCacheFolder, string.Format("buildings_{0}_{1}_{2}_{3}.osm", bry, tlx, tly, brx)); + string cfn = fn + "c"; + if (File.Exists(cfn)) continue; + if (File.Exists(fn)) + { + byte[] data = File.ReadAllBytes(fn); + OnDownloadComplete(ref data, cfn); + } + else + { + string format = string.Format(RealWorldTerrainCultureInfo.numberFormat, "(way['building']({0},{1},{2},{3});relation['building']({0},{1},{2},{3}););out;>;out skel qt;", bry, tlx, tly, brx); + string partURL = RealWorldTerrainOSMUtils.osmURL + RealWorldTerrainDownloadManager.EscapeURL(format); + + RealWorldTerrainDownloadItemWebClient item = new RealWorldTerrainDownloadItemWebClient(partURL) + { + filename = fn, + averageSize = 600000, + exclusiveLock = RealWorldTerrainOSMUtils.OSMLocker, + ignoreRequestProgress = true + }; + + item.OnData += delegate (ref byte[] data) + { + OnDownloadComplete(ref data, cfn); + }; + } + } + } + } + + private static void DownloadSingleRequest() + { + if (File.Exists(compressedFilename)) return; + if (File.Exists(filename)) + { + byte[] data = File.ReadAllBytes(filename); + OnDownloadComplete(ref data, compressedFilename); + } + else + { + RealWorldTerrainDownloadItemWebClient item = new RealWorldTerrainDownloadItemWebClient(url) + { + filename = filename, + averageSize = 600000, + exclusiveLock = RealWorldTerrainOSMUtils.OSMLocker, + ignoreRequestProgress = true + }; + + item.OnData += delegate (ref byte[] data) + { + OnDownloadComplete(ref data, compressedFilename); + }; + } + } + + public static string FixPathString(string path) + { + return RealWorldTerrainUtils.ReplaceString(path, new[] { ":", "/", "\\", "=" }, "-"); + } + + public static void Generate(RealWorldTerrainContainer globalContainer) + { + if (!loaded) + { + Load(); + + if (ways.Count == 0) + { + RealWorldTerrainPhase.phaseComplete = true; + return; + } + + if (RealWorldTerrainWindow.generateTarget is RealWorldTerrainItem) + { + RealWorldTerrainItem item = RealWorldTerrainWindow.generateTarget as RealWorldTerrainItem; + baseContainer = RealWorldTerrainUtils.CreateGameObject(globalContainer, "Buildings " + item.x + "x" + (item.container.terrainCount.y - item.y - 1)); + baseContainer.transform.position = item.transform.position; + } + else baseContainer = RealWorldTerrainUtils.CreateGameObject(globalContainer, "Buildings"); + houseContainer = RealWorldTerrainUtils.CreateGameObject(baseContainer, "Houses"); + + defHouseWallMaterial = RealWorldTerrainEditorUtils.FindMaterial("Default-House-Wall-Material.mat"); + defHouseRoofMaterial = RealWorldTerrainEditorUtils.FindMaterial("Default-House-Roof-Material.mat"); + globalContainer.generatedBuildings = true; + } + + GenerateHouses(globalContainer); + + if (!RealWorldTerrainPhase.phaseComplete) RealWorldTerrainPhase.phaseProgress = RealWorldTerrainPhase.index / (float)(ways.Count); + else RealWorldTerrainPhase.phaseProgress = 1; + } + + private static void GenerateHouses(RealWorldTerrainContainer globalContainer) + { + RealWorldTerrainTimer timer = RealWorldTerrainTimer.Start(); + + while (RealWorldTerrainPhase.index < ways.Count) + { + if (timer.seconds > 1) return; + + RealWorldTerrainOSMWay way = ways.Values.ElementAt(RealWorldTerrainPhase.index); + RealWorldTerrainPhase.index++; + + if (way.GetTagValue("building") == "bridge") continue; + string layer = way.GetTagValue("layer"); + if (!string.IsNullOrEmpty(layer)) + { + int l; + if (int.TryParse(layer, out l) && l < 0) continue; + } + + CreateHouse(way, globalContainer); + } + + RealWorldTerrainPhase.phaseComplete = true; + } + + public static void GetGlobalPoints(List points, RealWorldTerrainContainer globalContainer) + { + bool hasNoValuePoints = false; + bool[] noValues = new bool[points.Count]; + for (int i = 0; i < points.Count; i++) + { + bool success; + Vector3 p = RealWorldTerrainEditorUtils.CoordsToWorldWithElevation(points[i], globalContainer, Vector3.zero, out success); + noValues[i] = !success; + if (!success) hasNoValuePoints = true; + points[i] = p; + } + + if (!hasNoValuePoints) return; + + float sy = 0; + int cy = 0; + for (int i = 0; i < points.Count; i++) + { + if (!noValues[i]) + { + sy += points[i].y; + cy++; + } + } + + if (cy > 0) sy /= cy; + else sy = RealWorldTerrainWindow.prefs.nodataValue * globalContainer.scale.y; + + for (int i = 0; i < points.Count; i++) + { + if (noValues[i]) + { + Vector3 p = points[i]; + p.y = sy; + points[i] = p; + } + } + } + + public static void GetHeightFromString(string str, ref float height) + { + if (string.IsNullOrEmpty(str)) return; + if (float.TryParse(str, NumberStyles.AllowDecimalPoint, RealWorldTerrainCultureInfo.cultureInfo, out height)) return; + + if (str.Substring(str.Length - 2, 2) == "cm") + { + float.TryParse(str.Substring(0, str.Length - 2), NumberStyles.AllowDecimalPoint, RealWorldTerrainCultureInfo.cultureInfo, out height); + height /= 10; + } + else if (str.Substring(str.Length - 1, 1) == "m") float.TryParse(str.Substring(0, str.Length - 1), NumberStyles.AllowDecimalPoint, RealWorldTerrainCultureInfo.cultureInfo, out height); + } + + public static Material GetMaterialByTags(string materialName, List tags, Material defaultMaterial) + { + if (RealWorldTerrainOSMUtils.projectMaterials == null) + { + RealWorldTerrainOSMUtils.projectMaterials = Directory.GetFiles("Assets", "*.mat", SearchOption.AllDirectories); + } + + foreach (RealWorldTerrainOSMTag tag in tags) + { + string matName = string.Format("{0}({1}={2})", materialName, FixPathString(tag.key), FixPathString(tag.value)); + foreach (string projectMaterial in RealWorldTerrainOSMUtils.projectMaterials) + { + if (projectMaterial.Contains(matName)) + { + string assetFN = projectMaterial.Replace("\\", "/"); + return AssetDatabase.LoadAssetAtPath(assetFN); + } + } + } + + return defaultMaterial; + } + + private static bool IsReversed(List points) + { + float minZ = float.MaxValue; + int i2 = -1; + + for (int i = 0; i < points.Count; i++) + { + Vector3 p = points[i]; + if (p.z < minZ) + { + minZ = p.z; + i2 = i; + } + } + + int i1 = i2 - 1; + int i3 = i2 + 1; + if (i1 < 0) i1 += points.Count; + if (i3 >= points.Count) i3 -= points.Count; + + Vector3 p1 = points[i1]; + Vector3 p2 = points[i2]; + Vector3 p3 = points[i3]; + + Vector3 s1 = p2 - p1; + Vector3 s2 = p3 - p1; + + Vector3 side1 = s1; + Vector3 side2 = s2; + + return Vector3.Cross(side1, side2).y <= 0; + } + + public static void Load() + { + if (prefs.buildingSingleRequest) LoadSinglePart(); + else LoadMultiParts(); + loaded = true; + } + + private static void LoadSinglePart() + { + RealWorldTerrainOSMUtils.LoadOSM(compressedFilename, out nodes, out ways, out relations); + } + + private static void LoadMultiParts() + { + double tlx, tly, brx, bry; + + RealWorldTerrainGeo.LatLongToTile(prefs.leftLongitude, prefs.topLatitude, multiRequestZoom, out tlx, out tly); + RealWorldTerrainGeo.LatLongToTile(prefs.rightLongitude, prefs.bottomLatitude, multiRequestZoom, out brx, out bry); + + int itlx = (int)tlx; + int itly = (int)tly; + int ibrx = (int)brx + 1; + int ibry = (int)bry + 1; + + int maxX = 1 << multiRequestZoom; + if (itlx > ibrx) ibrx += maxX; + + nodes = new Dictionary(); + ways = new Dictionary(); + relations = new List(); + + for (int x = itlx; x < ibrx; x++) + { + int cx = x; + if (cx >= maxX) cx -= maxX; + + for (int y = itly; y < ibry; y++) + { + RealWorldTerrainGeo.TileToLatLong(cx, y, multiRequestZoom, out tlx, out tly); + RealWorldTerrainGeo.TileToLatLong(cx + 1, y + 1, multiRequestZoom, out brx, out bry); + + string fn = Path.Combine(RealWorldTerrainEditorUtils.osmCacheFolder, string.Format("buildings_{0}_{1}_{2}_{3}.osm", bry, tlx, tly, brx)); + string cfn = fn + "c"; + + Dictionary ns; + Dictionary ws; + List rs; + RealWorldTerrainOSMUtils.LoadOSM(cfn, out ns, out ws, out rs); + + foreach (KeyValuePair pair in ns) + { + if (!nodes.ContainsKey(pair.Key)) nodes.Add(pair.Key, pair.Value); + } + + foreach (KeyValuePair pair in ws) + { + if (!ways.ContainsKey(pair.Key)) ways.Add(pair.Key, pair.Value); + } + } + } + } + + private static void OnDownloadComplete(ref byte[] data, string fn) + { + nodes = null; + ways = null; + relations = null; + RealWorldTerrainOSMUtils.GenerateCompressedFile(data, ref nodes, ref ways, ref relations, fn); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainBuildingGenerator.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainBuildingGenerator.cs.meta new file mode 100644 index 000000000..8416d5f8d --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainBuildingGenerator.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: db2814fa3c34b174ca852ea5132c3f2c +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainBuildingPrefabGenerator.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainBuildingPrefabGenerator.cs new file mode 100644 index 000000000..68ea7cc5e --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainBuildingPrefabGenerator.cs @@ -0,0 +1,351 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Linq; +using InfinityCode.RealWorldTerrain.OSM; +using InfinityCode.RealWorldTerrain.Phases; +using InfinityCode.RealWorldTerrain.Windows; +using UnityEditor; +using UnityEngine; +using Random = UnityEngine.Random; + +namespace InfinityCode.RealWorldTerrain.Generators +{ + public static class RealWorldTerrainBuildingPrefabGenerator + { + /// + /// Allows intercepting a prefab selection. + /// + public static Func, RealWorldTerrainBuildingPrefab> OnGetPrefab; + + /// + /// Allows you to intercept the calculation of the size of the building. + /// + public static Func, Vector3> OnGetSize; + + private static List usedPrefabs; + private static List corners; + + private static RealWorldTerrainPrefs prefs + { + get { return RealWorldTerrainWindow.prefs; } + } + + private static void CreateBuilding(RealWorldTerrainContainer globalContainer, RealWorldTerrainOSMWay way) + { + List ps = new List(); + + if (OnGetPrefab == null) + { + foreach (RealWorldTerrainBuildingPrefab p in usedPrefabs) + { + if (p.tags.Count == 0) continue; + + foreach (RealWorldTerrainBuildingPrefab.OSMTag t in p.tags) + { + if (t.hasEmptyValue) + { + if (way.HasTagKey(t.key)) + { + ps.Add(p); + break; + } + } + else if (t.hasEmptyKey) + { + if (way.HasTagValue(t.value)) + { + ps.Add(p); + break; + } + } + else + { + if (way.HasTag(t.key, t.value)) + { + ps.Add(p); + break; + } + } + } + } + + if (ps.Count == 0) + { + foreach (RealWorldTerrainBuildingPrefab p in usedPrefabs) + { + if (p.tags.Count == 0) ps.Add(p); + } + } + + if (ps.Count == 0) return; + } + + List points = RealWorldTerrainOSMUtils.GetGlobalPointsFromWay(way, RealWorldTerrainBuildingGenerator.nodes); + + if (points.Count < 3) return; + + if (points.First() == points.Last()) + { + points.Remove(points.Last()); + if (points.Count < 3) return; + } + + RealWorldTerrainBuildingGenerator.GetGlobalPoints(points, globalContainer); + + for (int i = 0; i < points.Count; i++) + { + int prev = i - 1; + if (prev < 0) prev = points.Count - 1; + + int next = i + 1; + if (next >= points.Count) next = 0; + + if ((points[prev] - points[i]).magnitude < 1f) + { + points.RemoveAt(i); + i--; + continue; + } + + if ((points[next] - points[i]).magnitude < 1f) + { + points.RemoveAt(next); + continue; + } + + float a1 = RealWorldTerrainMath.Angle2D(points[prev], points[i]); + float a2 = RealWorldTerrainMath.Angle2D(points[i], points[next]); + + if (Mathf.Abs(a1 - a2) < 5) + { + points.RemoveAt(i); + i--; + } + } + + if (points.Count < 3) return; + + Vector3 centerPoint = Vector3.zero; + centerPoint = points.Aggregate(centerPoint, (current, point) => current + point) / points.Count; + centerPoint.y = points.Min(p => p.y); + + RealWorldTerrainBuildingPrefab b; + if (OnGetPrefab != null) b = OnGetPrefab(way, points); + else b = ps[Random.Range(0, ps.Count)]; + + if (b == null) return; + + GameObject instance = PrefabUtility.InstantiatePrefab(b.prefab) as GameObject; + Transform transform = instance.transform; + transform.parent = RealWorldTerrainBuildingGenerator.houseContainer.transform; + instance.name = way.id; + + Bounds bb = new Bounds(points[0], Vector3.zero); + + float maxSide = -1; + Vector3 maxPoint1 = Vector3.zero, maxPoint2 = Vector3.zero; + for (int i = 0; i < points.Count; i++) + { + Vector3 p1 = points[i]; + int i2 = i + 1; + if (i2 == points.Count) i2 = 0; + Vector3 p2 = points[i2]; + float l = (p1 - p2).sqrMagnitude; + if (maxSide < l) + { + maxSide = l; + maxPoint1 = p1; + maxPoint2 = p2; + } + + bb.Encapsulate(p1); + } + + float a = 90 - RealWorldTerrainMath.Angle2D(maxPoint1, maxPoint2); + + Collider collider = instance.GetComponent(); + Bounds bounds = collider.bounds; + Vector3 extents = bounds.extents; + + if (OnGetSize != null) transform.localScale = OnGetSize(way, points); + else if (b.sizeMode == RealWorldTerrainBuildingPrefab.SizeMode.fitToBounds) + { + Vector3 p1 = bb.extents; + Vector3 p2 = new Vector3(p1.x, 0, 0); + Vector3 p3 = new Vector3(0, 0, p1.z); + + Quaternion r = Quaternion.Euler(0, -a, 0); + p2 = r * p2; + p3 = r * p3; + + p1 = new Vector3( + Mathf.Max(Mathf.Abs(p2.x), Mathf.Abs(p3.x)), + p1.y, + Mathf.Max(Mathf.Abs(p2.z), Mathf.Abs(p3.z))); + + Vector3 s = p1; + s = new Vector3(s.x / extents.x, 1, s.z / extents.z); + + if (b.heightMode == RealWorldTerrainBuildingPrefab.HeightMode.averageXZ) s.y = (s.x + s.z) / 2; + else if (b.heightMode == RealWorldTerrainBuildingPrefab.HeightMode.levelBased) + { + float height = 15; + string heightStr = way.GetTagValue("height"); + string levelsStr = way.GetTagValue("building:levels"); + RealWorldTerrainBuildingGenerator.GetHeightFromString(heightStr, ref height); + if (string.IsNullOrEmpty(heightStr) && !string.IsNullOrEmpty(levelsStr)) + { + float h; + if (float.TryParse(levelsStr, NumberStyles.AllowDecimalPoint, RealWorldTerrainCultureInfo.cultureInfo, out h)) height = h * RealWorldTerrainWindow.prefs.buildingFloorHeight; + } + else height = RealWorldTerrainWindow.prefs.buildingFloorLimits.Random() * RealWorldTerrainWindow.prefs.buildingFloorHeight; + + s.y = height / extents.y * globalContainer.scale.y / 2; + } + else if (b.heightMode == RealWorldTerrainBuildingPrefab.HeightMode.fixedHeight) + { + s.y = b.fixedHeight / extents.y * globalContainer.scale.y / 2; + } + + transform.localScale = s; + } + + transform.rotation = Quaternion.Euler(0, a, 0); + + RealWorldTerrainItem terrainItem = globalContainer.GetItemByWorldPosition(centerPoint); + + if (terrainItem != null) + { + Vector3 origin = centerPoint + new Vector3(0, 100, 0); + Vector3 se = extents; + se.Scale(transform.localScale); + + Collider terrainCollider = terrainItem.GetComponent(); + RaycastHit hit; + Quaternion r = transform.rotation; + + if (corners == null) corners = new List(); + else corners.Clear(); + + if (terrainCollider.Raycast(new Ray(origin + r * new Vector3(-se.x, 0, -se.z), Vector3.down), out hit, 1000)) + { + corners.Add(hit.point.y); + if (hit.point.y < centerPoint.y) centerPoint.y = hit.point.y; + } + if (terrainCollider.Raycast(new Ray(origin + r * new Vector3(se.x, 0, -se.z), Vector3.down), out hit, 1000)) + { + corners.Add(hit.point.y); + if (hit.point.y < centerPoint.y) centerPoint.y = hit.point.y; + } + if (terrainCollider.Raycast(new Ray(origin + r * new Vector3(se.x, 0, se.z), Vector3.down), out hit, 1000)) + { + corners.Add(hit.point.y); + if (hit.point.y < centerPoint.y) centerPoint.y = hit.point.y; + } + if (terrainCollider.Raycast(new Ray(origin + r * new Vector3(-se.x, 0, se.z), Vector3.down), out hit, 1000)) + { + corners.Add(hit.point.y); + if (hit.point.y < centerPoint.y) centerPoint.y = hit.point.y; + } + + if (corners.Count > 0) + { + if (b.placementMode == RealWorldTerrainBuildingPrefab.PlacementMode.lowerCorner) + { + centerPoint.y = corners.Min(); + } + else if (b.placementMode == RealWorldTerrainBuildingPrefab.PlacementMode.highestCorner) + { + centerPoint.y = corners.Max(); + } + else + { + centerPoint.y = corners.Average(); + } + } + } + + transform.position = centerPoint - new Vector3(0, (bounds.min.y - transform.position.y) * transform.localScale.y, 0); + + instance.AddComponent().GetFromOSM(way); + } + + public static void Generate(RealWorldTerrainContainer globalContainer) + { + if (!RealWorldTerrainBuildingGenerator.loaded) + { + if (prefs.buildingPrefabs == null) + { + RealWorldTerrainPhase.phaseComplete = true; + return; + } + + usedPrefabs = new List(prefs.buildingPrefabs); + + usedPrefabs.RemoveAll(b => b.prefab == null); + + foreach (RealWorldTerrainBuildingPrefab p in usedPrefabs) + { + if (p.tags == null) p.tags = new List(); + p.tags.RemoveAll(t => t.isEmpty); + } + + usedPrefabs.RemoveAll(b => !b.hasBounds); + + if (usedPrefabs.Count == 0) + { + RealWorldTerrainPhase.phaseComplete = true; + return; + } + + RealWorldTerrainBuildingGenerator.Load(); + + if (RealWorldTerrainBuildingGenerator.ways.Count == 0) + { + RealWorldTerrainPhase.phaseComplete = true; + return; + } + + if (RealWorldTerrainWindow.generateTarget is RealWorldTerrainItem) + { + RealWorldTerrainItem item = RealWorldTerrainWindow.generateTarget as RealWorldTerrainItem; + RealWorldTerrainBuildingGenerator.baseContainer = RealWorldTerrainUtils.CreateGameObject(globalContainer, "Buildings " + item.x + "x" + (item.container.terrainCount.y - item.y - 1)); + RealWorldTerrainBuildingGenerator.baseContainer.transform.position = item.transform.position; + } + else RealWorldTerrainBuildingGenerator.baseContainer = RealWorldTerrainUtils.CreateGameObject(globalContainer, "Buildings"); + + RealWorldTerrainBuildingGenerator.houseContainer = RealWorldTerrainUtils.CreateGameObject(RealWorldTerrainBuildingGenerator.baseContainer, "Houses"); + globalContainer.generatedBuildings = true; + + if (RealWorldTerrainBuildingGenerator.ways.Count == 0) + { + RealWorldTerrainPhase.phaseComplete = true; + return; + } + } + + EditorUtility.DisplayProgressBar("Generate Buildings", "", 0); + + for (int i = RealWorldTerrainPhase.index; i < RealWorldTerrainBuildingGenerator.ways.Count; i++) + { + RealWorldTerrainOSMWay way = RealWorldTerrainBuildingGenerator.ways.Values.ElementAt(i); + if (way.GetTagValue("building") == "bridge") continue; + string layer = way.GetTagValue("layer"); + if (!String.IsNullOrEmpty(layer) && Int32.Parse(layer) < 0) continue; + + CreateBuilding(globalContainer, way); + + float progress = (i + 1) / (float)RealWorldTerrainBuildingGenerator.ways.Count; + EditorUtility.DisplayProgressBar("Instantiate Buildings " + (progress * 100).ToString("F2") + "%", "", progress); + } + + EditorUtility.ClearProgressBar(); + + RealWorldTerrainPhase.phaseComplete = true; + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainBuildingPrefabGenerator.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainBuildingPrefabGenerator.cs.meta new file mode 100644 index 000000000..3c92a86c3 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainBuildingPrefabGenerator.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b23e5e329c178c34e8f53fa3f0543ecb +timeCreated: 1539976693 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainEasyRoads3DGenerator.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainEasyRoads3DGenerator.cs new file mode 100644 index 000000000..e107d9dce --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainEasyRoads3DGenerator.cs @@ -0,0 +1,425 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.Collections.Generic; +using System.Linq; +using InfinityCode.RealWorldTerrain.OSM; +using UnityEngine; +using Object = UnityEngine.Object; + +#if EASYROADS3D +using EasyRoads3Dv3; +#endif + +namespace InfinityCode.RealWorldTerrain.Generators +{ + public class RealWorldTerrainEasyRoads3DGenerator: RealWorldTerrainRoadGenerator + { + public RealWorldTerrainEasyRoads3DGenerator(RealWorldTerrainOSMWay way, RealWorldTerrainContainer container) : base(way, container) + { + + } + +#if EASYROADS3D + private static ERRoadNetwork roadNetwork; + private static ERRoadType roadType; + private static ERRoadType[] erRoadTypes; + private static string[] roadTypeNames; + private static Dictionary roadsWithConnections; + private static float roadWidth; + + public override void Create() + { + ERRoadType activeRoadType = roadType; + if (prefs.roadTypeMode == RealWorldTerrainRoadTypeMode.advanced) + { + string highway = way.GetTagValue("highway"); + int index = -1; + for (int i = 0; i < roadTypeNames.Length; i++) + { + if (highway == roadTypeNames[i]) + { + index = i; + break; + } + } + + if (index == -1) return; + if (string.IsNullOrEmpty(prefs.erRoadTypes[index])) return; + string roadTypeName = prefs.erRoadTypes[index]; + activeRoadType = erRoadTypes.FirstOrDefault(t => t.roadTypeName == roadTypeName); + if (activeRoadType == null) return; + } + + if (!string.IsNullOrEmpty(waitFirstConnection)) + { + RealWorldTerrainOSMNode node; + if (nodes.TryGetValue(waitFirstConnection, out node) && node.usageCount == 2) points[0] = Vector3.Lerp(points[0], points[1], 0.001f); + } + + if (!string.IsNullOrEmpty(waitLastConnection)) + { + RealWorldTerrainOSMNode node; + if (nodes.TryGetValue(waitLastConnection, out node) && node.usageCount == 2) points[points.Count - 1] = Vector3.Lerp(points[points.Count - 1], points[points.Count - 2], 0.001f); + } + + ERRoad road = roadNetwork.CreateRoad("road " + way.id, activeRoadType, points.ToArray()); + if (prefs.erSnapToTerrain) road.SnapToTerrain(true); + road.gameObject.isStatic = false; + road.gameObject.AddComponent().GetFromOSM(way); + + if (!string.IsNullOrEmpty(waitFirstConnection)) + { + DelayedConnection c; + if (!roadsWithConnections.TryGetValue(waitFirstConnection, out c)) + { + c = new DelayedConnection(); + roadsWithConnections.Add(waitFirstConnection, c); + } + c.road.Add(new DelayedConnectionItem + { + generator = this, + road = road, + isFront = true + }); + } + if (!string.IsNullOrEmpty(waitLastConnection)) + { + DelayedConnection c; + if (!roadsWithConnections.TryGetValue(waitLastConnection, out c)) + { + c = new DelayedConnection(); + roadsWithConnections.Add(waitLastConnection, c); + } + c.road.Add(new DelayedConnectionItem + { + generator = this, + road = road, + isFront = false + }); + } + } + + public static void CreateConnections(RealWorldTerrainContainer container) + { + ERConnection[] connections = roadNetwork.LoadConnections(); + + int[] indices = { 0, 1, 2, 3 }; + + foreach (var p in roadsWithConnections) + { + DelayedConnection dc = p.Value; + List items = dc.road; + int count = items.Count; + if (count < 2) continue; + + RealWorldTerrainOSMNode node = nodes[p.Key]; + + Vector3 wp; + + if (prefs.erSnapToTerrain) + { + wp = Vector3.zero; + foreach (DelayedConnectionItem cdc in items) wp += cdc.secondPoint; + wp /= count; + } + else wp = RealWorldTerrainEditorUtils.CoordsToWorldWithElevation(new Vector3(node.lng, 0, node.lat), container); + + if (count == 2) CreateIConnection(items); + else if (count == 3) CreateTCross(connections, items, node, wp, indices); + else if (count == 4) CreateXCross(connections, items, node, wp, indices); + } + } + + private static void CreateIConnection(List roads) + { + DelayedConnectionItem r1 = roads[0]; + DelayedConnectionItem r2 = roads[1]; + + if (r1.road.roadScript == null || r2.road.roadScript == null) return; + + int ri1 = r1.isFront ? 0 : r1.generator.points.Count - 1; + int ri2 = r2.isFront ? 0 : r2.generator.points.Count - 1; + + try + { + roadNetwork.ConnectRoads(r1.road, ri1, r2.road, ri2); + } + catch (Exception e) + { + Debug.LogWarning(e.Message + "\n" + e.StackTrace); + } + } + + private static void CreateTCross(ERConnection[] connections, List items, RealWorldTerrainOSMNode node, Vector3 wp, int[] indices) + { + ERConnection erc = connections.FirstOrDefault(cc => cc.name == "Default T Crossing"); + if (erc == null) return; + + Vector3[] secondPoints = items.Select(rr => rr.secondPoint).ToArray(); + + float ma = 180; + float angleY = 0; + bool smallAngle = false; + + for (int i = 0; i < 3; i++) + { + DelayedConnectionItem r = items[i]; + if (r.road.roadScript == null) return; + + int j = i + 1; + if (j >= 3) j -= 3; + + Vector3 p1 = secondPoints[i]; + Vector3 p2 = secondPoints[j]; + float a = RealWorldTerrainMath.Angle2D(p1, wp, p2, false); + if (Mathf.Abs(a) < Mathf.Abs(ma)) + { + ma = a; + angleY = RealWorldTerrainMath.Angle2D(p1, p2); + + indices[i] = 0; + indices[j] = 1; + + j = i - 1; + if (j < 0) j += 3; + + indices[j] = 3; + + float ca = RealWorldTerrainMath.Angle2D(p1, wp, secondPoints[j], false); + + smallAngle = Mathf.Abs(ca) < 60 || Mathf.Abs(ca) > 120; + + if (ca < 0) + { + angleY += 180; + indices[i] = 1; + j += 2; + if (j >= 3) j -= 3; + indices[j] = 0; + } + } + } + + if (smallAngle) return; + + angleY = 90 - angleY; + Plane plane = new Plane(secondPoints[0], secondPoints[1], secondPoints[2]); + Vector3 normal = plane.normal; + if (normal.y < 0) normal *= -1; + + Quaternion rot = Quaternion.FromToRotation(Vector3.up, normal) * Quaternion.Euler(0, angleY, 0); + Vector3 euler = rot.eulerAngles; + + erc = roadNetwork.InstantiateConnection(erc, node.id, wp, new Vector3(euler.x, angleY, euler.z)); + + for (int i = 0; i < 3; i++) + { + DelayedConnectionItem r = items[i]; + + try + { + int ci = indices[i]; + if (r.isFront) r.road.ConnectToStart(erc, ci); + else r.road.ConnectToEnd(erc, ci); + } + catch + { + Debug.Log(r + " " + erc); + } + } + } + + private static void CreateXCross(ERConnection[] connections, List items, RealWorldTerrainOSMNode node, Vector3 wp, int[] indices) + { + ERConnection erc = connections.FirstOrDefault(cc => cc.name == "Default X Crossing"); + if (erc == null) return; + + Vector3[] secondPoints = items.Select(rr => rr.secondPoint).ToArray(); + + float ma = 180; + float angleY = 0; + + for (int i = 0; i < 3; i++) + { + for (int j = i + 1; j < 4; j++) + { + Vector3 p1 = secondPoints[i]; + Vector3 p2 = secondPoints[j]; + + float a = RealWorldTerrainMath.Angle2D(p1, wp, p2, false); + if (Mathf.Abs(a) < Mathf.Abs(ma)) + { + ma = a; + angleY = RealWorldTerrainMath.Angle2D(p1, p2); + + indices[i] = 0; + indices[j] = 1; + + for (int k = 0; k < 4; k++) + { + if (k == i || k == j) continue; + + p2 = secondPoints[k]; + a = RealWorldTerrainMath.Angle2D(p1, wp, p2, false); + if (a < 0) indices[k] = 2; + else indices[k] = 3; + } + } + } + } + + angleY = 90 - angleY; + Plane plane = new Plane(secondPoints[0], secondPoints[1], secondPoints[2]); + Vector3 normal = plane.normal; + if (normal.y < 0) normal *= -1; + + Quaternion rot = Quaternion.FromToRotation(Vector3.up, normal) * Quaternion.Euler(0, angleY, 0); + Vector3 euler = rot.eulerAngles; + + erc = roadNetwork.InstantiateConnection(erc, node.id, wp + Vector3.up * 0.1f, new Vector3(euler.x, angleY, euler.z)); + + bool[] usedIndices = new bool[4]; + + for (int i = 0; i < 4; i++) + { + DelayedConnectionItem r = items[i]; + + try + { + if (r.road == null) Debug.Log("Road is null"); + + int ci = indices[i]; + + if (usedIndices[ci]) continue; + usedIndices[ci] = true; + + if (r.isFront) r.road.ConnectToStart(erc, ci); + else r.road.ConnectToEnd(erc, ci); + } + catch + { + } + } + } + + public static void FreeReferences() + { + roadNetwork = null; + roadType = null; + erRoadTypes = null; + roadTypeNames = null; + roadsWithConnections = null; + } + + public static void Init() + { + if (prefs.roadEngine != "EasyRoads3D") return; + + roadsWithConnections = new Dictionary(); + + ERModularBase erModularBase = RealWorldTerrainUtils.FindObjectOfType(); + if (erModularBase == null) + { + Object network = Resources.Load("ER Road Network"); + if (network == null) network = Resources.Load("ERRoadNetwork"); + if (network == null) return; + GameObject roadNetworkGO = Object.Instantiate(network) as GameObject; + roadNetworkGO.name = "Road Network"; + roadNetworkGO.transform.position = Vector3.zero; + } + + roadNetwork = new ERRoadNetwork(); + + ERRoad[] erRoads = roadNetwork.GetRoads(); + for (int i = 0; i < erRoads.Length; i++) + { + ERRoad road = erRoads[i]; + if (road.gameObject.tag != "RWTIgnore") Object.DestroyImmediate(road.gameObject); + else + { + string name = road.gameObject.name; + if (name.StartsWith("road ")) alreadyCreated.Add(name.Substring(5)); + } + } + + ERConnection[] erConnections = roadNetwork.GetConnections(); + for (int i = 0; i < erConnections.Length; i++) + { + ERConnection connection = erConnections[i]; + if (connection.gameObject.tag != "RWTIgnore") Object.DestroyImmediate(connection.gameObject); + } + + Material roadMaterial = Resources.Load("Materials/roads/single lane") as Material; + if (roadMaterial == null) roadMaterial = Resources.Load("Materials/roads/road material") as Material; + + roadWidth = 6; + if (prefs.sizeType == 2) + { + double fromX = prefs.leftLongitude; + double fromY = prefs.topLatitude; + double toX = prefs.rightLongitude; + double toY = prefs.bottomLatitude; + + double rangeX = toX - fromX; + + double scfY = Math.Sin(fromY * Mathf.Deg2Rad); + double sctY = Math.Sin(toY * Mathf.Deg2Rad); + double ccfY = Math.Cos(fromY * Mathf.Deg2Rad); + double cctY = Math.Cos(toY * Mathf.Deg2Rad); + double cX = Math.Cos(rangeX * Mathf.Deg2Rad); + double sizeX1 = Math.Abs(RealWorldTerrainGeo.EARTH_RADIUS * Math.Acos(scfY * scfY + ccfY * ccfY * cX)); + double sizeX2 = Math.Abs(RealWorldTerrainGeo.EARTH_RADIUS * Math.Acos(sctY * sctY + cctY * cctY * cX)); + double sizeX = (sizeX1 + sizeX2) / 2.0; + double sizeZ = RealWorldTerrainGeo.EARTH_RADIUS * Math.Acos(scfY * sctY + ccfY * cctY); + + RealWorldTerrainVector2i tCount = prefs.terrainCount; + const float baseScale = 1000; + + double sX = sizeX / tCount.x * baseScale * prefs.terrainScale.x; + double sZ = sizeZ / tCount.y * baseScale * prefs.terrainScale.z; + + double scaleX = sX / prefs.fixedTerrainSize.x; + double scaleZ = sZ / prefs.fixedTerrainSize.z; + roadWidth /= (float)(scaleX + scaleZ) / 2; + } + + roadType = new ERRoadType + { + roadWidth = roadWidth * prefs.erWidthMultiplier, + roadMaterial = roadMaterial + }; + + if (prefs.roadTypeMode == RealWorldTerrainRoadTypeMode.advanced) + { + erRoadTypes = roadNetwork.GetRoadTypes(); + roadTypeNames = Enum.GetNames(typeof(RealWorldTerrainRoadType)); + } + } + + public class DelayedConnection + { + public List road = new List(); + } + + public class DelayedConnectionItem + { + public ERRoad road; + public RealWorldTerrainRoadGenerator generator; + public bool isFront; + + public Vector3 secondPoint + { + get + { + if (isFront) return generator.points[1]; + return generator.points[generator.points.Count - 2]; + } + } + } +#else + public static void Init() {} +#endif + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainEasyRoads3DGenerator.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainEasyRoads3DGenerator.cs.meta new file mode 100644 index 000000000..1010d8cc7 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainEasyRoads3DGenerator.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: efe49d52810558e4bb0af855b71ea243 +timeCreated: 1574931410 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainElevationGenerator.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainElevationGenerator.cs new file mode 100644 index 000000000..dc3a78412 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainElevationGenerator.cs @@ -0,0 +1,474 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.Collections.Generic; +using InfinityCode.RealWorldTerrain.Phases; +using InfinityCode.RealWorldTerrain.Windows; +using UnityEditor; +using UnityEngine; +using Random = UnityEngine.Random; + +namespace InfinityCode.RealWorldTerrain.Generators +{ + public abstract class RealWorldTerrainElevationGenerator + { + /// + /// (Mercator X (0-1), Mercator Y (0-1), elevation value or double.MinValue if unknown, return modified elevation value or null) Called when an elevation value is received from the selected provider. Return null to use the value from the provider. + /// + public static Func OnElevationRetrieved; + + /// + /// (Mercator X (0-1), Mercator Y (0-1), return Elevation Value or null) Allows you to intercept receiving elevation value from the selected provider. Return null to get the value from the selected provider. + /// + public static Func OnGetElevation; + + /// + /// Allows you to intercept the range of elevation values for the generated area. + /// + public static OnGetElevationRangeDelegate OnGetElevationRange; + + public delegate void OnGetElevationRangeDelegate(out double minEl, out double maxEl); + + public static List elevations; + public static float[,] tdataHeightmap; + + public static float depthStep; + protected static RealWorldTerrainElevationGenerator lastElevation; + protected static int lastX; + protected static int mapSize; + protected static int mapSize2; + + public static bool hasUnderwater; + private static TerrainData tdata; + + public short[,] heightmap; + public bool unziped; + private static bool hasKnownValue; + private static int countUnknownValues; + + protected static RealWorldTerrainPrefs prefs + { + get { return RealWorldTerrainWindow.prefs; } + } + + public virtual bool Contains(double X, double Y) + { + return false; + } + + private bool Contains(Vector2 point) + { + return Contains(point.x, point.y); + } + + public static void Dispose() + { + if (prefs.elevationProvider == RealWorldTerrainElevationProvider.BingMaps) + { + RealWorldTerrainBingElevationGenerator.Dispose(); + } + /*else if (prefs.elevationProvider == RealWorldTerrainElevationProvider.ArcGIS) + { + RealWorldTerrainArcGISElevationGenerator.Dispose(); + }*/ + else if (prefs.elevationProvider == RealWorldTerrainElevationProvider.SRTM) + { + RealWorldTerrainSRTMElevationGenerator.Dispose(); + } + else if (prefs.elevationProvider == RealWorldTerrainElevationProvider.SRTM30) + { + RealWorldTerrainSRTM30ElevationGenerator.Dispose(); + } + + tdataHeightmap = null; + tdata = null; + elevations = null; + lastElevation = null; + lastX = 0; + countUnknownValues = 0; + } + + public static void GenerateHeightMap(RealWorldTerrainItem item) + { + if (tdata == null) InitTData(item); + + double mx1 = item.leftMercator, my1 = item.topMercator, mx2 = item.rightMercator, my2 = item.bottomMercator; + + double minElevation = item.minElevation; + double elevationRange = item.maxElevation - minElevation; + + RealWorldTerrainTimer timer = RealWorldTerrainTimer.Start(); + + int r = tdata.heightmapResolution; + + double thx = (mx2 - mx1) / (r - 1); + double thy = (my2 - my1) / (r - 1); + + for (int hx = lastX; hx < r; hx++) + { + double px = hx * thx + mx1; + + for (int hy = 0; hy < r; hy++) + { + double py = hy * thy + my1; + + double elevation = GetElevation(px, py); + int chy = r - hy - 1; + + if (Math.Abs(elevation - double.MinValue) > double.Epsilon) + { + tdataHeightmap[chy, hx] = (float)((elevation - minElevation) / elevationRange); + hasKnownValue = true; + } + else if (!prefs.generateUnderWater) + { + tdataHeightmap[chy, hx] = (float)(-minElevation / elevationRange); + hasKnownValue = true; + } + else + { + hasUnderwater = true; + tdataHeightmap[chy, hx] = float.MinValue; + countUnknownValues++; + } + } + lastX = hx + 1; + RealWorldTerrainPhase.phaseProgress = hx / (float)r; + if (timer.seconds > 1) return; + } + + float underwaterValue = (float)((prefs.nodataValue - minElevation) / elevationRange); + + if (hasKnownValue && hasUnderwater) + { + float[,] newHeightmap = new float[tdataHeightmap.GetLength(0), tdataHeightmap.GetLength(1)]; + int totalUnknownValues = countUnknownValues; + bool showProgress = prefs.heightmapResolution > 256; + + byte[,] neighbormap = new byte[newHeightmap.GetLength(0), newHeightmap.GetLength(1)]; + byte[,] newNeighbormap = new byte[newHeightmap.GetLength(0), newHeightmap.GetLength(1)]; + + for (int hx = 0; hx < r; hx++) + { + for (int hy = 0; hy < r; hy++) + { + if (tdataHeightmap[hy, hx] > float.MinValue) neighbormap[hy, hx] = 1; // Has value + else + { + int countVals; + GetNeighborHeightValues(tdataHeightmap, hy, hx, out countVals); + if (countVals > 0) neighbormap[hy, hx] = 2; // Has neighbors + else neighbormap[hy, hx] = 0; // Has no neighbors + } + + newNeighbormap[hy, hx] = neighbormap[hy, hx]; + } + } + + float pnc = (prefs.heightmapResolution - 1) / 32f / r; + + while (countUnknownValues > 0) + { + if (showProgress) + { + float progress = (totalUnknownValues - countUnknownValues) / (float) totalUnknownValues; + if (EditorUtility.DisplayCancelableProgressBar("Generate Underwater Area", (progress * 100).ToString("F2") + "%", progress)) + { + tdata = null; + EditorUtility.ClearProgressBar(); + RealWorldTerrainWindow.CancelCapture(); + return; + } + } + + for (int hx = 0; hx < r; hx++) + { + for (int hy = 0; hy < r; hy++) + { + byte b = neighbormap[hy, hx]; + if (b < 2) + { + newHeightmap[hy, hx] = tdataHeightmap[hy, hx]; + continue; + } + + int countVals; + float h = GetNeighborHeightValues(tdataHeightmap, hy, hx, out countVals); + if (countVals < 3) + { + newHeightmap[hy, hx] = tdataHeightmap[hy, hx]; + continue; + } + + float noise = (Mathf.PerlinNoise(pnc * hx, pnc * hy) * 3 + 1) / 4; + h -= depthStep * noise; + if (h < underwaterValue) h = underwaterValue; + newHeightmap[hy, hx] = h; + countUnknownValues--; + + for (int cx = Mathf.Max(hx - 1, 0); cx < Mathf.Min(hx + 2, r); cx++) + { + for (int cy = Mathf.Max(hy - 1, 0); cy < Mathf.Min(hy + 2, r); cy++) + { + if (newNeighbormap[cy, cx] == 0) newNeighbormap[cy, cx] = 2; + } + } + + newNeighbormap[hy, hx] = 1; + } + } + + float[,] tmp = tdataHeightmap; + tdataHeightmap = newHeightmap; + newHeightmap = tmp; + + for (int hx = 0; hx < r; hx++) + { + for (int hy = 0; hy < r; hy++) neighbormap[hy, hx] = newNeighbormap[hy, hx]; + } + } + + if (showProgress) EditorUtility.ClearProgressBar(); + } + else if (hasUnderwater) + { + for (int hx = 0; hx < r; hx++) + { + for (int hy = 0; hy < r; hy++) + { + tdataHeightmap[hy, hx] = underwaterValue; + } + } + } + + lastX = 0; + tdata.SetHeights(0, 0, tdataHeightmap); + tdata = null; + hasUnderwater = false; + hasKnownValue = false; + countUnknownValues = 0; + + RealWorldTerrainPhase.phaseComplete = true; + } + + public static double GetElevation(double x, double y, bool allowWaterTexture = true) + { + if (OnGetElevation != null) + { + double? r = OnGetElevation(x, y); + if (r.HasValue) return r.Value; + } + + bool useWaterTexture = RealWorldTerrainWaterMask.IsUsed(allowWaterTexture); + if (useWaterTexture) + { + double value; + if (RealWorldTerrainWaterMask.Get(x, y, out value)) return value; + } + + double v = double.MinValue; + + if (lastElevation != null && lastElevation.Contains(x, y)) + { + v = lastElevation.GetElevationValue(x, y); + } + else + { + foreach (RealWorldTerrainElevationGenerator el in elevations) + { + if (el.Contains(x, y)) + { + lastElevation = el; + v = el.GetElevationValue(x, y); + break; + } + } + } + + if (useWaterTexture && Math.Abs(v - double.MinValue) < double.Epsilon) v = 0; + + if (OnElevationRetrieved != null) + { + double? nv = OnElevationRetrieved(x, y, v); + if (nv.HasValue) v = nv.Value; + } + + return v; + } + + public static void GetElevationRange(out double minEl, out double maxEl) + { + if (OnGetElevationRange != null) + { + OnGetElevationRange(out minEl, out maxEl); + return; + } + + if (prefs.elevationProvider == RealWorldTerrainElevationProvider.SRTM) RealWorldTerrainSRTMElevationGenerator.GetSRTMElevationRange(out minEl, out maxEl); + else if (prefs.elevationProvider == RealWorldTerrainElevationProvider.SRTM30) RealWorldTerrainSRTM30ElevationGenerator.GetSRTMElevationRange(out minEl, out maxEl); + else if (prefs.elevationProvider == RealWorldTerrainElevationProvider.Mapbox) RealWorldTerrainMapboxElevationGenerator.GetMapboxElevationRange(out minEl, out maxEl); + //else if (prefs.elevationProvider == RealWorldTerrainElevationProvider.ArcGIS) RealWorldTerrainArcGISElevationGenerator.GetArcGISElevationRange(out minEl, out maxEl); + else RealWorldTerrainBingElevationGenerator.GetBingElevationRange(out minEl, out maxEl); + } + + public virtual double GetElevationValue(double x, double y) + { + return double.MinValue; + } + + private short GetFixedValue(int X, int Y) + { + short v = GetValue(X, Y); + if (v == short.MinValue) v = 0; + return v; + } + + private static float GetNeighborHeightValues(float[,] heightmap, int y, int x, out int countVals) + { + float v; + float val = 0; + countVals = 0; + int l1 = heightmap.GetLength(0) - 1; + int l2 = heightmap.GetLength(1) - 1; + if (y > 0) + { + v = heightmap[y - 1, x]; + if (v > float.MinValue) + { + val += v * 2; + countVals += 2; + } + + if (x > 0) + { + v = heightmap[y - 1, x - 1]; + if (v > float.MinValue) + { + val += v; + countVals++; + } + } + if (x < l2) + { + v = heightmap[y - 1, x + 1]; + if (v > float.MinValue) + { + val += v; + countVals++; + } + } + } + if (y < l1) + { + v = heightmap[y + 1, x]; + if (v > float.MinValue) + { + val += v; + countVals++; + } + + if (x > 0) + { + v = heightmap[y + 1, x - 1]; + if (v > float.MinValue) + { + val += v; + countVals++; + } + } + if (x < l2) + { + v = heightmap[y + 1, x + 1]; + if (v > float.MinValue) + { + val += v; + countVals++; + } + } + } + if (x > 0) + { + v = heightmap[y, x - 1]; + if (v > float.MinValue) + { + val += v; + countVals++; + } + } + if (x < l2) + { + v = heightmap[y, x + 1]; + if (v > float.MinValue) + { + val += v; + countVals++; + } + } + + if (countVals > 0) val /= countVals; + return val; + } + + protected double GetSmoothElevation( + double xs1, double xs2, double xp1, double ys1, double ys2, double yp1, int ix, int iy, + double ox, int ixp1, double oy, int iyp1, double oxy, int ixs1, int iys1, int ixp2, int iyp2) + { + double result = xs1 * xs2 * xp1 * ys1 * ys2 * yp1 * 0.25 * GetFixedValue(ix, iy); + result -= ox * xp1 * xs2 * ys1 * ys2 * yp1 * 0.25 * GetFixedValue(ixp1, iy); + result -= oy * xs1 * xs2 * xp1 * yp1 * ys2 * 0.25 * GetFixedValue(ix, iyp1); + result += oxy * xp1 * xs2 * yp1 * ys2 * 0.25 * GetFixedValue(ixp1, iyp1); + result -= ox * xs1 * xs2 * ys1 * ys2 * yp1 / 12.0 * GetFixedValue(ixs1, iy); + result -= oy * xs1 * xs2 * xp1 * ys1 * ys2 / 12.0 * GetFixedValue(ix, iys1); + result += oxy * xs1 * xs2 * yp1 * ys2 / 12.0 * GetFixedValue(ixs1, iyp1); + result += oxy * xp1 * xs2 * ys1 * ys2 / 12.0 * GetFixedValue(ixp1, iys1); + result += ox * xs1 * xp1 * ys1 * ys2 * yp1 / 12.0 * GetFixedValue(ixp2, iy); + result += oy * xs1 * xs2 * xp1 * ys1 * yp1 / 12.0 * GetFixedValue(ix, iyp2); + result += oxy * xs1 * xs2 * ys1 * ys2 / 36.0 * GetFixedValue(ixs1, iys1); + result -= oxy * xs1 * xp1 * yp1 * ys2 / 12.0 * GetFixedValue(ixp2, iyp1); + result -= oxy * xp1 * xs2 * ys1 * yp1 / 12.0 * GetFixedValue(ixp1, iyp2); + result -= oxy * xs1 * xp1 * ys1 * ys2 / 36.0 * GetFixedValue(ixp2, iys1); + result -= oxy * xs1 * xs2 * ys1 * yp1 / 36.0 * GetFixedValue(ixs1, iyp2); + result += oxy * xs1 * xp1 * ys1 * yp1 / 36.0 * GetFixedValue(ixp2, iyp2); + return result; + } + + protected virtual short GetValue(int x, int y) + { + if (x < 0) x = 0; + else if (x > mapSize2) x = mapSize2; + if (y < 0) y = 0; + else if (y > mapSize2) y = mapSize2; + short v = heightmap[x, y]; + return v; + } + + private static void InitTData(RealWorldTerrainItem item) + { + tdata = item.terrain.terrainData; + tdata.baseMapResolution = prefs.baseMapResolution; + tdata.SetDetailResolution(prefs.detailResolution, prefs.resolutionPerPatch); + tdata.heightmapResolution = prefs.heightmapResolution; + tdata.size = item.size; + if (tdataHeightmap == null) tdataHeightmap = new float[tdata.heightmapResolution, tdata.heightmapResolution]; + hasUnderwater = false; + lastX = 0; + countUnknownValues = 0; + } + + public static bool IsSingleDistance(int X, int Y, bool ignoreLeft, bool ignoreTop) + { + int r = tdata.heightmapResolution; + if (!ignoreTop && Y > 0 && Math.Abs(tdataHeightmap[Y - 1, X] - float.MinValue) > float.Epsilon) return true; + if (Y < r - 1 && Math.Abs(tdataHeightmap[Y + 1, X] - float.MinValue) > float.Epsilon) return true; + if (!ignoreLeft && X > 0 && Math.Abs(tdataHeightmap[Y, X - 1] - float.MinValue) > float.Epsilon) return true; + if (X < r - 1 && Math.Abs(tdataHeightmap[Y, X + 1] - float.MinValue) > float.Epsilon) return true; + return false; + } + + public virtual void UnzipHeightmap() + { + + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainElevationGenerator.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainElevationGenerator.cs.meta new file mode 100644 index 000000000..223007281 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainElevationGenerator.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 042361b17a938be479644e89fd868a7b +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainGaiaStampGenerator.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainGaiaStampGenerator.cs new file mode 100644 index 000000000..17f28c140 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainGaiaStampGenerator.cs @@ -0,0 +1,94 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.Diagnostics; +using System.IO; +using InfinityCode.RealWorldTerrain.Phases; +using InfinityCode.RealWorldTerrain.Windows; + +namespace InfinityCode.RealWorldTerrain.Generators +{ + public class RealWorldTerrainGaiaStampGenerator + { + private static int lastX; + private static short[,] heightmap; + public static string fullFilename; + public static string shortFilename; + private static double minEl; + private static double maxEl; + private static double elRange; + + public static void Generate() + { + RealWorldTerrainPrefs prefs = RealWorldTerrainWindow.prefs; + + double tx = prefs.leftLongitude; + double ty = prefs.topLatitude; + double bx = prefs.rightLongitude; + double by = prefs.bottomLatitude; + + double mx1, my1, mx2, my2; + RealWorldTerrainGeo.LatLongToMercat(tx, ty, out mx1, out my1); + RealWorldTerrainGeo.LatLongToMercat(bx, by, out mx2, out my2); + + RealWorldTerrainTimer timer = RealWorldTerrainTimer.Start(); + + int res = prefs.gaiaStampResolution; + + double thx = (mx2 - mx1) / (res - 1); + double thy = (my2 - my1) / (res - 1); + + if (heightmap == null) + { + heightmap = new short[res, res]; + lastX = 0; + RealWorldTerrainElevationGenerator.GetElevationRange(out minEl, out maxEl); + elRange = (maxEl - minEl) / 32000; + } + + for (int hx = lastX; hx < res; hx++) + { + double px = hx * thx + mx1; + + for (int hy = 0; hy < res; hy++) + { + double py = hy * thy + my1; + + double elevation = RealWorldTerrainElevationGenerator.GetElevation(px, py); + int chy = res - hy - 1; + + if (Math.Abs(elevation - double.MinValue) > double.Epsilon) heightmap[chy, hx] = (short)Math.Round((elevation - minEl) / elRange); + else heightmap[chy, hx] = prefs.nodataValue; + } + lastX = hx + 1; + RealWorldTerrainPhase.progress = hx / (float)res; + if (timer.seconds > 1) return; + } + + string resultFolder = "Assets/RWT_Result"; + string dateStr = DateTime.Now.ToString("yyyy-MM-dd HH-mm"); + resultFolder += "/" + dateStr; + if (!Directory.Exists(resultFolder)) Directory.CreateDirectory(resultFolder); + + shortFilename = "rwt gaia heightmap " + dateStr; + fullFilename = Path.Combine(resultFolder, shortFilename + ".raw"); + + FileStream stream = new FileStream(fullFilename, FileMode.Create); + BinaryWriter writer = new BinaryWriter(stream); + + for (int hx = 0; hx < res; hx++) + { + for (int hy = 0; hy < res; hy++) + { + writer.Write(heightmap[hy, hx]); + } + } + + stream.Close(); + heightmap = null; + + RealWorldTerrainPhase.phaseComplete = true; + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainGaiaStampGenerator.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainGaiaStampGenerator.cs.meta new file mode 100644 index 000000000..567b38c37 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainGaiaStampGenerator.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 92524d191564e5b4f91407a21c02361f +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainGrassGenerator.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainGrassGenerator.cs new file mode 100644 index 000000000..fd46dbcf7 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainGrassGenerator.cs @@ -0,0 +1,291 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System.Collections.Generic; +using System.IO; +using InfinityCode.RealWorldTerrain.Net; +using InfinityCode.RealWorldTerrain.OSM; +using InfinityCode.RealWorldTerrain.Phases; +using InfinityCode.RealWorldTerrain.Windows; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Generators +{ + public static class RealWorldTerrainGrassGenerator + { + private static List details; + private static List grassWays; + private static int totalCount; + public static List alreadyCreated; + private static float[] detailsInPoint; + + public static Dictionary nodes; + public static Dictionary ways; + public static List relations; + public static bool loaded; + + private static RealWorldTerrainPrefs prefs + { + get { return RealWorldTerrainWindow.prefs; } + } + + public static string url + { + get + { + string format = string.Format(RealWorldTerrainCultureInfo.numberFormat, "node({0},{1},{2},{3});way(bn)['landuse'~'grass|forest|meadow|park|pasture|recreation_ground'];(._;>;);out;node({0},{1},{2},{3});way(bn)['natural'~'scrub|wood|heath']; (._;>;);out;node({0},{1},{2},{3});way(bn)['leisure'~'park|golf_course'];(._;>;);out;rel({0},{1},{2},{3})['leisure'~'golf_course'];(._;>;);out;>;out skel qt;rel({0},{1},{2},{3})['landuse'~'forest|park|farmland'];(._;>;);out;>;out skel qt;rel({0},{1},{2},{3})['natural'~'scrub|wood|heath'];(._;>;);out;>;out skel qt;", + prefs.bottomLatitude, prefs.leftLongitude, prefs.topLatitude, prefs.rightLongitude); + return RealWorldTerrainOSMUtils.osmURL + RealWorldTerrainDownloadManager.EscapeURL(format); + } + } + + public static string filename + { + get + { + return Path.Combine(RealWorldTerrainEditorUtils.osmCacheFolder, string.Format("grass_{0}_{1}_{2}_{3}.osm", prefs.bottomLatitude, prefs.leftLongitude, prefs.topLatitude, prefs.rightLongitude)); + } + } + + public static string compressedFilename + { + get + { + return filename + "c"; + } + } + + public static void Dispose() + { + loaded = false; + + nodes = null; + ways = null; + relations = null; + + details = null; + grassWays = null; + alreadyCreated = null; + } + + public static void Download() + { + if (!prefs.generateGrass || File.Exists(compressedFilename)) return; + if (File.Exists(filename)) + { + byte[] data = File.ReadAllBytes(filename); + OnDownloadComplete(ref data); + } + else + { + RealWorldTerrainDownloadItemWebClient item = new RealWorldTerrainDownloadItemWebClient(url) + { + filename = filename, + averageSize = 600000, + exclusiveLock = RealWorldTerrainOSMUtils.OSMLocker, + ignoreRequestProgress = true + }; + + item.OnData += OnDownloadComplete; + } + } + + public static void Generate(RealWorldTerrainContainer container) + { + RealWorldTerrainItem[] terrains; + RealWorldTerrainVector2i terrainCount; + Vector3 containerPosition; + if (RealWorldTerrainWindow.generateTarget is RealWorldTerrainItem) + { + terrains = new[] {RealWorldTerrainWindow.generateTarget as RealWorldTerrainItem}; + terrainCount = RealWorldTerrainVector2i.one; + containerPosition = terrains[0].transform.position; + } + else + { + terrains = container.terrains; + terrainCount = container.terrainCount; + containerPosition = container.transform.position; + } + + TerrainData tdata = terrains[0].terrain.terrainData; + int detailResolution = tdata.detailResolution; + + if (!loaded) + { + RealWorldTerrainOSMUtils.LoadOSM(compressedFilename, out nodes, out ways, out relations); + loaded = true; + + container.generatedGrass = true; + alreadyCreated = new List(); + + List prototypes = new List(); + + foreach (Texture2D grassPrefab in prefs.grassPrefabs) + { + DetailPrototype prototype = new DetailPrototype + { + prototypeTexture = grassPrefab, + renderMode = DetailRenderMode.GrassBillboard + }; + prototypes.Add(prototype); + } + + details = new List(terrains.Length); + foreach (RealWorldTerrainItem item in terrains) + { + item.terrain.terrainData.detailPrototypes = prototypes.ToArray(); + for (int i = 0; i < prefs.grassPrefabs.Count; i++) details.Add(new int[detailResolution, detailResolution]); + } + + detailsInPoint = new float[prefs.grassPrefabs.Count]; + + grassWays = new List(); + + foreach (KeyValuePair pair in ways) + { + RealWorldTerrainOSMWay w = pair.Value; + if (w.HasTags("landuse", "grass", "farmland", "forest", "meadow", "park", "pasture", "recreation_ground") || + w.HasTags("leisure", "park", "golf_course") || w.HasTags("natural", "scrub", "wood", "heath")) grassWays.Add(w); + } + + totalCount = grassWays.Count + terrainCount.x; + + if (grassWays.Count == 0) + { + RealWorldTerrainPhase.phaseComplete = true; + return; + } + } + + RealWorldTerrainTimer timer = RealWorldTerrainTimer.Start(); + float density = prefs.grassDensity / 100f; + if (density > 1) density = 1; + density *= 64; + + if (RealWorldTerrainPhase.index < grassWays.Count) + { + int tcx = prefs.terrainCount.x; + int tcy = prefs.terrainCount.y; + int ctl = terrains.Length; + int gpc = prefs.grassPrefabs.Count; + + for (int i = RealWorldTerrainPhase.index; i < grassWays.Count; i++) + { + RealWorldTerrainOSMWay way = grassWays[i]; + + if (alreadyCreated.Contains(way.id)) continue; + alreadyCreated.Add(way.id); + + if (way.nodeRefs.Count == 0) continue; + + float pxmin = float.MaxValue, pxmax = float.MinValue, pymin = float.MaxValue, pymax = float.MinValue; + + List lPoints = new List(); + + for (int ni = 0; ni < way.nodeRefs.Count; ni++) + { + string nodeRef = way.nodeRefs[ni]; + RealWorldTerrainOSMNode node; + if (!nodes.TryGetValue(nodeRef, out node)) continue; + + double mx, my; + RealWorldTerrainGeo.LatLongToMercat(node.lng, node.lat, out mx, out my); + + Vector3 p = RealWorldTerrainEditorUtils.CoordsToWorld(mx, 0, my, container) - containerPosition; + p = new Vector3(p.x / tdata.size.x * detailResolution, 0, p.z / tdata.size.z * detailResolution); + if (p.x < pxmin) pxmin = p.x; + if (p.x > pxmax) pxmax = p.x; + if (p.z < pymin) pymin = p.z; + if (p.z > pymax) pymax = p.z; + lPoints.Add(p); + } + + if (lPoints.Count < 3) continue; + + Vector3[] points = lPoints.ToArray(); + + for (int x = (int)pxmin; x < pxmax; x++) + { + int tix = Mathf.FloorToInt(x / (float)detailResolution); + if (tix < 0 || tix >= tcx) continue; + + int tx = x - tix * detailResolution; + + for (int y = (int)pymin; y < pymax; y++) + { + int tiy = Mathf.FloorToInt(y / (float)detailResolution); + if (tiy >= tcy || tiy < 0) continue; + + int tIndex = tiy * tcx + tix; + if (tIndex < 0 || tIndex >= ctl) continue; + + bool intersect = RealWorldTerrainMath.IsPointInPolygon(points, x + 0.5f, y - 0.5f); + if (!intersect) continue; + + int ty = y - tiy * detailResolution; + + if (gpc == 1) details[tIndex][ty, tx] = (int)density; + else + { + float totalInPoint = 0; + int tIndex2 = tIndex * gpc; + + for (int k = 0; k < gpc; k++) + { + float v = Random.Range(0f, 1f); + detailsInPoint[k] = v; + totalInPoint += v; + } + + for (int k = 0; k < gpc; k++) + { + int v = (int)(detailsInPoint[k] / totalInPoint * density); + if (v > 255) v = 255; + details[tIndex2 + k][ty, tx] = v; + } + } + } + } + + if (timer.seconds > 1) + { + RealWorldTerrainPhase.index = i + 1; + RealWorldTerrainPhase.phaseProgress = RealWorldTerrainPhase.index / (float)totalCount; + return; + } + } + RealWorldTerrainPhase.index = grassWays.Count; + } + + if (RealWorldTerrainPhase.index >= grassWays.Count) + { + for (int x = RealWorldTerrainPhase.index - grassWays.Count; x < terrainCount.x; x++) + { + for (int y = 0; y < terrainCount.y; y++) + { + int tIndex = y * prefs.terrainCount.x + x; + for (int k = 0; k < prefs.grassPrefabs.Count; k++) + { + terrains[tIndex].terrainData.SetDetailLayer(0, 0, k, details[tIndex * prefs.grassPrefabs.Count + k]); + } + } + if (timer.seconds > 1) + { + RealWorldTerrainPhase.index = grassWays.Count + x + 1; + RealWorldTerrainPhase.phaseProgress = RealWorldTerrainPhase.index / (float)totalCount; + return; + } + } + } + + Dispose(); + RealWorldTerrainPhase.phaseComplete = true; + } + + private static void OnDownloadComplete(ref byte[] data) + { + RealWorldTerrainOSMUtils.GenerateCompressedFile(data, ref nodes, ref ways, ref relations, compressedFilename); + } + } +} diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainGrassGenerator.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainGrassGenerator.cs.meta new file mode 100644 index 000000000..2553b27c5 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainGrassGenerator.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 206546b79c77b214ca63837b2254f537 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainMapboxElevationGenerator.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainMapboxElevationGenerator.cs new file mode 100644 index 000000000..3a8acb7e6 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainMapboxElevationGenerator.cs @@ -0,0 +1,198 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.IO; +using System.Text; +using InfinityCode.RealWorldTerrain.Net; +using UnityEngine; +using Object = UnityEngine.Object; + +namespace InfinityCode.RealWorldTerrain.Generators +{ + public class RealWorldTerrainMapboxElevationGenerator : RealWorldTerrainElevationGenerator + { + private double mx1; + private double mx2; + private double my1; + private double my2; + private int zoom; + + private int isx, isy, iex, iey; + private int mapWidth; + private int mapHeight; + + private RealWorldTerrainMapboxElevationGenerator(int isx, int isy, int iex, int iey, int zoom) + { + this.isx = isx; + this.isy = isy; + this.iex = iex; + this.iey = iey; + this.zoom = zoom; + + RealWorldTerrainGeo.TileToLatLong(isx, isy, zoom, out mx1, out my1); + RealWorldTerrainGeo.TileToLatLong(iex + 1, iey + 1, zoom, out mx2, out my2); + RealWorldTerrainGeo.LatLongToMercat(ref mx1, ref my1); + RealWorldTerrainGeo.LatLongToMercat(ref mx2, ref my2); + + mapWidth = (iex - isx + 1) * 256; + mapHeight = (iey - isy + 1) * 256; + + for (int tx = isx; tx <= iex; tx++) + { + for (int ty = isy; ty <= iey; ty++) + { + string filename = Path.Combine(RealWorldTerrainEditorUtils.heightmapCacheFolder, zoom + "x" + tx + "x" + ty + ".pngraw"); + if (!File.Exists(filename)) + { + string url = new StringBuilder("https://api.mapbox.com/v4/mapbox.terrain-rgb/") + .Append(zoom).Append("/").Append(tx).Append("/").Append(ty) + .Append(".pngraw?access_token=").Append(RealWorldTerrainPrefs.mapboxAccessToken).ToString(); + + new RealWorldTerrainDownloadItemWebClient(url) + { + filename = filename, + averageSize = 25000 + }; + } + } + } + + + } + + public override bool Contains(double x, double y) + { + return x >= mx1 && x <= mx2 && y >= my1 && y <= my2; + } + + public override double GetElevationValue(double x, double y) + { + double ex = (x - mx1) / (mx2 - mx1); + double ey = 1 - (my2 - y) / (my2 - my1); + + double cx = ex * mapWidth; + double cy = ey * mapHeight; + + int ix = (int)cx; + int iy = (int)cy; + + if (prefs.generateUnderWater && prefs.nodataValue != 0 && GetValue(ix, iy) == 0) return double.MinValue; + + double ox = cx - ix; + double oy = cy - iy; + + double e = GetSmoothElevation(ox - 1, ox - 2, ox + 1, oy - 1, oy - 2, oy + 1, ix, iy, ox, ix + 1, oy, iy + 1, ox * oy, ix - 1, iy - 1, ix + 2, iy + 2); + return e; + } + + public static void GetMapboxElevationRange(out double minEl, out double maxEl) + { + minEl = double.MaxValue; + maxEl = double.MinValue; + + RealWorldTerrainMapboxElevationGenerator elevation = elevations[0] as RealWorldTerrainMapboxElevationGenerator; + + foreach (short h in elevation.heightmap) + { + if (h < minEl) minEl = h; + if (h > maxEl) maxEl = h; + } + + if (prefs.generateUnderWater && minEl > prefs.nodataValue) minEl = prefs.nodataValue; + } + + protected override short GetValue(int x, int y) + { + if (x < 0) x = 0; + else if (x >= mapWidth) x = mapWidth - 1; + if (y < 0) y = 0; + else if (y >= mapHeight) y = mapHeight - 1; + short v = heightmap[x, y]; + return v; + } + + public static void Init() + { + double rangeX = prefs.rightLongitude - prefs.leftLongitude; + double rangeY = prefs.topLatitude - prefs.bottomLatitude; + + double dpa = Mathf.Max(prefs.heightmapResolution * prefs.terrainCount.x, prefs.heightmapResolution * prefs.terrainCount.y) / Math.Max(rangeX, rangeY); + int zoom = 0; + + int maxzoom = 14; + for (int i = 5; i < maxzoom; i++) + { + float cdpa = 256 * (1 << i) / 360f; + if (cdpa > dpa) + { + zoom = i; + break; + } + } + + if (zoom == 0) zoom = maxzoom; + + double stx, sty, etx, ety; + RealWorldTerrainGeo.LatLongToTile(prefs.leftLongitude, prefs.topLatitude, zoom, out stx, out sty); + RealWorldTerrainGeo.LatLongToTile(prefs.rightLongitude, prefs.bottomLatitude, zoom, out etx, out ety); + + int isx = (int) stx; + int isy = (int) sty; + int iex = (int) etx; + int iey = (int) ety; + + elevations.Add(new RealWorldTerrainMapboxElevationGenerator(isx, isy, iex, iey, zoom)); + + double dsx = Math.Abs(prefs.depthSharpness) * rangeX / (prefs.heightmapResolution - 1) / prefs.terrainCount.x; + depthStep = (float)dsx * 100; + } + + public static bool Load() + { + return (elevations[0] as RealWorldTerrainMapboxElevationGenerator).TryLoadElevations(); + } + + private bool TryLoadElevations() + { + heightmap = new short[mapWidth, mapHeight]; + const int res = 256; + + for (int tx = isx; tx <= iex; tx++) + { + int cx = (tx - isx) * res; + + for (int ty = isy; ty <= iey; ty++) + { + int cy = (ty - isy) * res; + + string filename = Path.Combine(RealWorldTerrainEditorUtils.heightmapCacheFolder, zoom + "x" + tx + "x" + ty + ".pngraw"); + if (!File.Exists(filename)) return false; + byte[] bytes = File.ReadAllBytes(filename); + + Texture2D texture = new Texture2D(res, res); + if (!texture.LoadImage(bytes)) return false; + + Color[] colors = texture.GetPixels(); + Object.DestroyImmediate(texture); + + for (int y = 0; y < res; y++) + { + int py = (255 - y) * res; + int hy = y + cy; + + for (int x = 0; x < res; x++) + { + Color c = colors[py + x]; + + double height = -10000 + (c.r * 255 * 256 * 256 + c.g * 255 * 256 + c.b * 255) * 0.1; + heightmap[x + cx, hy] = (short)Math.Round(height); + } + } + } + } + + return true; + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainMapboxElevationGenerator.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainMapboxElevationGenerator.cs.meta new file mode 100644 index 000000000..1d440009e --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainMapboxElevationGenerator.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 875dabb4790c2254bb6fdc824760c625 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainMeshGenerator.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainMeshGenerator.cs new file mode 100644 index 000000000..062ca8686 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainMeshGenerator.cs @@ -0,0 +1,246 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.IO; +using InfinityCode.RealWorldTerrain.Phases; +using InfinityCode.RealWorldTerrain.Windows; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Generators +{ + public static class RealWorldTerrainMeshGenerator + { + private static Mesh mesh; + private static int lastY; + private static float curDepth; + private static float nextZ; + + private static RealWorldTerrainPrefs prefs + { + get { return RealWorldTerrainWindow.prefs; } + } + + private static bool GenerateElevation(MeshData data, int hr, float thf, double y2, double y1, Vector3 s, double x1, double x2, double minElevation, double scaledRange, float nodataDepth, int thi, RealWorldTerrainTimer timer) + { + double mx1, mx2, my1, my2; + RealWorldTerrainGeo.LatLongToMercat(x1, y2, out mx1, out my1); + RealWorldTerrainGeo.LatLongToMercat(x2, y1, out mx2, out my2); + + double thx = (mx2 - mx1) / thf; + double thy = (my2 - my1) / thf; + + Vector3[] vertices = data.vertices; + Vector2[] uv = data.uv; + int[] triangles = data.triangles; + + for (int hy = lastY; hy < hr; hy++) + { + float ry = hy / thf; + double py = hy * thy + my1; + + int iy = hy * hr; + float vy = hy * s.z; + + for (int hx = 0; hx < hr; hx++) + { + float rx = hx / thf; + double px = hx * thx + mx1; + + double elevation = RealWorldTerrainElevationGenerator.GetElevation(px, py); + int v = iy + hx; + float cy = float.MinValue; + if (Math.Abs(elevation - double.MinValue) > double.Epsilon) cy = (float)((elevation - minElevation) / scaledRange); + else if (!prefs.generateUnderWater) cy = nodataDepth; + else RealWorldTerrainElevationGenerator.hasUnderwater = true; + + vertices[v] = new Vector3(hx * s.x, cy, vy); + uv[v] = new Vector2(rx, ry); + + if (hx < thi && hy < thi) + { + int mv = (hy * thi + hx) * 6; + triangles[mv] = v; + triangles[mv + 1] = v + hr; + triangles[mv + 2] = v + 1; + triangles[mv + 3] = v + 1; + triangles[mv + 4] = v + hr; + triangles[mv + 5] = v + hr + 1; + } + } + + lastY = hy + 1; + if (timer.seconds > 1) + { + RealWorldTerrainPhase.phaseProgress = hy / (float)hr; + return false; + } + } + return true; + } + + private static bool GenerateUnderWater(MeshData data, double minElevation, double elevationRange, Vector3 s, int hr, RealWorldTerrainTimer timer) + { + Vector3[] vertices = data.vertices; + + while (RealWorldTerrainElevationGenerator.hasUnderwater) + { + bool newHasUnderwater = false; + bool fillMaxDepth = false; + double prevDepth = (curDepth - minElevation) / elevationRange; + curDepth -= RealWorldTerrainElevationGenerator.depthStep; + if (curDepth <= prefs.nodataValue) + { + curDepth = prefs.nodataValue; + fillMaxDepth = true; + } + + float cDepth = (float)((curDepth - minElevation) / elevationRange * s.y); + + for (int hy = 0; hy < hr; hy++) + { + bool ignoreTop = false; + int cy = hy * hr; + for (int hx = 0; hx < hr; hx++) + { + int cx = cy + hx; + if (Math.Abs(vertices[cx].y - float.MinValue) < float.Epsilon) + { + bool ignoreLeft = hx > 0 && vertices[cx - 1].y != prevDepth; + if (fillMaxDepth || RealWorldTerrainElevationGenerator.IsSingleDistance(hx, hy, ignoreLeft, ignoreTop)) + { + vertices[cx].y = cDepth; + ignoreTop = true; + } + else + { + newHasUnderwater = true; + ignoreTop = false; + } + } + else ignoreTop = false; + } + } + + RealWorldTerrainElevationGenerator.hasUnderwater = newHasUnderwater; + if (timer.seconds > 1) return false; + } + return true; + } + + public static void GenerateMesh(RealWorldTerrainItem item) + { + MeshData data = item["meshdata"] as MeshData; + + mesh = new Mesh + { + vertices = data.vertices, + triangles = data.triangles, + uv = data.uv + }; + mesh.RecalculateNormals(); + mesh.RecalculateBounds(); + + string id = item.name; + string filename = Path.Combine(item.container.folder, id + ".asset"); + + AssetDatabase.CreateAsset(mesh, filename); + AssetDatabase.SaveAssets(); + + RealWorldTerrainPhase.phaseComplete = true; + } + + public static void GenerateVertices(RealWorldTerrainItem item) + { + int hr = prefs.heightmapResolution; + + int thi = hr - 1; + + int verticesCount = hr * hr; + + MeshData data = new MeshData() + { + vertices = new Vector3[verticesCount], + triangles = new int[thi * thi * 6], + uv = new Vector2[verticesCount], + }; + + item["meshdata"] = data; + + double tx = item.leftLongitude; + double ty = item.topLatitude; + double bx = item.rightLongitude; + double by = item.bottomLatitude; + double minElevation = item.minElevation; + double elevationRange = item.maxElevation - minElevation; + + RealWorldTerrainTimer timer = RealWorldTerrainTimer.Start(); + + float thf = thi; + Vector3 s = item.size; + s.x /= thf; + s.z /= thf; + + double scaledRange = elevationRange / s.y; + float nodataDepth = (float)((prefs.nodataValue - minElevation) / scaledRange); + + if (!GenerateElevation(data, hr, thf, by, ty, s, tx, bx, minElevation, scaledRange, nodataDepth, thi, timer)) return; + if (!GenerateUnderWater(data, minElevation, elevationRange, s, hr, timer)) return; + + lastY = 0; + curDepth = 0; + + RealWorldTerrainPhase.phaseComplete = true; + } + + public static void InstantiateMeshes(RealWorldTerrainItem item) + { + MeshData data = item["meshdata"] as MeshData; + Material mat = data.material; + if (mat == null) + { + mat = new Material(Shader.Find("Standard")); + + string matFilename = Path.Combine(item.container.folder, item.name) + ".mat"; + AssetDatabase.CreateAsset(mat, matFilename); + AssetDatabase.SaveAssets(); + AssetDatabase.Refresh(); + data.material = mat = AssetDatabase.LoadAssetAtPath(matFilename); + } + + string id = item.name; + string filename = Path.Combine(item.container.folder, id + ".asset"); + Vector3 position = new Vector3(0, 0, nextZ); + + GameObject GO = new GameObject(id); + GO.transform.parent = item.transform; + GO.transform.localPosition = position; + + mesh = AssetDatabase.LoadAssetAtPath(filename, typeof(Mesh)) as Mesh; + item.meshFilter = GO.AddComponent(); + item.meshFilter.sharedMesh = mesh; + MeshCollider cl = GO.AddComponent(); + cl.sharedMesh = mesh; + MeshRenderer meshRenderer = GO.AddComponent(); + meshRenderer.sharedMaterial = mat; + + nextZ = cl.bounds.max.z - item.transform.position.z; + + lastY = 0; + nextZ = 0; + data.material = null; + item["meshdata"] = null; + + RealWorldTerrainPhase.phaseComplete = true; + } + + public class MeshData + { + public Vector3[] vertices; + public int[] triangles; + public Vector2[] uv; + public Material material; + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainMeshGenerator.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainMeshGenerator.cs.meta new file mode 100644 index 000000000..b5d41952f --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainMeshGenerator.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a668bebd64c340c4ab96debf95605c06 +timeCreated: 1520680858 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainProceduralToolkitBuildingGenerator.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainProceduralToolkitBuildingGenerator.cs new file mode 100644 index 000000000..1c7205563 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainProceduralToolkitBuildingGenerator.cs @@ -0,0 +1,164 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.Collections.Generic; +using System.Linq; +using InfinityCode.RealWorldTerrain.OSM; +using InfinityCode.RealWorldTerrain.Phases; +using InfinityCode.RealWorldTerrain.Windows; +using UnityEditor; +using UnityEngine; + +#if PROCEDURAL_TOOLKIT +using ProceduralToolkit; +using ProceduralToolkit.Buildings; +#endif + +namespace InfinityCode.RealWorldTerrain.Generators +{ + public static class RealWorldTerrainProceduralToolkitBuildingGenerator + { + private static RealWorldTerrainPrefs prefs + { + get { return RealWorldTerrainWindow.prefs; } + } + + private static void CreateBuilding(RealWorldTerrainContainer globalContainer, RealWorldTerrainOSMWay way) + { +#if PROCEDURAL_TOOLKIT + List points = RealWorldTerrainOSMUtils.GetGlobalPointsFromWay(way, RealWorldTerrainBuildingGenerator.nodes); + + if (points.Count < 3) return; + + if (points.First() == points.Last()) + { + points.Remove(points.Last()); + if (points.Count < 3) return; + } + + RealWorldTerrainBuildingGenerator.GetGlobalPoints(points, globalContainer); + + for (int i = 0; i < points.Count; i++) + { + int prev = i - 1; + if (prev < 0) prev = points.Count - 1; + + int next = i + 1; + if (next >= points.Count) next = 0; + + if ((points[prev] - points[i]).magnitude < 1f) + { + points.RemoveAt(i); + i--; + continue; + } + + if ((points[next] - points[i]).magnitude < 1f) + { + points.RemoveAt(next); + continue; + } + + float a1 = RealWorldTerrainMath.Angle2D(points[prev], points[i]); + float a2 = RealWorldTerrainMath.Angle2D(points[i], points[next]); + + if (Mathf.Abs(a1 - a2) < 5) + { + points.RemoveAt(i); + i--; + } + } + + if (points.Count < 3) return; + + Vector3 centerPoint = Vector3.zero; + centerPoint = points.Aggregate(centerPoint, (current, point) => current + point) / points.Count; + centerPoint.y = points.Min(p => p.y); + + float baseHeight = 15; + float roofHeight = 0; + + List baseVerticles = points.Select(p => + { + Vector3 np = p - centerPoint; + return new Vector2(np.x, np.z); + }).ToList(); + + var generator = new BuildingGenerator(); + generator.SetFacadePlanningStrategy(prefs.ptFacadePlanningStrategy); + generator.SetFacadeConstructionStrategy(prefs.ptFacadeConstructionStrategy); + generator.SetRoofPlanningStrategy(prefs.ptRoofPlanningStrategy); + generator.SetRoofConstructionStrategy(prefs.ptRoofConstructionStrategy); + + Debug.Log(way.id); + + BuildingGenerator.Config config = new BuildingGenerator.Config(); + config.roofConfig.type = RandomE.GetRandom(RoofType.Flat, RoofType.Hipped, RoofType.Gabled); + var building = generator.Generate(baseVerticles, config); + building.position = centerPoint; + + building.name = way.id; + building.gameObject.AddComponent().GetFromOSM(way); +#endif + } + + public static void Generate(RealWorldTerrainContainer globalContainer) + { + if (!RealWorldTerrainBuildingGenerator.loaded) + { + if (prefs.buildingPrefabs == null) + { + RealWorldTerrainPhase.phaseComplete = true; + return; + } + + RealWorldTerrainBuildingGenerator.Load(); + + if (RealWorldTerrainBuildingGenerator.ways.Count == 0) + { + RealWorldTerrainPhase.phaseComplete = true; + return; + } + + if (RealWorldTerrainWindow.generateTarget is RealWorldTerrainItem) + { + RealWorldTerrainItem item = RealWorldTerrainWindow.generateTarget as RealWorldTerrainItem; + RealWorldTerrainBuildingGenerator.baseContainer = RealWorldTerrainUtils.CreateGameObject(globalContainer, "Buildings " + item.x + "x" + (item.container.terrainCount.y - item.y - 1)); + RealWorldTerrainBuildingGenerator.baseContainer.transform.position = item.transform.position; + } + else RealWorldTerrainBuildingGenerator.baseContainer = RealWorldTerrainUtils.CreateGameObject(globalContainer, "Buildings"); + + RealWorldTerrainBuildingGenerator.houseContainer = RealWorldTerrainUtils.CreateGameObject(RealWorldTerrainBuildingGenerator.baseContainer, "Houses"); + globalContainer.generatedBuildings = true; + + if (RealWorldTerrainBuildingGenerator.ways.Count == 0) + { + RealWorldTerrainPhase.phaseComplete = true; + return; + } + } + + EditorUtility.DisplayProgressBar("Generate Buildings", "", 0); + + Debug.Log(RealWorldTerrainBuildingGenerator.ways.Count); + + for (int i = RealWorldTerrainPhase.index; i < RealWorldTerrainBuildingGenerator.ways.Count; i++) + { + RealWorldTerrainOSMWay way = RealWorldTerrainBuildingGenerator.ways.Values.ElementAt(i); + if (way.GetTagValue("building") == "bridge") continue; + string layer = way.GetTagValue("layer"); + if (!String.IsNullOrEmpty(layer) && Int32.Parse(layer) < 0) continue; + + CreateBuilding(globalContainer, way); + + float progress = (i + 1) / (float)RealWorldTerrainBuildingGenerator.ways.Count; + EditorUtility.DisplayProgressBar("Generate Buildings " + (progress * 100).ToString("F2") + "%", "", progress); + } + + EditorUtility.ClearProgressBar(); + + RealWorldTerrainPhase.phaseComplete = true; + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainProceduralToolkitBuildingGenerator.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainProceduralToolkitBuildingGenerator.cs.meta new file mode 100644 index 000000000..3305693c9 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainProceduralToolkitBuildingGenerator.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 8ef7b1c9e40456347b2cd370b0a1edf6 +timeCreated: 1558955622 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainRAWGenerator.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainRAWGenerator.cs new file mode 100644 index 000000000..da16e1c9b --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainRAWGenerator.cs @@ -0,0 +1,145 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.IO; +using InfinityCode.RealWorldTerrain.Phases; +using InfinityCode.RealWorldTerrain.Windows; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Generators +{ + public class RealWorldTerrainRAWGenerator + { + private static int lastX; + private static short[,] heightmap; + + public static void Generate() + { + RealWorldTerrainPrefs prefs = RealWorldTerrainWindow.prefs; + + double tx = prefs.leftLongitude; + double ty = prefs.topLatitude; + double bx = prefs.rightLongitude; + double by = prefs.bottomLatitude; + + double mx1, my1, mx2, my2; + RealWorldTerrainGeo.LatLongToMercat(tx, ty, out mx1, out my1); + RealWorldTerrainGeo.LatLongToMercat(bx, by, out mx2, out my2); + + RealWorldTerrainTimer timer = RealWorldTerrainTimer.Start(); + + int width = prefs.rawWidth; + int height = prefs.rawHeight; + + double thx = (mx2 - mx1) / (width - 1); + double thy = (my2 - my1) / (height - 1); + + if (heightmap == null) + { + heightmap = new short[height, width]; + lastX = 0; + } + + for (int hx = lastX; hx < width; hx++) + { + double px = hx * thx + mx1; + + for (int hy = 0; hy < height; hy++) + { + double py = hy * thy + my1; + + double elevation = RealWorldTerrainElevationGenerator.GetElevation(px, py); + int chy = height - hy - 1; + + if (Math.Abs(elevation - double.MinValue) > double.Epsilon) heightmap[chy, hx] = (short)Math.Round(elevation); + else heightmap[chy, hx] = prefs.nodataValue; + } + lastX = hx + 1; + RealWorldTerrainPhase.progress = hx / (float)width; + if (timer.seconds > 1) return; + } + + FileInfo info = new FileInfo(prefs.rawFilename); + if (!Directory.Exists(info.DirectoryName)) Directory.CreateDirectory(info.DirectoryName); + + if (prefs.rawType == RealWorldTerrainRawType.RAW) SaveRAW(prefs); + else SaveMapboxRGB(prefs); + + heightmap = null; + + RealWorldTerrainPhase.phaseComplete = true; + } + + private static void SaveMapboxRGB(RealWorldTerrainPrefs prefs) + { + Color[] colors = new Color[prefs.rawWidth * prefs.rawHeight]; + + int width = prefs.rawWidth; + int height = prefs.rawHeight; + + for (int hy = 0; hy < height; hy++) + { + int row = hy * width; + + for (int hx = 0; hx < width; hx++) + { + int h = heightmap[hy, hx] + 10000; + h *= 10; + + int b = h % 256; + h /= 256; + int g = h % 256; + h /= 256; + int r = h % 256; + + Color clr = new Color32((byte)r, (byte)g, (byte)b, 1); + colors[row + hx] = clr; + } + } + + Texture2D texture = new Texture2D(prefs.rawWidth, prefs.rawHeight, TextureFormat.RGB24, false); + texture.SetPixels(colors); + texture.Apply(); + + + string filename = prefs.rawFilename; + if (!filename.ToLower().EndsWith(".png")) filename += ".png"; + + File.WriteAllBytes(filename, texture.EncodeToPNG()); + UnityEngine.Object.DestroyImmediate(texture); + EditorUtility.RevealInFinder(filename); + } + + private static void SaveRAW(RealWorldTerrainPrefs prefs) + { + string filename = prefs.rawFilename; + + if (!filename.ToLower().EndsWith(".raw")) filename += ".raw"; + + FileStream stream = new FileStream(filename, FileMode.Create); + BinaryWriter writer = new BinaryWriter(stream); + + int width = prefs.rawWidth; + int height = prefs.rawHeight; + + for (int hy = 0; hy < height; hy++) + { + for (int hx = 0; hx < width; hx++) + { + short v = heightmap[hy, hx]; + if (prefs.rawByteOrder == RealWorldTerrainByteOrder.Windows) writer.Write(v); + else + { + writer.Write((byte)(v / 256)); + writer.Write((byte)(v % 256)); + } + } + } + + stream.Close(); + EditorUtility.RevealInFinder(filename); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainRAWGenerator.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainRAWGenerator.cs.meta new file mode 100644 index 000000000..54811a7ee --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainRAWGenerator.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c41de139148e03346bf91c6c4239c9e6 +timeCreated: 1520680858 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainRiverGenerator.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainRiverGenerator.cs new file mode 100644 index 000000000..2f579038a --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainRiverGenerator.cs @@ -0,0 +1,463 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using InfinityCode.RealWorldTerrain.Net; +using InfinityCode.RealWorldTerrain.OSM; +using InfinityCode.RealWorldTerrain.Phases; +using InfinityCode.RealWorldTerrain.Windows; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Generators +{ + public static class RealWorldTerrainRiverGenerator + { + public const string BUILTIN_RIVER_ENGINE = "Built-In"; + public const string RAM2019_RIVER_ENGINE = "R.A.M 2019"; + + private static Dictionary nodes; + private static Dictionary ways; + private static List relations; + private static bool loaded; + private static string riverFolder; + private static List riversToSave; + private static Material emptyMaterial; + + public static string url + { + get + { + string request = string.Format( + RealWorldTerrainCultureInfo.numberFormat, + "node({0},{1},{2},{3});way(bn);rel(bw)['natural'~'water'];(._;>;);out;node({0},{1},{2},{3});way(bn)['natural'~'water'];(._;>;);out;node({0},{1},{2},{3});way(bn)['waterway'~'stream|river'];(._;>;);out;", + prefs.bottomLatitude, + prefs.leftLongitude, + prefs.topLatitude, + prefs.rightLongitude); + return RealWorldTerrainOSMUtils.osmURL + RealWorldTerrainDownloadManager.EscapeURL(request); ; + } + } + + private static RealWorldTerrainPrefs prefs + { + get { return RealWorldTerrainWindow.prefs; } + } + + public static string filename + { + get + { + return Path.Combine(RealWorldTerrainEditorUtils.osmCacheFolder, + String.Format( + RealWorldTerrainCultureInfo.numberFormat, + "rivers_{0}_{1}_{2}_{3}.osm", + prefs.bottomLatitude, + prefs.leftLongitude, + prefs.topLatitude, + prefs.rightLongitude)); + } + } + + public static string compressedFilename + { + get + { + return filename + "c"; + } + } + + public static void CreateRAMRiverArea(RealWorldTerrainOSMRelation rel, GameObject container, RealWorldTerrainContainer globalContainer) + { +#if RAM2019 + List points = new List(); + + List usedWays = new List(); + + foreach (RealWorldTerrainOSMRelationMember member in rel.members) + { + if (member.type != "way") continue; + + RealWorldTerrainOSMWay way; + if (!ways.TryGetValue(member.reference, out way)) continue; + + usedWays.Add(way); + } + + points.AddRange(RealWorldTerrainOSMUtils.GetWorldPointsFromWay(usedWays[0], nodes, globalContainer)); + string lastID = usedWays[0].nodeRefs.Last(); + usedWays.RemoveAt(0); + + if (usedWays.Count > 0) + { + while (usedWays.Count > 0) + { + RealWorldTerrainOSMWay way = usedWays.FirstOrDefault(w => w.nodeRefs[0] == lastID); + bool r = false; + if (way == null) + { + way = usedWays.FirstOrDefault(w => w.nodeRefs.Last() == lastID); + if (way == null) break; + + r = true; + } + + lastID = r ? way.nodeRefs[0] : way.nodeRefs.Last(); + + List wayPoints = RealWorldTerrainOSMUtils.GetWorldPointsFromWay(way, nodes, globalContainer); + + if (r) wayPoints.Reverse(); + + points.AddRange(wayPoints.Skip(1)); + usedWays.Remove(way); + } + } + + if (points.Count < 3) return; + + if (points.First() == points.Last()) + { + points.RemoveAt(0); + if (points.Count < 3) return; + } + + CreateRAMRiverArea(rel, container, points); +#endif + } + + public static void CreateRAMRiverArea(RealWorldTerrainOSMWay way, GameObject container, RealWorldTerrainContainer globalContainer) + { +#if RAM2019 + List points = RealWorldTerrainOSMUtils.GetWorldPointsFromWay(way, nodes, globalContainer); + + if (points.Count < 3) + { + Debug.Log(way.id); + + return; + } + + if (points.First() == points.Last()) + { + points.RemoveAt(0); + if (points.Count < 3) return; + } + + CreateRAMRiverArea(way, container, points); +#endif + } + + public static void CreateRAMRiverArea(RealWorldTerrainOSMBase osm, GameObject container, List points) + { +#if RAM2019 + GameObject go = RealWorldTerrainUtils.CreateGameObject(container, "River " + osm.id); + LakePolygon lakePolygon = go.AddComponent(); + MeshRenderer meshRenderer = go.AddComponent(); + lakePolygon.oldProfile = lakePolygon.currentProfile = prefs.ramAreaProfile; + if (prefs.ramAreaProfile != null) meshRenderer.sharedMaterial = lakePolygon.oldMaterial = prefs.ramAreaProfile.lakeMaterial; + + Vector3 cPos = container.transform.position; + for (int i = 0; i < points.Count; i++) points[i] -= cPos; + + lakePolygon.maximumTriangleSize = 10000; + lakePolygon.yOffset = 0; + lakePolygon.snapToTerrain = true; + lakePolygon.points = points; + lakePolygon.GeneratePolygon(); + + go.AddComponent().GetFromOSM(osm); +#endif + } + + public static void CreateRAMRiverStream(RealWorldTerrainOSMWay way, GameObject container, RealWorldTerrainContainer globalContainer) + { +#if RAM2019 + List points = RealWorldTerrainOSMUtils.GetWorldPointsFromWay(way, nodes, globalContainer); + if (points.Count < 3) return; + + GameObject go = RealWorldTerrainUtils.CreateGameObject(container, "River " + way.id); + RamSpline spline = go.AddComponent(); + MeshRenderer meshRenderer = go.AddComponent(); + spline.oldProfile = spline.currentProfile = prefs.ramSplineProfile; + if (prefs.ramSplineProfile != null) meshRenderer.sharedMaterial = spline.oldMaterial = prefs.ramSplineProfile.splineMaterial; + + Vector3 cPos = container.transform.position; + foreach (Vector3 p in points) spline.AddPoint(p - cPos); + + spline.GenerateSpline(); + spline.snapToTerrain = true; + + go.AddComponent().GetFromOSM(way); +#endif + } + + private static void CreateRiver(RealWorldTerrainOSMRelation rel, GameObject container, RealWorldTerrainContainer globalContainer, Material defMaterial) + { + List points = new List(); + + List usedWays = new List(); + + foreach (RealWorldTerrainOSMRelationMember member in rel.members) + { + if (member.type != "way") continue; + + RealWorldTerrainOSMWay way; + if (!ways.TryGetValue(member.reference, out way)) continue; + + usedWays.Add(way); + } + + points.AddRange(RealWorldTerrainOSMUtils.GetWorldPointsFromWay(usedWays[0], nodes, globalContainer)); + string lastID = usedWays[0].nodeRefs.Last(); + usedWays.RemoveAt(0); + + if (usedWays.Count > 0) + { + while (usedWays.Count > 0) + { + RealWorldTerrainOSMWay way = usedWays.FirstOrDefault(w => w.nodeRefs[0] == lastID); + bool r = false; + if (way == null) + { + way = usedWays.FirstOrDefault(w => w.nodeRefs.Last() == lastID); + if (way == null) break; + + r = true; + } + + lastID = r? way.nodeRefs[0] : way.nodeRefs.Last(); + + List wayPoints = RealWorldTerrainOSMUtils.GetWorldPointsFromWay(way, nodes, globalContainer); + + if (r) wayPoints.Reverse(); + + points.AddRange(wayPoints.Skip(1)); + usedWays.Remove(way); + } + } + + if (points.Count < 3) return; + + if (points.First() == points.Last()) + { + points.RemoveAt(0); + if (points.Count < 3) return; + } + + CreateRiver(rel, container, defMaterial, points); + } + + private static void CreateRiver(RealWorldTerrainOSMWay way, GameObject container, RealWorldTerrainContainer globalContainer, Material defMaterial) + { + List points = RealWorldTerrainOSMUtils.GetWorldPointsFromWay(way, nodes, globalContainer); + + if (points.Count < 3) return; + + if (points.First() == points.Last()) + { + points.RemoveAt(0); + if (points.Count < 3) return; + } + + CreateRiver(way, container, defMaterial, points); + } + + private static void CreateRiver(RealWorldTerrainOSMBase osm, GameObject container, Material defMaterial, List points) + { + List vertices = new List(points.Count); + List uv = new List(points.Count); + List normals = new List(points.Count); + List flatPoints = new List(points.Count); + + Vector4 b = new Vector4(float.MaxValue, float.MaxValue, float.MinValue, float.MinValue); + + Vector3 cPos = container.transform.position; + + for (int i = 0; i < points.Count; i++) + { + Vector3 v = points[i] - cPos; + vertices.Add(v); + normals.Add(Vector3.up); + flatPoints.Add(new Vector2(v.x, v.z)); + if (v.x < b.x) b.x = v.x; + if (v.z < b.y) b.y = v.z; + if (v.x > b.z) b.z = v.x; + if (v.z > b.w) b.w = v.z; + } + + float ox = b.z - b.x; + float oz = b.w - b.y; + + Vector3 position = new Vector3((b.x + b.z) / 2, vertices[0].y, (b.y + b.w) / 2); + + for (int i = 0; i < vertices.Count; i++) + { + vertices[i] -= position; + Vector3 v = vertices[i]; + uv.Add(new Vector2((v.x - b.x) / ox, (v.z - b.y) / oz)); + } + + int[] triangles = RealWorldTerrainMath.Triangulate(flatPoints).ToArray(); + bool reversed = RealWorldTerrainMath.IsClockWise(vertices[triangles[0]], vertices[triangles[1]], vertices[triangles[2]]); + if (reversed) triangles = triangles.Reverse().ToArray(); + + string name = "River " + osm.id; + + GameObject meshGO = RealWorldTerrainUtils.CreateGameObject(container, name); + meshGO.transform.localPosition = position; + + Mesh mesh = new Mesh + { + name = meshGO.name, + vertices = vertices.ToArray(), + uv = uv.ToArray(), + normals = normals.ToArray(), + triangles = triangles.ToArray() + }; + + mesh.RecalculateBounds(); + + Material material; + if (defMaterial != null) material = new Material(defMaterial); + else + { + if (emptyMaterial == null) emptyMaterial = new Material(Shader.Find("Standard")); + material = emptyMaterial; + } + + MeshFilter meshFilter = RealWorldTerrainOSMUtils.AppendMesh(meshGO, mesh, material, name); + meshGO.AddComponent().GetFromOSM(osm); + + riversToSave.Add(meshFilter); + } + + public static void Dispose() + { + nodes = null; + ways = null; + relations = null; + loaded = false; + emptyMaterial = null; + } + + public static void Download() + { + if (!prefs.generateRivers || File.Exists(compressedFilename)) return; + if (File.Exists(filename)) + { + byte[] data = File.ReadAllBytes(filename); + OnDownloadComplete(ref data); + } + else + { + RealWorldTerrainDownloadItemWebClient item = new RealWorldTerrainDownloadItemWebClient(url) + { + filename = filename, + averageSize = 600000, + exclusiveLock = RealWorldTerrainOSMUtils.OSMLocker, + ignoreRequestProgress = true + }; + item.OnData += OnDownloadComplete; + } + } + + public static void Generate(RealWorldTerrainContainer baseContainer) + { + if (!loaded) + { + RealWorldTerrainOSMUtils.LoadOSM(compressedFilename, out nodes, out ways, out relations, false); + loaded = true; + } + + baseContainer.generatedRivers = true; + + string containerName = RealWorldTerrainWindow.generateTarget != null? "Rivers for " + RealWorldTerrainWindow.generateTarget.gameObject.name: "Rivers"; + GameObject container = RealWorldTerrainUtils.CreateGameObject(baseContainer, containerName); + + container.transform.parent = baseContainer.gameObject.transform; + container.transform.localPosition = Vector3.zero; + + Material mat = prefs.riverMaterial; + if (mat == null) RealWorldTerrainEditorUtils.FindMaterial("Default-River-Material.mat"); + + riversToSave = new List(); + + RealWorldTerrainOSMRelation[] areas = relations.Where(r => r.HasTag("natural", "water")).ToArray(); + RealWorldTerrainOSMWay[] wayAreas = ways.Where(r => r.Value.HasTag("natural", "water")).Select(r => r.Value).ToArray(); + KeyValuePair[] splines = ways.Where(w => w.Value.HasTags("waterway", "stream", "river")).ToArray(); + + float total = areas.Length + wayAreas.Length + splines.Length; + + for (int i = 0; i < areas.Length; i++) + { + if (EditorUtility.DisplayCancelableProgressBar("Please wait", "Generating river", i / total)) + { + break; + } + + var rel = areas[i]; + if (prefs.riverEngine == BUILTIN_RIVER_ENGINE) CreateRiver(rel, container, baseContainer, mat); + else if (prefs.riverEngine == RAM2019_RIVER_ENGINE) CreateRAMRiverArea(rel, container, baseContainer); + } + + for (int i = 0; i < wayAreas.Length; i++) + { + if (EditorUtility.DisplayCancelableProgressBar("Please wait", "Generating river", i / total)) + { + break; + } + + var way = wayAreas[i]; + if (prefs.riverEngine == BUILTIN_RIVER_ENGINE) CreateRiver(way, container, baseContainer, mat); + else if (prefs.riverEngine == RAM2019_RIVER_ENGINE) CreateRAMRiverArea(way, container, baseContainer); + } + + for (int i = 0; i < splines.Length; i++) + { + if (EditorUtility.DisplayCancelableProgressBar("Please wait", "Generating river", (i + areas.Length) / total)) + { + break; + } + + var way = splines[i].Value; + if (prefs.riverEngine == RAM2019_RIVER_ENGINE) CreateRAMRiverStream(way, container, baseContainer); + } + + if (riversToSave != null && riversToSave.Count > 0) + { + riverFolder = RealWorldTerrainWindow.container.folder + "/Rivers/"; + if (!Directory.Exists(riverFolder)) Directory.CreateDirectory(riverFolder); + + AssetDatabase.StartAssetEditing(); + + foreach (MeshFilter filter in riversToSave) + { + Mesh mesh = filter.sharedMesh; + string path = riverFolder + mesh.name + ".asset"; + AssetDatabase.CreateAsset(mesh, path); + } + + AssetDatabase.StopAssetEditing(); + + foreach (MeshFilter filter in riversToSave) + { + Mesh mesh = filter.sharedMesh; + string path = riverFolder + mesh.name + ".asset"; + filter.sharedMesh = AssetDatabase.LoadAssetAtPath(path); + } + } + + EditorUtility.ClearProgressBar(); + + RealWorldTerrainPhase.phaseComplete = true; + } + + private static void OnDownloadComplete(ref byte[] data) + { + RealWorldTerrainOSMUtils.GenerateCompressedFile(data, ref nodes, ref ways, ref relations, compressedFilename); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainRiverGenerator.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainRiverGenerator.cs.meta new file mode 100644 index 000000000..74dcec8b8 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainRiverGenerator.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 09e8e37dbea27ed448ea2c19572fbc0d +timeCreated: 1547585953 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainRoadArchitectGenerator.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainRoadArchitectGenerator.cs new file mode 100644 index 000000000..c31fb4fa9 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainRoadArchitectGenerator.cs @@ -0,0 +1,89 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using InfinityCode.RealWorldTerrain.OSM; +using System.Collections.Generic; +using UnityEngine; + +#if ROADARCHITECT +using GSD.Roads; +#endif + +namespace InfinityCode.RealWorldTerrain.Generators +{ + public class RealWorldTerrainRoadArchitectGenerator: RealWorldTerrainRoadGenerator + { + public RealWorldTerrainRoadArchitectGenerator(RealWorldTerrainOSMWay way, RealWorldTerrainContainer container) : base(way, container) + { + } + +#if ROADARCHITECT + protected static GSDRoadSystem tRoadSystem; + protected List splines; + + public override void Create() + { + roadGo = tRoadSystem.AddRoad(); + GSDRoad road = roadGo.GetComponent(); + road.opt_HeightModEnabled = false; + road.opt_bShouldersEnabled = type == "primary"; + road.opt_DetailModEnabled = false; + road.opt_bMaxGradeEnabled = false; + road.opt_TreeModEnabled = false; + + if (type == "residential") + { + road.opt_LaneWidth = 2; + } + + if (way.HasTagKey("surface")) + { + string surface = way.GetTagValue("surface"); + if (surface == "unpaved") + { + road.opt_tRoadMaterialDropdown = GSDRoad.RoadMaterialDropdownEnum.Dirt; + road.opt_LaneWidth = 2.5f; + } + } + + if (way.HasTagKey("tracktype")) + { + road.opt_tRoadMaterialDropdown = GSDRoad.RoadMaterialDropdownEnum.Dirt; + road.opt_LaneWidth = 2.5f; + } + + road.transform.position = firstPoint; + road.gameObject.AddComponent().GetFromOSM(way); + + Vector3 offset = new Vector3(0, 0.5f, 0); + splines = new List(); + + for (int i = 0; i < points.Count; i++) + { + Vector3 point = points[i]; + GameObject tNodeObj = new GameObject("Node" + i); + GSDSplineN tNode = tNodeObj.AddComponent(); + tNodeObj.AddComponent(); + tNodeObj.transform.position = point + offset; + tNodeObj.transform.parent = road.GSDSplineObj.transform; + tNode.idOnSpline = i; + tNode.GSDSpline = road.GSDSpline; + tNode.bNeverIntersect = true; + splines.Add(tNode); + } + + road.UpdateRoad(); + } + + public static void Init() + { + if (prefs.roadEngine != "Road Architect") return; + + tRoadSystem = roadContainer.AddComponent(); + RealWorldTerrainUtils.CreateGameObject(roadContainer, "Intersections"); + } +#else + public static void Init() { } +#endif + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainRoadArchitectGenerator.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainRoadArchitectGenerator.cs.meta new file mode 100644 index 000000000..33309c270 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainRoadArchitectGenerator.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 027498ffd0455cb4297c96851c137779 +timeCreated: 1574931410 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainRoadGenerator.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainRoadGenerator.cs new file mode 100644 index 000000000..1be9c91f3 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainRoadGenerator.cs @@ -0,0 +1,372 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System; +using System.Collections; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using InfinityCode.RealWorldTerrain.Net; +using InfinityCode.RealWorldTerrain.OSM; +using InfinityCode.RealWorldTerrain.Phases; +using InfinityCode.RealWorldTerrain.Windows; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Generators +{ + public abstract class RealWorldTerrainRoadGenerator + { + protected static List roads; + protected static GameObject roadContainer; + + public bool isDuplicate = false; + public string type; + + protected RealWorldTerrainContainer container; + protected string id; + public List points; + protected RealWorldTerrainOSMWay way; + protected List globalPoints; + protected GameObject roadGo; + protected static List alreadyCreated; + protected static bool loaded = false; + protected static Dictionary nodes; + protected static Dictionary ways; + protected static List relations; + + protected string waitFirstConnection; + protected string waitLastConnection; + + public static string url + { + get + { + string highwayType = "'highway'"; + if (prefs.roadTypeMode == RealWorldTerrainRoadTypeMode.simple) + { + if ((int)prefs.roadTypes != -1) + { + BitArray ba = new BitArray(System.BitConverter.GetBytes((int)prefs.roadTypes)); + List types = new List(); + for (int i = 0; i < 32; i++) + { + if (ba.Get(i)) + { + string s = Enum.GetName(typeof(RealWorldTerrainRoadType), (RealWorldTerrainRoadType)(1 << i)).ToLowerInvariant(); + types.Add(s); + } + } + highwayType += "~'" + string.Join(@"|", types.ToArray()) + "'"; + } + } + + string data = string.Format(RealWorldTerrainCultureInfo.numberFormat, "node({0},{1},{2},{3});way(bn)[{4}];(._;>;);out;", prefs.bottomLatitude, prefs.leftLongitude, prefs.topLatitude, prefs.rightLongitude, highwayType); + return RealWorldTerrainOSMUtils.osmURL + RealWorldTerrainDownloadManager.EscapeURL(data); + } + } + + public static string filename + { + get + { + return Path.Combine(RealWorldTerrainEditorUtils.osmCacheFolder, string.Format("roads_{0}_{1}_{2}_{3}_{4}.osm", prefs.bottomLatitude, prefs.leftLongitude, + prefs.topLatitude, prefs.rightLongitude, (int)prefs.roadTypes)); + } + } + + public static string compressedFilename + { + get + { + return filename + "c"; + } + } + + protected static RealWorldTerrainPrefs prefs + { + get { return RealWorldTerrainWindow.prefs; } + } + + protected Vector3 secondPoint + { + get { return points[1]; } + } + + protected Vector3 preLastPoint + { + get { return points[points.Count - 2]; } + } + + protected Vector3 lastPoint + { + get { return points.Last(); } + } + + protected Vector3 firstPoint + { + get { return points.First(); } + } + + public RealWorldTerrainRoadGenerator(RealWorldTerrainOSMWay way, RealWorldTerrainContainer container) + { + if (roads == null) roads = new List(); + + this.container = container; + this.way = way; + id = way.id; + type = this.way.GetTagValue("highway"); + + globalPoints = RealWorldTerrainOSMUtils.GetGlobalPointsFromWay(this.way, nodes); + + DetectDuplicates(); + if (isDuplicate) return; + + RealWorldTerrainOSMNode firstNode = nodes[way.nodeRefs[0]]; + RealWorldTerrainOSMNode lastNode = nodes[way.nodeRefs.Last()]; + + if (firstNode.usageCount > 1) waitFirstConnection = firstNode.id; + if (lastNode.usageCount > 1) waitLastConnection = lastNode.id; + + points = new List(globalPoints.Count); + foreach (Vector3 gp in globalPoints) + { + Vector3 p = RealWorldTerrainEditorUtils.CoordsToWorldWithElevation(gp, container); + points.Add(p); + } + + if (prefs.normalizeRoadDistances) NormalizeDistance(); + TrimPoints(); + + roads.Add(this); + } + + private void DetectDuplicates() + { + for (int i = 0; i < roads.Count; i++) + { + RealWorldTerrainRoadGenerator r = roads[i]; + if (r.globalPoints.Count != globalPoints.Count) continue; + + bool findDiff = globalPoints.Where((t, j) => (r.globalPoints[j] - t).magnitude > 0.0001f).Any(); + if (!findDiff) + { + isDuplicate = true; + return; + } + } + } + + public static void Dispose() + { + loaded = false; + ways = null; + relations = null; + nodes = null; + roads = null; + roadContainer = null; + alreadyCreated = null; + +#if EASYROADS3D + RealWorldTerrainEasyRoads3DGenerator.FreeReferences(); +#endif + } + + public static void Download() + { + if (!prefs.generateRoads || prefs.roadTypes == 0 || File.Exists(compressedFilename)) return; + if (File.Exists(filename)) + { + byte[] data = File.ReadAllBytes(filename); + OnDownloadComplete(ref data); + } + else + { + RealWorldTerrainDownloadItemWebClient item = new RealWorldTerrainDownloadItemWebClient(url) + { + filename = filename, + averageSize = 600000, + exclusiveLock = RealWorldTerrainOSMUtils.OSMLocker, + ignoreRequestProgress = true + }; + + item.OnData += OnDownloadComplete; + } + } + + public virtual void Create() + { + + } + + public static void Generate(RealWorldTerrainContainer container) + { + if (!loaded && !Init(container)) return; + + RealWorldTerrainTimer timer = RealWorldTerrainTimer.Start(); + + for (int i = RealWorldTerrainPhase.index; i < roads.Count; i++) + { + RealWorldTerrainRoadGenerator road = roads[i]; + if (road.points.Count < 2) continue; + if (alreadyCreated.Contains(road.id)) continue; + alreadyCreated.Add(road.id); + road.Create(); + + if (timer.seconds > 1) + { + RealWorldTerrainPhase.index = i + 1; + RealWorldTerrainPhase.phaseProgress = RealWorldTerrainPhase.index / (float)roads.Count; + return; + } + } + +#if EASYROADS3D + if (prefs.erGenerateConnection) RealWorldTerrainEasyRoads3DGenerator.CreateConnections(container); +#endif + + Dispose(); + RealWorldTerrainPhase.phaseComplete = true; + } + + private static bool Init(RealWorldTerrainContainer container) + { + Load(); + if (ways == null || ways.Count == 0) + { + RealWorldTerrainPhase.phaseComplete = true; + return false; + } + + alreadyCreated = new List(); + + SplitWays(); + + if (RealWorldTerrainWindow.generateTarget is RealWorldTerrainItem) + { + RealWorldTerrainItem item = RealWorldTerrainWindow.generateTarget as RealWorldTerrainItem; + roadContainer = RealWorldTerrainUtils.CreateGameObject(container, "Roads " + item.x + "x" + (item.container.terrainCount.y - item.y - 1)); + roadContainer.transform.position = item.transform.position; + } + else roadContainer = RealWorldTerrainUtils.CreateGameObject(container, "Roads"); + + if (prefs.roadEngine == "EasyRoads3D") + { + foreach (KeyValuePair pair in ways) + { + new RealWorldTerrainEasyRoads3DGenerator(pair.Value, container); + } + + RealWorldTerrainEasyRoads3DGenerator.Init(); + } + else if (prefs.roadEngine == "Road Architect") + { + foreach (KeyValuePair pair in ways) + { + new RealWorldTerrainRoadArchitectGenerator(pair.Value, container); + } + + RealWorldTerrainRoadArchitectGenerator.Init(); + } + + return true; + } + + private static void Load() + { + if (prefs.roadTypes == 0) return; + RealWorldTerrainOSMUtils.LoadOSM(compressedFilename, out nodes, out ways, out relations); + loaded = true; + } + + private void NormalizeDistance() + { + int i = 0; + while (i < points.Count - 1) + { + Vector3 p1 = points[i]; + Vector3 p2 = points[i + 1]; + if ((p1 - p2).magnitude < 10) + { + points[i] = Vector3.Lerp(p1, p2, 0.5f); + points.RemoveAt(i + 1); + } + else i++; + } + + i = 0; + while (i < points.Count - 1) + { + Vector3 p1 = points[i]; + Vector3 p2 = points[i + 1]; + if ((p1 - p2).magnitude > 40) points.Insert(i + 1, Vector3.Lerp(p1, p2, 0.5f)); + else i++; + } + } + + private static void OnDownloadComplete(ref byte[] data) + { + RealWorldTerrainOSMUtils.GenerateCompressedFile(data, ref nodes, ref ways, ref relations, compressedFilename); + } + + private static void SplitWays() + { + foreach (KeyValuePair node in nodes) + { + node.Value.usageCount = 0; + } + + foreach (KeyValuePair pair in ways) + { + RealWorldTerrainOSMWay way = pair.Value; + foreach (string nid in way.nodeRefs) + { + RealWorldTerrainOSMNode node; + if (nodes.TryGetValue(nid, out node)) node.usageCount++; + } + } + + List newWays = new List(); + + foreach (KeyValuePair pair in ways) + { + RealWorldTerrainOSMWay way = pair.Value; + TrySplitWay(way, newWays, way.id, 0); + } + + foreach (RealWorldTerrainOSMWay w in newWays) ways.Add(w.id, w); + } + + private void TrimPoints() + { + int index = 0; + Vector3 p1 = container.transform.position; + Vector3 p2 = p1 + container.size; + while (index < points.Count) + { + Vector3 p = points[index]; + if (p.x < p1.x || p.z < p1.z || p.x > p2.x || p.z > p2.z) points.RemoveAt(index); + else index++; + } + } + + private static void TrySplitWay(RealWorldTerrainOSMWay way, List newWays, string id, int deep) + { + for (int i = 1; i < way.nodeRefs.Count - 1; i++) + { + string nid = way.nodeRefs[i]; + RealWorldTerrainOSMNode node; + if (!nodes.TryGetValue(nid, out node)) continue; + if (node.usageCount < 2) continue; + + RealWorldTerrainOSMWay newWay = new RealWorldTerrainOSMWay(); + newWay.id = id + "_" + deep; + newWay.tags = new List(way.tags); + newWay.nodeRefs = way.nodeRefs.Skip(i).ToList(); + way.nodeRefs = way.nodeRefs.Take(i + 1).ToList(); + newWays.Add(newWay); + TrySplitWay(newWay, newWays, id, deep + 1); + break; + } + } + } +} diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainRoadGenerator.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainRoadGenerator.cs.meta new file mode 100644 index 000000000..4cc018e2e --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainRoadGenerator.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: dccb4b54dc5c9ba44a8be68a86b0e09c +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainSRTM30ElevationGenerator.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainSRTM30ElevationGenerator.cs new file mode 100644 index 000000000..974e5527e --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainSRTM30ElevationGenerator.cs @@ -0,0 +1,367 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.Collections.Generic; +using System.IO; +using System.IO.Compression; +using InfinityCode.RealWorldTerrain.Net; +using InfinityCode.RealWorldTerrain.Phases; +using InfinityCode.RealWorldTerrain.Windows; +using UnityEngine; +using UnityEngine.Networking; + +namespace InfinityCode.RealWorldTerrain.Generators +{ + public class RealWorldTerrainSRTM30ElevationGenerator : RealWorldTerrainElevationGenerator + { + private const string server = "https://e4ftl01.cr.usgs.gov/MEASURES/SRTMGL1.003/2000.02.11/"; + private static List downloaderItems; + + public static string login; + public static string pass; + + private readonly string filename; + private readonly string arcFilename; + private readonly string heightmapFilename; + private readonly int x1; + private readonly int y1; + private readonly int x2; + private readonly int y2; + private double mx1; + private double mx2; + private double my1; + private double my2; + private static object exclusiveLock; + + public RealWorldTerrainSRTM30ElevationGenerator(int X, int Y, ref bool needAuth) + { + x1 = X; + x2 = X + 1; + + y1 = Y + 1; + y2 = Y; + + mapSize = 3601; + mapSize2 = mapSize - 1; + + RealWorldTerrainGeo.LatLongToMercat(x1, y1, out mx1, out my1); + RealWorldTerrainGeo.LatLongToMercat(x2, y2, out mx2, out my2); + + string ax = x1 < 0 ? "W" : "E"; + int absX = Mathf.Abs(x1); + if (absX < 100) ax += "0"; + if (absX < 10) ax += "0"; + ax += absX; + + string ay = y2 < 0 ? "S" : "N"; + int absY = Mathf.Abs(y2); + if (absY < 10) ay += "0"; + ay += absY; + + filename = String.Format("{1}{0}.hgt", ax, ay); + + arcFilename = Path.Combine(RealWorldTerrainEditorUtils.heightmapCacheFolder, filename + ".zip"); + heightmapFilename = Path.Combine(RealWorldTerrainEditorUtils.heightmapCacheFolder, filename); + + string url = server + ay.ToUpper() + ax.ToUpper() + ".SRTMGL1.hgt.zip"; + + if (exclusiveLock == null) exclusiveLock = new object(); + + if (!File.Exists(heightmapFilename) && !File.Exists(arcFilename)) + { + if (needAuth) + { + RealWorldTerrainDownloadItemAction authItem = new RealWorldTerrainDownloadItemAction + { + exclusiveLock = exclusiveLock + }; + authItem["url"] = url; + authItem["step"] = 1; + authItem.OnStart = OnAuthStep; + authItem.OnCheckComplete = OnAuthCheckComplete; + downloaderItems = new List(); + needAuth = false; + } + + RealWorldTerrainDownloadItemWebClient item = new RealWorldTerrainDownloadItemWebClient(url) + { + filename = arcFilename, + averageSize = 10600000, + exclusiveLock = exclusiveLock + }; + downloaderItems.Add(item); + item.OnError += OnDownloadError; + } + } + + public override bool Contains(double x, double y) + { + return x >= mx1 && x <= mx2 && y >= my1 && y <= my2; + } + + public new static void Dispose() + { + if (elevations != null) + { + foreach (RealWorldTerrainSRTM30ElevationGenerator elevation in elevations) + { + if (File.Exists(elevation.heightmapFilename)) + { + FileInfo info = new FileInfo(elevation.heightmapFilename); + if (info.Length == 0) RealWorldTerrainFileSystem.SafeDeleteFile(elevation.heightmapFilename); + } + + elevation.heightmap = null; + } + + elevations = null; + } + + lastX = 0; + + lastElevation = null; + } + + public override double GetElevationValue(double x, double y) + { + RealWorldTerrainGeo.MercatToLatLong(x, y, out x, out y); + + x = x - x1; + y = y1 - y; + + double cx = x * mapSize2; + double cy = y * mapSize2; + + int ix = (int)cx; + int iy = (int)cy; + + if (prefs.nodataValue != 0 && GetValue(ix, iy) == short.MinValue) return double.MinValue; + + double ox = cx - ix; + double oy = cy - iy; + + return GetSmoothElevation(ox - 1, ox - 2, ox + 1, oy - 1, oy - 2, oy + 1, ix, iy, ox, ix + 1, oy, iy + 1, ox * oy, ix - 1, iy - 1, ix + 2, iy + 2); + } + + public static void GetSRTMElevationRange(out double minEl, out double maxEl) + { + minEl = double.MaxValue; + maxEl = double.MinValue; + + int cx = prefs.terrainCount.x * (prefs.heightmapResolution - 1) + 1; + int cy = prefs.terrainCount.y * (prefs.heightmapResolution - 1) + 1; + + const int maxV = 4097; + if (cx > maxV && cx > cy) + { + float sv = maxV / (float)cx; + cx = maxV; + cy = Mathf.RoundToInt(cy * sv); + } + else if (cy > maxV) + { + float sv = maxV / (float)cy; + cy = maxV; + cx = Mathf.RoundToInt(cx * sv); + } + + double rx = (prefs.rightLongitude - prefs.leftLongitude) / cx; + double ry = (prefs.topLatitude - prefs.bottomLatitude) / cy; + + for (int x = 0; x < cx; x++) + { + double tx = x * rx + prefs.leftLongitude; + + for (int y = 0; y < cy; y++) + { + double ty = y * ry + prefs.bottomLatitude; + double mx, my; + RealWorldTerrainGeo.LatLongToMercat(tx, ty, out mx, out my); + + double el = GetElevation(mx, my); + + if (Math.Abs(el - double.MinValue) > double.Epsilon) + { + if (el < minEl) minEl = el; + if (el > maxEl) maxEl = el; + } + } + } + + if (minEl > prefs.nodataValue) minEl = prefs.nodataValue; + } + + protected override short GetValue(int x, int y) + { + if (x < 0) x = 0; + else if (x > mapSize2) x = mapSize2; + if (y < 0) y = 0; + else if (y > mapSize2) y = mapSize2; + short v = heightmap[x, y]; + return v; + } + + public static void Init() + { + int sx = (int)Math.Floor(prefs.leftLongitude + 180) - 180; + int sy = (int)Math.Floor(prefs.topLatitude + 90) - 90; + int ex = (int)Math.Floor(prefs.rightLongitude + 180) - 180; + int ey = (int)Math.Floor(prefs.bottomLatitude + 90) - 90; + + bool needAuth = true; + + for (int x = sx; x <= ex; x++) + { + for (int y = sy; y >= ey; y--) + { + elevations.Add(new RealWorldTerrainSRTM30ElevationGenerator(x, y, ref needAuth)); + } + } + + double rangeX = prefs.rightLongitude - prefs.leftLongitude; + double dsx = Math.Abs(prefs.depthSharpness) * rangeX / (prefs.heightmapResolution - 1) / prefs.terrainCount.x; + depthStep = (float)dsx * 100; + } + + private void OnAuthCheckComplete(RealWorldTerrainDownloadItemAction action) + { + UnityWebRequest uwr = action.GetField("uwr"); + if (!uwr.isDone) return; + + if (uwr.responseCode != 302) + { + Debug.LogError("Authorization error on usgs.gov. Please check your login and password."); + RealWorldTerrainWindow.CancelCapture(); + return; + } + + Dictionary headers = uwr.GetResponseHeaders(); + + int step = action.GetField("step"); + if (step < 3) + { + action["url"] = headers["Location"]; + action["step"] = step + 1; + OnAuthStep(action); + } + else + { + foreach (RealWorldTerrainDownloadItemWebClient item in downloaderItems) + { + item.headers = new Dictionary(); + item.headers.Add("Cookie", headers["Set-Cookie"]); + } + action.Dispose(); + action.complete = true; + } + } + + private void OnAuthStep(RealWorldTerrainDownloadItemAction action) + { + UnityWebRequest uwr = UnityWebRequest.Get(action.GetField("url")); + string auth = login.Trim() + ":" + pass.Trim(); + auth = Convert.ToBase64String(System.Text.Encoding.GetEncoding("ISO-8859-1").GetBytes(auth)); + auth = "Basic " + auth; + uwr.SetRequestHeader("AUTHORIZATION", auth); + uwr.redirectLimit = 0; + action["uwr"] = uwr; + uwr.SendWebRequest(); + } + + private void OnDownloadError(RealWorldTerrainDownloadItem item) + { + if (!prefs.ignoreSRTMErrors) RealWorldTerrainWindow.CancelInMainThread(); + } + + public void ParseHeightmap() + { + heightmap = new short[mapSize, mapSize]; + + if (!File.Exists(heightmapFilename)) + { + if (prefs.ignoreSRTMErrors) + { + for (int i = 0; i < mapSize; i++) + { + for (int j = 0; j < mapSize; j++) + { + heightmap[i, j] = short.MinValue; + } + } + } + else RealWorldTerrainWindow.CancelInMainThread(); + return; + } + + FileStream fs = File.OpenRead(heightmapFilename); + const int size = 1000000; + int c = 0; + RealWorldTerrainPhase.phaseProgress = 0; + byte[] buffer = new byte[size]; + do + { + int count = fs.Read(buffer, 0, size); + + for (int i = 0; i < count; i += 2) + { + short s = (short)(buffer[i] * 256 + buffer[i + 1]); + if (s == 0) s = short.MinValue; + heightmap[c % mapSize, c / mapSize] = s; + c++; + } + if (!RealWorldTerrainWindow.isCapturing) + { + fs.Close(); + return; + } + RealWorldTerrainPhase.phaseProgress = c / fs.Length * 2; + } + while (fs.Position != fs.Length); + + fs.Close(); + GC.Collect(); + } + + public override void UnzipHeightmap() + { + if (File.Exists(heightmapFilename)) + { + unziped = true; + return; + } + + if (!File.Exists(arcFilename)) + { + if (!prefs.ignoreSRTMErrors) Debug.Log("Can not find the file:" + arcFilename); + unziped = true; + return; + } + + if (new FileInfo(arcFilename).Length == 0) + { + RealWorldTerrainFileSystem.SafeDeleteFile(arcFilename); + + RealWorldTerrainWindow.CancelCapture(); + Debug.LogWarning("Error downloading elevation map."); + return; + } + + string localFN = filename; + + ZipArchive zip = ZipFile.OpenRead(arcFilename); + + foreach (ZipArchiveEntry entry in zip.Entries) + { + if (entry.Name != localFN) continue; + + entry.ExtractToFile(heightmapFilename); + zip.Dispose(); + unziped = true; + return; + } + + Debug.Log("Unzip failed. Try to re-download elevation map using Real World Terrain Helper."); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainSRTM30ElevationGenerator.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainSRTM30ElevationGenerator.cs.meta new file mode 100644 index 000000000..90ccdc349 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainSRTM30ElevationGenerator.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 14605f4e7d632fb4d87e0305d217fb5b +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainSRTMElevationGenerator.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainSRTMElevationGenerator.cs new file mode 100644 index 000000000..1b5350772 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainSRTMElevationGenerator.cs @@ -0,0 +1,355 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.IO; +using System.IO.Compression; +using InfinityCode.RealWorldTerrain.Net; +using InfinityCode.RealWorldTerrain.Phases; +using InfinityCode.RealWorldTerrain.Windows; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Generators +{ + public class RealWorldTerrainSRTMElevationGenerator: RealWorldTerrainElevationGenerator + { + private const string server = "https://srtm.csi.cgiar.org/wp-content/uploads/files/srtm_5x5/ASCII/"; + + private readonly string arcFilename; + private readonly string filename; + private readonly string heightmapFilename; + private readonly string heightmapFilenameC; + private readonly int x1; + private readonly int y1; + private readonly int x2; + private readonly int y2; + private double mx1; + private double mx2; + private double my1; + private double my2; + + public RealWorldTerrainSRTMElevationGenerator(int X, int Y) + { + x1 = X; + y1 = Y + 5; + + x2 = X + 5; + y2 = Y; + + int ax = Mathf.FloorToInt((X + 180) / 5.0f + 1); + int ay = Mathf.FloorToInt((90 - Y) / 5.0f - 6); + + RealWorldTerrainGeo.LatLongToMercat(x1, y1, out mx1, out my1); + RealWorldTerrainGeo.LatLongToMercat(x2, y2, out mx2, out my2); + + filename = string.Format("srtm_{0}_{1}", ax > 9 ? ax.ToString() : "0" + ax, ay > 9 ? ay.ToString() : "0" + ay); + arcFilename = Path.Combine(RealWorldTerrainEditorUtils.heightmapCacheFolder, filename + ".zip"); + heightmapFilename = Path.Combine(RealWorldTerrainEditorUtils.heightmapCacheFolder, filename + ".asc"); + heightmapFilenameC = Path.Combine(RealWorldTerrainEditorUtils.heightmapCacheFolder, filename + ".rwt"); + + if (!File.Exists(heightmapFilenameC) && !File.Exists(heightmapFilename) && !File.Exists(arcFilename)) + { + new RealWorldTerrainDownloadItemWebClient(server + filename + ".zip") + { + filename = arcFilename, + averageSize = 25000000 + }; + } + } + + public override bool Contains(double x, double y) + { + return x >= mx1 && x <= mx2 && y >= my1 && y <= my2; + } + + public new static void Dispose() + { + if (elevations != null) + { + foreach (RealWorldTerrainSRTMElevationGenerator elevation in elevations) + { + if (File.Exists(elevation.heightmapFilename)) + { + FileInfo info = new FileInfo(elevation.heightmapFilename); + if (info.Length == 0) RealWorldTerrainFileSystem.SafeDeleteFile(elevation.heightmapFilename); + } + + elevation.heightmap = null; + } + } + + lastX = 0; + lastElevation = null; + } + + public override double GetElevationValue(double x, double y) + { + RealWorldTerrainGeo.MercatToLatLong(x, y, out x, out y); + + x = (x - x1) / 5.0f; + y = (y1 - y) / 5.0f; + + double cx = x * mapSize2; + double cy = y * mapSize2; + + int ix = (int)cx; + int iy = (int)cy; + + if (prefs.nodataValue != 0 && GetValue(ix, iy) == short.MinValue) return double.MinValue; + + double ox = cx - ix; + double oy = cy - iy; + + return GetSmoothElevation(ox - 1, ox - 2, ox + 1, oy - 1, oy - 2, oy + 1, ix, iy, ox, ix + 1, oy, iy + 1, ox * oy, ix - 1, iy - 1, ix + 2, iy + 2); + } + + public static void GetSRTMElevationRange(out double minEl, out double maxEl) + { + minEl = double.MaxValue; + maxEl = double.MinValue; + + int cx = prefs.terrainCount.x * (prefs.heightmapResolution - 1) + 1; + int cy = prefs.terrainCount.y * (prefs.heightmapResolution - 1) + 1; + + const int maxV = 4097; + if (cx > maxV && cx > cy) + { + float sv = maxV / (float)cx; + cx = maxV; + cy = Mathf.RoundToInt(cy * sv); + } + else if (cy > maxV) + { + float sv = maxV / (float)cy; + cy = maxV; + cx = Mathf.RoundToInt(cx * sv); + } + + double rx = (prefs.rightLongitude - prefs.leftLongitude) / cx; + double ry = (prefs.topLatitude - prefs.bottomLatitude) / cy; + + for (int x = 0; x < cx; x++) + { + double tx = x * rx + prefs.leftLongitude; + + for (int y = 0; y < cy; y++) + { + double ty = y * ry + prefs.bottomLatitude; + + double mx, my; + RealWorldTerrainGeo.LatLongToMercat(tx, ty, out mx, out my); + + double el = GetElevation(mx, my); + + if (el != double.MinValue) + { + if (el < minEl) minEl = el; + if (el > maxEl) maxEl = el; + } + } + } + + if (minEl > prefs.nodataValue) minEl = prefs.nodataValue; + } + + public static void Init() + { + mapSize = 6000; + mapSize2 = mapSize - 1; + int countElX = 0; + + int sx = (int)Math.Floor(prefs.leftLongitude / 5) * 5 + 180; + int ex = (int)Math.Floor(prefs.rightLongitude / 5) * 5 + 180; + int sy = 90 - (int)Math.Floor(prefs.topLatitude / 5) * 5; + int ey = 90 - (int)Math.Floor(prefs.bottomLatitude / 5) * 5; + + for (int x = sx; x <= ex; x += 5) + { + countElX++; + for (int y = sy; y <= ey; y += 5) elevations.Add(new RealWorldTerrainSRTMElevationGenerator(x - 180, 90 - y)); + } + double rangeX = prefs.rightLongitude - prefs.leftLongitude; + double dsx = Math.Abs(prefs.depthSharpness) * rangeX / (prefs.heightmapResolution - 1) / prefs.terrainCount.x; + depthStep = (float)dsx * 100; + } + + public void ParseHeightmap() + { + if (File.Exists(heightmapFilenameC)) + { + ParseHeightmapC(); + return; + } + + heightmap = new short[mapSize, mapSize]; + + if (!File.Exists(heightmapFilename)) + { + for (int hx = 0; hx < mapSize; hx++) for (int hy = 0; hy < mapSize; hy++) heightmap[hx, hy] = short.MinValue; + if (!prefs.ignoreSRTMErrors) Debug.Log("Can not find the file: " + heightmapFilename); + return; + } + + FileStream fs = new FileStream(heightmapFilename, FileMode.Open); + FileStream wfs = File.OpenWrite(heightmapFilenameC); + BinaryWriter bw = new BinaryWriter(wfs); + + const int bufferSize = 1024 * 1024; + int counter = 0; + short nodata = -9999; + byte[] buffer = new byte[bufferSize]; + int skipLines = 6; + bool isNegative = false; + int v = 0; + + RealWorldTerrainPhase.phaseProgress = 0; + do + { + int readCount = fs.Read(buffer, 0, bufferSize); + + for (int i = 0; i < readCount; i++) + { + byte b = buffer[i]; + if (skipLines > 0) + { + if (b == 0x0A) + { + skipLines--; + if (skipLines == 0) + { + for (int j = i - 1; j >= 0; j--) + { + b = buffer[j]; + if (b != ' ') continue; + + for (int k = j + 1; k < i - 1; k++) + { + b = buffer[k]; + + if (b == '-') isNegative = true; + else v = v * 10 + (b - 0x30); + } + + short sv = (short)v; + if (isNegative) sv *= -1; + nodata = sv; + + v = 0; + isNegative = false; + + break; + } + } + } + continue; + } + + if (b == 13 || b == 10) { } + else if (b == '-') isNegative = true; + else if (b == ' ') + { + int index = counter; + short sv = (short) v; + if (isNegative) sv *= -1; + if (sv == nodata) sv = short.MinValue; + heightmap[index % mapSize, index / mapSize] = sv; + bw.Write(sv); + counter++; + + v = 0; + isNegative = false; + } + else if (b >= '0' && b <= '9') v = v * 10 + (b - 0x30); + } + + if (!RealWorldTerrainWindow.isCapturing) + { + fs.Close(); + bw.Close(); + RealWorldTerrainFileSystem.SafeDeleteFile(heightmapFilenameC); + return; + } + RealWorldTerrainPhase.phaseProgress = fs.Position / (float)fs.Length; + } + while (fs.Position != fs.Length); + + fs.Close(); + bw.Close(); + } + + private void ParseHeightmapC() + { + heightmap = new short[mapSize, mapSize]; + FileStream fs = File.OpenRead(heightmapFilenameC); + const int size = 1024 * 1024; + int c = 0; + RealWorldTerrainPhase.phaseProgress = 0; + byte[] buffer = new byte[size]; + + do + { + int count = fs.Read(buffer, 0, size); + + for (int i = 0; i < count; i += 2) + { + heightmap[c % mapSize, c / mapSize] = BitConverter.ToInt16(buffer, i); + c++; + } + if (!RealWorldTerrainWindow.isCapturing) + { + fs.Close(); + return; + } + RealWorldTerrainPhase.phaseProgress = c / fs.Length * 2; + } + while (fs.Position != fs.Length); + + fs.Close(); + GC.Collect(); + } + + public override void UnzipHeightmap() + { + if (File.Exists(heightmapFilename)) + { + unziped = true; + return; + } + + if (!File.Exists(arcFilename)) + { + if (!prefs.ignoreSRTMErrors) Debug.Log("Can not find the file:" + arcFilename); + unziped = true; + return; + } + + if (new FileInfo(arcFilename).Length == 0) + { + RealWorldTerrainFileSystem.SafeDeleteFile(arcFilename); + + RealWorldTerrainWindow.CancelCapture(); + Debug.LogWarning("Error downloading elevation map."); + return; + } + + string localFN = filename + ".asc"; + + ZipArchive zip = ZipFile.Open(arcFilename, ZipArchiveMode.Read); + foreach (ZipArchiveEntry entry in zip.Entries) + { + if (entry.Name != localFN) continue; + + byte[] buffer = new byte[entry.Length]; + Stream stream = entry.Open(); + stream.Read(buffer, 0, buffer.Length); + File.WriteAllBytes(heightmapFilename, buffer); + stream.Close(); + unziped = true; + GC.Collect(); + return; + } + + Debug.Log("Unzip failed. Try to re-download elevation map using Real World Terrain Helper."); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainSRTMElevationGenerator.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainSRTMElevationGenerator.cs.meta new file mode 100644 index 000000000..a4fff8e39 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainSRTMElevationGenerator.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 71c11e471fd86ae47af2325b6b98c560 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainTerrainLayersGenerator.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainTerrainLayersGenerator.cs new file mode 100644 index 000000000..1d8cc1f77 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainTerrainLayersGenerator.cs @@ -0,0 +1,644 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using InfinityCode.RealWorldTerrain.Vector; +using InfinityCode.RealWorldTerrain.Phases; +using InfinityCode.RealWorldTerrain.Windows; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Generators +{ + using Feature = RealWorldTerrainVectorTile.Feature; + using GeomType = RealWorldTerrainVectorTile.GeomType; + using Layer = RealWorldTerrainVectorTile.Layer; + using LPoint = RealWorldTerrainVectorTile.LPoint; + using LPoints = List; + using LayerFeature = RealWorldTerrainVectorTerrainLayerFeature; + + public static class RealWorldTerrainTerrainLayersGenerator + { + private static Dictionary> dLayerIndices; + private static List features; + private static float[,,] map; + private static int maxTextureLevel; + + private static RealWorldTerrainPrefs prefs + { + get { return RealWorldTerrainWindow.prefs; } + } + + private static Dictionary tiles; + private static Vector3[] tempPoints; + + public static void Dispose() + { + if (tiles != null) + { + foreach (var pair in tiles) pair.Value.Dispose(); + tiles = null; + } + } + + private static void FillWater(int isx, int isy, int iex, int iey) + { + List indices = null; + Vector2 noiseOffset = Vector2.zero; + float noiseScale = 16; + int res = prefs.controlTextureResolution; + + for (int i = features.Count - 1; i >= 0; i--) + { + var feature = features[i]; + foreach (LayerFeature.Rule rule in feature.rules) + { + if (rule.layer == RealWorldTerrainMapboxLayer.water) + { + noiseOffset = feature.noiseOffset / res; + noiseScale = feature.noiseScale / res; + indices = dLayerIndices[feature]; + break; + } + } + if (indices != null) break; + } + + if (indices == null) return; + + for (int y = isy; y < iey; y++) + { + int cy = res - y - 1; + for (int x = isx; x < iex; x++) + { + if (indices.Count > 1) + { + float noise = Mathf.PerlinNoise(noiseScale * x + noiseOffset.x, noiseScale * y + noiseOffset.y) * (indices.Count - 1); + int i1 = (int)noise; + int i2 = i1 + 1; + float v1 = 1 - (noise - i1); + map[cy, x, indices[i1]] = v1; + if (i2 < indices.Count) map[cy, x, indices[i2]] = 1 - v1; + } + else map[cy, x, indices[0]] = 1; + } + } + } + + private static void FinalizeControlMap() + { + List[] mapIndices = dLayerIndices.Values.ToArray(); + int res = prefs.controlTextureResolution; + + for (int y = 0; y < res; y++) + { + for (int x = 0; x < res; x++) + { + bool hasValue = false; + for (int i = mapIndices.Length - 1; i >= 0; i--) + { + List ris = mapIndices[i]; + for (int j = 0; j < ris.Count; j++) + { + if (map[y, x, ris[j]] > 0) + { + hasValue = true; + break; + } + } + + if (hasValue) + { + for (int j = ris[0] - 1; j >= 0; j--) map[y, x, j] = 0; + break; + } + } + } + } + } + + public static void Generate(RealWorldTerrainItem item) + { + int size = 1 << maxTextureLevel; + int res = prefs.controlTextureResolution; + + List terrainLayers = new List(); + terrainLayers.AddRange(prefs.vectorTerrainBaseLayers); + dLayerIndices = new Dictionary>(); + features = new List(prefs.vectorTerrainLayers); + + InitFeatureLayers(terrainLayers); + + item.terrainData.terrainLayers = terrainLayers.ToArray(); + map = new float[res, res, terrainLayers.Count]; + + InitBaseLayers(); + + double rangeX = res / (item.rightMercator - item.leftMercator) / size; + double rangeY = res / (item.bottomMercator - item.topMercator) / size; + + tempPoints = new Vector3[64]; + + foreach (var pair in tiles) + { + RealWorldTerrainVectorTile tile = pair.Value; + if (item.rightMercator * size < tile.x) continue; + if (item.bottomMercator * size < tile.y) continue; + if (item.leftMercator * size > tile.x + 1) continue; + if (item.topMercator * size > tile.y + 1) continue; + + GenerateTile(item, tile, size, rangeX, rangeY); + } + + FinalizeControlMap(); + + item.terrainData.SetAlphamaps(0, 0, map); + item.terrainData.SetBaseMapDirty(); + RealWorldTerrainPhase.phaseComplete = true; + } + + private static void GenerateGeometry(LPoints points, ulong extent, double ex, double sx, double ey, double sy, int res, int isx, int isy, int iex, int iey, List indices, Vector2 noiseOffset, float noiseScale) + { + int count = points.Count; + if (count > tempPoints.Length) Array.Resize(ref tempPoints, Mathf.NextPowerOfTwo(count)); + + float minX = float.MaxValue; + float maxX = float.MinValue; + float minZ = float.MaxValue; + float maxZ = float.MinValue; + + for (int i = 0; i < count; i++) + { + LPoint p = points[i]; + Vector3 wp = tempPoints[i] = new Vector3((float) (ex - sx) * p.x / extent + (float) sx, 0, (float) (ey - sy) * p.y / extent + (float) sy); + if (wp.x < minX) minX = wp.x; + if (wp.z < minZ) minZ = wp.z; + if (wp.x > maxX) maxX = wp.x; + if (wp.z > maxZ) maxZ = wp.z; + } + + if (maxX < 0 || maxZ < 0) return; + if (minX >= res || minZ >= res) return; + + int csx = isx; + int csy = isy; + int cex = iex; + int cey = iey; + + if (csx < minX) csx = (int) minX; + if (csy < minZ) csy = (int) minZ; + if (cex > maxX) cex = Mathf.CeilToInt(maxX); + if (cey > maxZ) cey = Mathf.CeilToInt(maxZ); + + bool isClockWise = RealWorldTerrainMath.IsClockwise(tempPoints, count); + if (!isClockWise) + { + for (int y = csy; y < cey; y++) + { + int cy = res - y - 1; + for (int x = csx; x < cex; x++) + { + if (RealWorldTerrainMath.IsPointInPolygon(tempPoints, count, x, y)) + { + if (indices.Count > 1) + { + float noise = Mathf.PerlinNoise(noiseScale * x + noiseOffset.x, noiseScale * y + noiseOffset.y) * (indices.Count - 1); + int i1 = (int) noise; + int i2 = i1 + 1; + float v1 = 1 - (noise - i1); + map[cy, x, indices[i1]] = v1; + if (i2 < indices.Count) map[cy, x, indices[i2]] = 1 - v1; + } + else map[cy, x, indices[0]] = 1; + } + } + } + } + else + { + for (int y = csy; y < cey; y++) + { + int cy = res - y - 1; + for (int x = csx; x < cex; x++) + { + if (RealWorldTerrainMath.IsPointInPolygon(tempPoints, count, x, y)) + { + foreach (int i in indices) map[cy, x, i] = 0; + } + } + } + } + } + + private static void GenerateLayer(RealWorldTerrainItem item, Layer layer, double ex, double sx, double ey, double sy, int isx, int isy, int iex, int iey) + { + int res = prefs.controlTextureResolution; + + for (int f = 0; f < layer.featureCount; f++) + { + Feature feature = layer.GetFeature(f); + if (feature.geometryType == GeomType.POLYGON) GeneratePolygon(item, layer, ex, sx, ey, sy, isx, isy, iex, iey, feature, res); + else if (layer.name == "road" && feature.geometryType == GeomType.LINESTRING) GenerateLineSting(item, layer, ex, sx, ey, sy, isx, isy, iex, iey, feature, res); + } + } + + private static void GenerateLine(LPoint p1, LPoint p2, ulong extent, double ex, double sx, double ey, double sy, int res, int isx, int isy, int iex, int iey, List indices, Vector2 noiseOffset, float noiseScale, float width) + { + int count = 2; + + float minX = float.MaxValue; + float maxX = float.MinValue; + float minZ = float.MaxValue; + float maxZ = float.MinValue; + + float hw = width / 2; + float sqrHW = hw * hw; + + for (int i = 0; i < count; i++) + { + LPoint p = i == 0? p1: p2; + Vector3 wp = tempPoints[i] = new Vector3((float)(ex - sx) * p.x / extent + (float)sx, 0, (float)(ey - sy) * p.y / extent + (float)sy); + if (wp.x - hw < minX) minX = wp.x - hw; + if (wp.z - hw < minZ) minZ = wp.z - hw; + if (wp.x + hw > maxX) maxX = wp.x + hw; + if (wp.z + hw > maxZ) maxZ = wp.z + hw; + } + + if (maxX < 0 || maxZ < 0) return; + if (minX >= res || minZ >= res) return; + + int csx = isx; + int csy = isy; + int cex = iex; + int cey = iey; + + if (csx < minX) csx = (int)minX; + if (csy < minZ) csy = (int)minZ; + if (cex > maxX) cex = Mathf.CeilToInt(maxX); + if (cey > maxZ) cey = Mathf.CeilToInt(maxZ); + + Vector2 wp1 = new Vector2(tempPoints[0].x, tempPoints[0].z); + Vector2 wp2 = new Vector2(tempPoints[1].x, tempPoints[1].z); + + for (int y = csy; y < cey; y++) + { + int cy = res - y - 1; + for (int x = csx; x < cex; x++) + { + Vector2 p = new Vector2(x, y); + Vector2 np = RealWorldTerrainMath.NearestPointStrict(p, wp1, wp2); + + if ((p - np).sqrMagnitude < sqrHW) + { + if (indices.Count > 1) + { + float noise = Mathf.PerlinNoise(noiseScale * x + noiseOffset.x, noiseScale * y + noiseOffset.y) * (indices.Count - 1); + int i1 = (int) noise; + int i2 = i1 + 1; + float v1 = 1 - (noise - i1); + map[cy, x, indices[i1]] = v1; + if (i2 < indices.Count) map[cy, x, indices[i2]] = 1 - v1; + } + else map[cy, x, indices[0]] = 1; + } + } + } + } + + private static void GenerateLineSting(RealWorldTerrainItem item, Layer layer, double ex, double sx, double ey, double sy, int isx, int isy, int iex, int iey, Feature feature, int res) + { + var cl = GetVectorTerrainLayer(layer, feature); + if (cl == null) return; + + float widthMul = 1; + + if (layer.name == "road") + { + Dictionary properties = feature.GetProperties(); + object classObj, structObj, typeObj; + if (properties.TryGetValue("class", out classObj)) + { + string @class = classObj as string; + if (@class == null) return; + + string @struct; + if (properties.TryGetValue("structure", out structObj)) + { + @struct = structObj as string; + } + else @struct = "No Structure"; + + string type; + if (properties.TryGetValue("type", out typeObj)) + { + type = typeObj as string; + } + else type = "No Type"; + + if (@class == "tertiary") + { + + } + else if (@class == "secondary" || @class == "street") + { + widthMul = 0.5f; + } + else if (@class == "service") + { + { + if (@struct != null) + { + if (@struct == "tunnel") return; + } + } + + widthMul = 0.5f; + } + else if (@class == "major_rail" || @class == "service_rail" || @class == "pedestrian" || @class == "path") + { + return; + } + else widthMul = 0.3f; + } + else return; + } + else return; + + Vector2 noiseOffset = cl.noiseOffset / res; + float noiseScale = cl.noiseScale / res; + + List indices = dLayerIndices[cl]; + + float lineWidth = item.prefs.controlTextureResolution / 128f * widthMul; + + List geometry = feature.Geometry(); + if (geometry.Count == 0) return; + + foreach (LPoints points in geometry) + { + if (points.Count < 2) continue; + + for (int i = 1; i < points.Count; i++) + { + LPoint p1 = points[i - 1]; + LPoint p2 = points[i]; + + GenerateLine(p1, p2, layer.extent, ex, sx, ey, sy, res, isx, isy, iex, iey, indices, noiseOffset, noiseScale, lineWidth); + } + } + } + + private static void GeneratePolygon(RealWorldTerrainItem item, Layer layer, double ex, double sx, double ey, double sy, int isx, int isy, int iex, int iey, Feature feature, int res) + { + var cl = GetVectorTerrainLayer(layer, feature); + if (cl == null) return; + + if (layer.name == "road") + { + Dictionary properties = feature.GetProperties(); + object layerObj; + if (properties.TryGetValue("layer", out layerObj)) + { + string layerProp = layerObj.ToString(); + if (int.Parse(layerProp) < 0) return; + } + } + + List geometry = feature.Geometry(); + if (geometry.Count == 0) return; + + Vector2 noiseOffset = cl.noiseOffset / res; + float noiseScale = cl.noiseScale / res; + + List indices = dLayerIndices[cl]; + + foreach (LPoints points in geometry) + { + if (points.Count < 3) continue; + + GenerateGeometry(points, layer.extent, ex, sx, ey, sy, res, isx, isy, iex, iey, indices, noiseOffset, noiseScale); + } + } + + private static void GenerateTile(RealWorldTerrainItem item, RealWorldTerrainVectorTile tile, int size, double rangeX, double rangeY) + { + int res = prefs.controlTextureResolution; + + double sx = (tile.x - item.leftMercator * size) * rangeX; + double ex = sx + rangeX; + double sy = (tile.y - item.topMercator * size) * rangeY; + double ey = sy + rangeY; + + int isx = (int) Math.Round(sx); + int iex = (int) Math.Round(ex); + int isy = (int) Math.Round(sy); + int iey = (int) Math.Round(ey); + + if (isx < 0) isx = 0; + if (isy < 0) isy = 0; + if (iex >= res) iex = res; + if (iey >= res) iey = res; + + tile.Load(); + + List layers = tile.GetLayerNames(); + + if (layers == null || layers.Count == 0) + { + FillWater(isx, isy, iex, iey); + tile.Dispose(); + return; + } + + for (int l = 0; l < layers.Count; l++) + { + string layerName = layers[l]; + if (layerName.Contains("label")) continue; + + Layer layer = tile.GetLayer(layerName); + + GenerateLayer(item, layer, ex, sx, ey, sy, isx, isy, iex, iey); + } + + tile.Dispose(); + } + + private static LayerFeature GetVectorTerrainLayer(Layer layer, Feature feature) + { + string layerName = layer.name; + + for (int i = features.Count - 1; i >= 0; i--) + { + var l = features[i]; + + for (int j = 0; j < l.rules.Count; j++) + { + var rule = l.rules[j]; + if (rule.layerName != layerName) continue; + + if (!rule.hasExtra || rule.extra == ~0) return l; + + Dictionary properties = feature.GetProperties(); + object fClass; + if (!properties.TryGetValue("class", out fClass)) continue; + + List layerFeature; + if (rule.layer == RealWorldTerrainMapboxLayer.landuse) + { + layerFeature = LayerFeature.landuseNames; + } + else if (rule.layer == RealWorldTerrainMapboxLayer.landuse_overlay) + { + layerFeature = LayerFeature.landuseOverlayNames; + } + else if (rule.layer == RealWorldTerrainMapboxLayer.structure) + { + layerFeature = LayerFeature.structureNames; + } + else if (rule.layer == RealWorldTerrainMapboxLayer.waterway) + { + layerFeature = LayerFeature.waterwayNames; + } + else continue; + + int index = layerFeature.IndexOf((string) fClass); + if (index == -1) continue; + + BitArray ba = new BitArray(BitConverter.GetBytes(rule.extra)); + if (ba.Get(index)) return l; + } + } + + return null; + } + + public static void Init() + { + int textureLevel; + if (prefs.maxTextureLevel == 0) + { + textureLevel = 0; + + int tx = prefs.controlTextureResolution * prefs.terrainCount.x / 256; + int ty = prefs.controlTextureResolution * prefs.terrainCount.y / 256; + + for (int z = 5; z < 24; z++) + { + double stx, sty, etx, ety; + RealWorldTerrainGeo.LatLongToTile(prefs.leftLongitude, prefs.topLatitude, z, out stx, out sty); + RealWorldTerrainGeo.LatLongToTile(prefs.rightLongitude, prefs.bottomLatitude, z, out etx, out ety); + + if (etx < stx) etx += 1 << z; + + if (etx - stx > tx && ety - sty > ty) + { + textureLevel = z; + break; + } + } + + if (textureLevel == 0) textureLevel = 24; + } + else textureLevel = prefs.maxTextureLevel; + + maxTextureLevel = textureLevel; + + tiles = new Dictionary(); + + int max = 1 << maxTextureLevel; + + double tlx, tly, brx, bry; + RealWorldTerrainGeo.LatLongToTile(prefs.leftLongitude, prefs.topLatitude, maxTextureLevel, out tlx, out tly); + RealWorldTerrainGeo.LatLongToTile(prefs.rightLongitude, prefs.bottomLatitude, maxTextureLevel, out brx, out bry); + + int itlx = (int) tlx; + int itly = (int) tly; + int ibrx = (int) Math.Ceiling(brx); + int ibry = (int) Math.Ceiling(bry); + + if (itlx > ibrx) ibrx += max; + + for (int x = itlx; x < ibrx; x++) + { + int cx = x; + if (cx >= max) cx -= max; + + for (int y = itly; y < ibry; y++) + { + RealWorldTerrainVectorTile tile = new RealWorldTerrainVectorTile(cx, y, maxTextureLevel); + tile.Download(); + tiles.Add(tile.key, tile); + } + } + } + + private static void InitBaseLayers() + { + int countBaseLayers = prefs.vectorTerrainBaseLayers.Count; + int res = prefs.controlTextureResolution; + + if (countBaseLayers > 1) + { + Vector2 noiseOffset = prefs.vectorTerrainBaseLayersNoiseOffset / res; + float noiseScale = prefs.vectorTerrainBaseLayersNoiseScale / res; + + for (int x = 0; x < res; x++) + { + for (int y = 0; y < res; y++) + { + for (int k = 0; k < countBaseLayers; k++) + { + float noise = Mathf.PerlinNoise(noiseScale * x + noiseOffset.x, noiseScale * y + noiseOffset.y) * (countBaseLayers - 1); + int i1 = (int) noise; + int i2 = i1 + 1; + float v1 = 1 - (noise - i1); + map[y, x, i1] = v1; + if (i2 < countBaseLayers) map[y, x, i2] = 1 - v1; + map[y, x, k] = 1; + } + } + } + } + else + { + for (int x = 0; x < res; x++) + { + for (int y = 0; y < res; y++) + { + map[y, x, 0] = 1; + } + } + } + } + + private static void InitFeatureLayers(List terrainLayers) + { + int nextIndex = terrainLayers.Count; + + for (int i = 0; i < features.Count; i++) + { + LayerFeature layer = features[i]; + List indices = new List(); + + foreach (TerrainLayer terrainLayer in layer.terrainLayers) + { + if (terrainLayer != null) + { + int index = nextIndex++; + indices.Add(index); + terrainLayers.Add(terrainLayer); + } + } + + if (indices.Count > 0) dLayerIndices.Add(layer, indices); + else + { + features.RemoveAt(i); + i--; + } + } + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainTerrainLayersGenerator.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainTerrainLayersGenerator.cs.meta new file mode 100644 index 000000000..7bbef20d4 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainTerrainLayersGenerator.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5413b2ea3d7e2e54685dc690f55224d1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainTextureGenerator.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainTextureGenerator.cs new file mode 100644 index 000000000..20994e80a --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainTextureGenerator.cs @@ -0,0 +1,821 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text.RegularExpressions; +using System.Threading; +using InfinityCode.RealWorldTerrain.Net; +using InfinityCode.RealWorldTerrain.Phases; +using InfinityCode.RealWorldTerrain.Windows; +using UnityEditor; +using UnityEngine; +using Object = UnityEngine.Object; +using Random = UnityEngine.Random; + +#if HUGETEXTURE +using InfinityCode.HugeTexture.Editors; +#endif + +namespace InfinityCode.RealWorldTerrain.Generators +{ + public class RealWorldTerrainTextureGenerator + { + const int countThreads = 16; + + public static Color32[] colors; + public static bool ready; + public static RealWorldTerrainTextureGenerator[] reqTextures; + public static List textures; + private static ThreadGenerator[] threads; + + private static Texture2D generatedTexture; + private static RealWorldTerrainTextureGenerator lastTexture; + private static int lastX; + private static int lastTextureIndex; + private static int maxTextureLevel; + private static int maxZoomLevel; + private static string textureFilename; + private static int textureWidth; + private static int textureHeight; + + public bool exist; + + private readonly int tileX; + private readonly int tileY; + private readonly int zoom; + private readonly string levelFolder; + public bool loaded; + private string path; + private Color32[] textureColors; + private double leftMercator; + private double topMercator; + private double rightMercator; + private double bottomMercator; + private double mercatorWidth; + private double mercatorHeight; + +#if RTP + public static List rtpTextures; +#endif + + private static RealWorldTerrainPrefs prefs + { + get { return RealWorldTerrainWindow.prefs; } + } + + private bool downloaded + { + get { return File.Exists(path); } + } + + private RealWorldTerrainTextureGenerator(int tileX, int tileY, int zoom) + { + this.tileX = tileX; + this.tileY = tileY; + this.zoom = zoom; + + double cx, cy; + RealWorldTerrainGeo.TileToLatLong(tileX, tileY, zoom, out cx, out cy); + RealWorldTerrainGeo.LatLongToMercat(cx, cy, out leftMercator, out topMercator); + RealWorldTerrainGeo.TileToLatLong(tileX + 1, tileY + 1, zoom, out cx, out cy); + RealWorldTerrainGeo.LatLongToMercat(cx, cy, out rightMercator, out bottomMercator); + + mercatorWidth = rightMercator - leftMercator; + mercatorHeight = bottomMercator - topMercator; + + levelFolder = Path.Combine(RealWorldTerrainEditorUtils.textureCacheFolder, zoom.ToString()); + if (!Directory.Exists(levelFolder)) Directory.CreateDirectory(levelFolder); + + string filename = prefs.mapType.filePrefix + tileX + "x" + tileY + ".jpg"; + path = Path.Combine(levelFolder, filename); + string url; + if (!prefs.mapType.isCustom) url = prefs.mapType.GetURL(zoom, tileX, tileY); + else url = prefs.mapType.GetURL(zoom, tileX, tileY, prefs.textureProviderURL); + + if (!File.Exists(path)) + { + new RealWorldTerrainDownloadItemWebClient(url) + { + filename = path, + averageSize = RealWorldTerrainUtils.AVERAGE_TEXTURE_SIZE + }; + } + } + + private bool Contains(double x) + { + return x >= leftMercator && x <= rightMercator; + } + + private bool Contains(double x, double y) + { + return x >= leftMercator && x <= rightMercator && y >= topMercator && y <= bottomMercator; + } + + public static void Dispose() + { + if (textures != null) + { + foreach (RealWorldTerrainTextureGenerator texture in textures) texture.DisposeItem(); + textures = null; + } + + ready = false; + reqTextures = null; + } + + public void DisposeItem() + { + Unload(); + generatedTexture = null; + lastTexture = null; + lastX = 0; + textureColors = null; + textureFilename = string.Empty; + colors = null; + } + + public static void GenerateHugeTexture(RealWorldTerrainItem item) + { +#if HUGETEXTURE + if (string.IsNullOrEmpty(textureFilename)) + { + if (!ready) Prepare(); + + lastX = 0; + RealWorldTerrainPhase.phaseProgress = 0; + lastTexture = null; + reqTextures = textures.Where(t => t.Intersects(item)).OrderByDescending(t => t.zoom).ThenBy(t => t.tileX).ThenByDescending(t => t.tileY).ToArray(); + if (reqTextures.Length == 0) maxTextureLevel = 3; + else maxZoomLevel = reqTextures[0].zoom; + + textureWidth = prefs.hugeTexturePageSize * prefs.hugeTextureCols; + textureHeight = prefs.hugeTexturePageSize * prefs.hugeTextureRows; + + if (colors == null || colors.Length != textureWidth * textureHeight) colors = new Color32[textureWidth * textureHeight]; + + textureFilename = Path.Combine(RealWorldTerrainWindow.container.folder, item.name + "r" + textureWidth + "x" + textureHeight + ".hugeraw"); + + if (RealWorldTerrainWindow.generateInThread) + { + foreach (RealWorldTerrainTextureGenerator t in reqTextures) t.LoadTexture(); + } + } + + double tsx = textureWidth - 1; + double tsy = textureHeight - 1; + + double x1 = item.leftMercator; + double y1 = item.topMercator; + double x2 = item.rightMercator; + double y2 = item.bottomMercator; + + double rx = x2 - x1; + double ry = y2 - y1; + + double sx = rx / tsx; + double sy = ry / tsy; + + RealWorldTerrainTimer timer = RealWorldTerrainTimer.Start(); + + if (!RealWorldTerrainWindow.generateInThread) + { + for (int ty = 0; ty < textureHeight; ty++) + { + double py = y2 - sy * ty; + lastTextureIndex = -1; + + for (int tx = lastX; tx < textureWidth; tx++) + { + double px = sx * tx + x1; + colors[ty * textureWidth + tx] = GetTextureColor(px, py); + } + + lastX = ty; + RealWorldTerrainPhase.phaseProgress = ty / (float)textureHeight; + if (timer.seconds > 1) return; + } + } + else if (threads == null) + { + threads = new ThreadGenerator[countThreads]; + int w = textureWidth / countThreads; + for (int i = 0; i < countThreads; i++) + { + threads[i] = new HugeTextureThreadGenerator + { + start = w * i, + end = w * (i + 1), + sx = sx, + sy = sy, + x1 = x1, + y2 = y2 + }; + new Thread(threads[i].Start).Start(); + } + return; + } + else + { + bool isCompleted = true; + float progress = 0; + for (int i = 0; i < countThreads; i++) + { + if (!threads[i].completed) isCompleted = false; + progress += threads[i].progress; + } + + RealWorldTerrainPhase.phaseProgress = progress / countThreads; + if (!isCompleted) return; + + for (int i = 0; i < countThreads; i++) threads[i].Dispose(); + threads = null; + } + + foreach (RealWorldTerrainTextureGenerator t in reqTextures) t.Unload(); + reqTextures = null; + + FileInfo info = new FileInfo(textureFilename); + if (!info.Directory.Exists) info.Directory.Create(); + + FileStream stream = File.Open(textureFilename, FileMode.Create); + + for (int i = 0; i < colors.Length; i++) + { + Color32 clr = colors[i]; + stream.WriteByte(clr.r); + stream.WriteByte(clr.g); + stream.WriteByte(clr.b); + } + + stream.Close(); + + AssetDatabase.Refresh(); + + HugeRawImporter importer = AssetImporter.GetAtPath(textureFilename) as HugeRawImporter; + if (importer != null) + { + SerializedObject so = new SerializedObject(importer); + so.FindProperty("pageSize").intValue = prefs.hugeTexturePageSize; + so.FindProperty("cols").intValue = prefs.hugeTextureCols; + so.FindProperty("rows").intValue = prefs.hugeTextureRows; + so.FindProperty("originalWidth").intValue = textureWidth; + so.FindProperty("originalHeight").intValue = textureHeight; + so.ApplyModifiedProperties(); + importer.SaveAndReimport(); + } + + string matPath = textureFilename.Substring(0, textureFilename.LastIndexOf(".")); + if (File.Exists(matPath + ".mat")) + { + int index = 1; + while (File.Exists(matPath + "_" + index + ".mat")) + { + index++; + } + + matPath += "_" + index; + } + + matPath += ".mat"; + + Shader shader; + + if (UnityEngine.Rendering.GraphicsSettings.renderPipelineAsset == null) shader = Shader.Find("Huge Texture/Diffuse Array"); + else shader = Shader.Find("Shader Graphs/HugeTexturePBR"); + + Material mat = new Material(shader); + mat.SetTexture("_MainTex", AssetDatabase.LoadAssetAtPath(textureFilename)); + mat.SetInt("_Cols", prefs.hugeTextureCols); + mat.SetInt("_Rows", prefs.hugeTextureRows); + + AssetDatabase.CreateAsset(mat, matPath); + + AssetDatabase.LoadAssetAtPath(matPath); + + if (item.prefs.resultType == RealWorldTerrainResultType.terrain) + { + item.terrain.materialTemplate = mat; + } + else if (item.prefs.resultType == RealWorldTerrainResultType.mesh) + { + Renderer[] rs = item.GetComponentsInChildren(); + foreach (Renderer r in rs) r.sharedMaterial = mat; + } +#endif + + RealWorldTerrainPhase.phaseComplete = true; + textureFilename = string.Empty; + item.generatedTextures = true; + } + + public static void GenerateTexture(RealWorldTerrainItem item) + { + if (string.IsNullOrEmpty(textureFilename)) + { + if (!ready) Prepare(); + + lastX = 0; + RealWorldTerrainPhase.phaseProgress = 0; + lastTexture = null; + reqTextures = textures.Where(t => t.Intersects(item)).OrderByDescending(t => t.zoom).ThenBy(t => t.tileX).ThenByDescending(t => t.tileY).ToArray(); + if (reqTextures.Length == 0) + { + maxTextureLevel = 3; + } + else + { + maxZoomLevel = reqTextures[0].zoom; + } + + textureWidth = prefs.textureSize.x; + textureHeight = prefs.textureSize.y; + + if (prefs.reduceTextures && maxZoomLevel < maxTextureLevel) + { + for (int i = maxZoomLevel; i < maxTextureLevel; i++) + { + if (textureWidth <= 128 || textureHeight <= 128) break; + textureWidth /= 2; + textureHeight /= 2; + } + } + + if (colors == null || colors.Length != textureHeight) colors = new Color32[textureHeight]; + + generatedTexture = new Texture2D(textureWidth, textureHeight); + textureFilename = Path.Combine(RealWorldTerrainWindow.container.folder, item.name + "r" + textureWidth + "x" + textureHeight + "." + prefs.textureFileType); + + if (RealWorldTerrainWindow.generateInThread) + { + foreach (RealWorldTerrainTextureGenerator t in reqTextures) t.LoadTexture(); + } + } + + double tsx = textureWidth - 1; + double tsy = textureHeight - 1; + + double x1 = item.leftMercator; + double y1 = item.topMercator; + double x2 = item.rightMercator; + double y2 = item.bottomMercator; + + double rx = x2 - x1; + double ry = y2 - y1; + + double sx = rx / tsx; + double sy = ry / tsy; + + RealWorldTerrainTimer timer = RealWorldTerrainTimer.Start(); + + if (!RealWorldTerrainWindow.generateInThread) + { + for (int tx = lastX; tx < textureWidth; tx++) + { + double px = sx * tx + x1; + lastTextureIndex = -1; + + for (int ty = 0; ty < textureHeight; ty++) + { + double py = y2 - sy * ty; + colors[ty] = GetTextureColor(px, py); + } + + generatedTexture.SetPixels32(tx, 0, 1, textureHeight, colors); + lastX = tx; + RealWorldTerrainPhase.phaseProgress = tx / (float)textureWidth; + if (timer.seconds > 1) return; + } + } + else if (threads == null) + { + threads = new ThreadGenerator[countThreads]; + int w = textureWidth / countThreads; + for (int i = 0; i < countThreads; i++) + { + threads[i] = new TextureThreadGenerator + { + start = w * i, + end = w * (i + 1), + sx = sx, + sy = sy, + x1 = x1, + y2 = y2 + }; + new Thread(threads[i].Start).Start(); + } + return; + } + else + { + bool isCompleted = true; + float progress = 0; + for (int i = 0; i < countThreads; i++) + { + if (!threads[i].completed) isCompleted = false; + progress += threads[i].progress; + } + + RealWorldTerrainPhase.phaseProgress = progress / countThreads; + if (!isCompleted) return; + + for (int i = 0; i < countThreads; i++) + { + TextureThreadGenerator tg = threads[i] as TextureThreadGenerator; + Color32[][] cs = tg.colors; + for (int j = 0; j < cs.Length; j++) + { + generatedTexture.SetPixels32(tg.start + j, 0, 1, textureHeight, cs[j]); + } + tg.Dispose(); + } + threads = null; + } + + foreach (RealWorldTerrainTextureGenerator t in reqTextures) t.Unload(); + reqTextures = null; + + generatedTexture.Apply(); + + FileInfo info = new FileInfo(textureFilename); + if (!info.Directory.Exists) info.Directory.Create(); + + if (prefs.textureFileType == RealWorldTerrainTextureFileType.png) File.WriteAllBytes(textureFilename, generatedTexture.EncodeToPNG()); + else File.WriteAllBytes(textureFilename, generatedTexture.EncodeToJPG(prefs.textureFileQuality)); + + AssetDatabase.Refresh(); + + TextureImporter importer = AssetImporter.GetAtPath(textureFilename) as TextureImporter; + if (importer != null) + { + importer.mipmapEnabled = true; + importer.isReadable = true; + importer.mipmapEnabled = prefs.textureMipMaps; + importer.maxTextureSize = Mathf.Max(textureWidth, textureHeight); + importer.wrapMode = TextureWrapMode.Clamp; + importer.SaveAndReimport(); + } + + Object.DestroyImmediate(generatedTexture); + + generatedTexture = (Texture2D)AssetDatabase.LoadAssetAtPath(textureFilename, typeof(Texture2D)); + + if (item.prefs.resultType == RealWorldTerrainResultType.terrain) + { +#if !RTP + Vector3 terrainSize = item.terrain.terrainData.size; + Vector2 tileSize = new Vector2(terrainSize.x, terrainSize.z); + + TerrainLayer l = new TerrainLayer + { + diffuseTexture = generatedTexture, + tileSize = tileSize + }; + + string path = Path.Combine(RealWorldTerrainWindow.container.folder, item.name + "r" + textureWidth + "x" + textureHeight + ".terrainlayer"); + AssetDatabase.CreateAsset(l, path); + AssetDatabase.Refresh(); + l = AssetDatabase.LoadAssetAtPath(path); + + item.terrain.terrainData.terrainLayers = new[] { l }; + + float[,,] alphamap = new float[prefs.controlTextureResolution, prefs.controlTextureResolution, 1]; + for (int x = 0; x < prefs.controlTextureResolution; x++) + { + for (int y = 0; y < prefs.controlTextureResolution; y++) + { + alphamap[x, y, 0] = 1; + } + } + item.terrain.terrainData.SetAlphamaps(0, 0, alphamap); +#else + if (rtpTextures == null || rtpTextures.Count != 12) + { + rtpTextures = new List(); + rtpTextures.Add((Texture2D)RealWorldTerrainEditorUtils.FindAndLoad("Dirt.png", typeof(Texture2D))); + rtpTextures.Add((Texture2D)RealWorldTerrainEditorUtils.FindAndLoad("Dirt Height.png", typeof(Texture2D))); + rtpTextures.Add((Texture2D)RealWorldTerrainEditorUtils.FindAndLoad("Dirt Normal.png", typeof(Texture2D))); + rtpTextures.Add((Texture2D)RealWorldTerrainEditorUtils.FindAndLoad("Grass.png", typeof(Texture2D))); + rtpTextures.Add((Texture2D)RealWorldTerrainEditorUtils.FindAndLoad("Grass Height.png", typeof(Texture2D))); + rtpTextures.Add((Texture2D)RealWorldTerrainEditorUtils.FindAndLoad("Grass Normal.png", typeof(Texture2D))); + rtpTextures.Add((Texture2D)RealWorldTerrainEditorUtils.FindAndLoad("GrassRock.png", typeof(Texture2D))); + rtpTextures.Add((Texture2D)RealWorldTerrainEditorUtils.FindAndLoad("GrassRock Height.png", typeof(Texture2D))); + rtpTextures.Add((Texture2D)RealWorldTerrainEditorUtils.FindAndLoad("GrassRock Normal.png", typeof(Texture2D))); + rtpTextures.Add((Texture2D)RealWorldTerrainEditorUtils.FindAndLoad("Cliff.png", typeof(Texture2D))); + rtpTextures.Add((Texture2D)RealWorldTerrainEditorUtils.FindAndLoad("Cliff Height.png", typeof(Texture2D))); + rtpTextures.Add((Texture2D)RealWorldTerrainEditorUtils.FindAndLoad("Cliff Normal.png", typeof(Texture2D))); + } + + TerrainLayer[] tls = new TerrainLayer[4]; + + for (int i = 0; i < 4; i++) + { + tls[i] = new TerrainLayer { diffuseTexture = rtpTextures[i * 3] }; + } + + item.terrain.terrainData.terrainLayers = tls; + + ReliefTerrain reliefTerrain = item.gameObject.GetComponent(); + if (reliefTerrain == null) reliefTerrain = item.gameObject.AddComponent(); + reliefTerrain.InitArrays(); + reliefTerrain.ColorGlobal = generatedTexture; + reliefTerrain.globalSettingsHolder.GlobalColorMapDistortByPerlin = 0; +#endif + } + else if (item.prefs.resultType == RealWorldTerrainResultType.mesh) + { + Renderer[] rs = item.GetComponentsInChildren(); + foreach (Renderer r in rs) r.sharedMaterial.mainTexture = generatedTexture; + } + + RealWorldTerrainPhase.phaseComplete = true; + textureFilename = string.Empty; + item.generatedTextures = true; + } + + private Color32 GetColor(double x, double y) + { + if (!loaded) LoadTexture(); + + double px = (x - leftMercator) / mercatorWidth * RealWorldTerrainUtils.TILE_SIZE; + double py = (bottomMercator - y) / mercatorHeight * RealWorldTerrainUtils.TILE_SIZE; + + int ix = (int) px; + if (ix < 0) ix = 0; + else if (ix >= RealWorldTerrainUtils.TILE_SIZE) ix = RealWorldTerrainUtils.TILE_SIZE - 1; + + float rx = (float)(px - ix); + int nx = ix + 1; + if (nx >= RealWorldTerrainUtils.TILE_SIZE) nx -= 1; + + int iy = (int) py; + if (iy < 0) iy = 0; + else if (iy >= RealWorldTerrainUtils.TILE_SIZE) iy = RealWorldTerrainUtils.TILE_SIZE - 1; + + float ry = (float)(py - iy); + int ny = iy + 1; + if (ny >= RealWorldTerrainUtils.TILE_SIZE) ny -= 1; + + Color32 c1 = textureColors[iy * RealWorldTerrainUtils.TILE_SIZE + ix]; + Color32 c2 = textureColors[iy * RealWorldTerrainUtils.TILE_SIZE + nx]; + Color32 c3 = textureColors[ny * RealWorldTerrainUtils.TILE_SIZE + ix]; + Color32 c4 = textureColors[ny * RealWorldTerrainUtils.TILE_SIZE + nx]; + + Color32 c5 = Color32.LerpUnclamped(c1, c2, rx); + Color32 c6 = Color32.LerpUnclamped(c3, c4, rx); + + return Color32.LerpUnclamped(c5, c6, ry); + } + + private static Color32 GetTextureColor(double x, double y) + { + if (lastTexture != null && lastTexture.zoom == maxZoomLevel && lastTexture.Contains(x, y)) return lastTexture.GetColor(x, y); + + for (int i = lastTextureIndex + 1; i < reqTextures.Length; i++) + { + RealWorldTerrainTextureGenerator t = reqTextures[i]; + if (t.Contains(x, y)) + { + lastTextureIndex = t.zoom == maxZoomLevel? i: -1; + lastTexture = t; + return t.GetColor(x, y); + } + } + + return Color.red; + } + + public static void Init() + { + int textureLevel; + if (prefs.maxTextureLevel == 0) + { + int tx = 0; + int ty = 0; + textureLevel = 0; + + if (prefs.textureResultType == RealWorldTerrainTextureResultType.regularTexture) + { + tx = prefs.textureSize.x * prefs.terrainCount.x / 256; + ty = prefs.textureSize.y * prefs.terrainCount.y / 256; + } + else if (prefs.textureResultType == RealWorldTerrainTextureResultType.hugeTexture) + { + tx = prefs.hugeTexturePageSize * prefs.hugeTextureCols * prefs.terrainCount.x / 256; + ty = prefs.hugeTexturePageSize * prefs.hugeTextureRows * prefs.terrainCount.y / 256; + } + + for (int z = 5; z < 22; z++) + { + double stx, sty, etx, ety; + RealWorldTerrainGeo.LatLongToTile(prefs.leftLongitude, prefs.topLatitude, z, out stx, out sty); + RealWorldTerrainGeo.LatLongToTile(prefs.rightLongitude, prefs.bottomLatitude, z, out etx, out ety); + + if (etx < stx) etx += 1 << z; + + if (etx - stx > tx && ety - sty > ty) + { + textureLevel = z; + break; + } + } + + if (textureLevel == 0) textureLevel = 22; + } + else textureLevel = prefs.maxTextureLevel; + + maxTextureLevel = textureLevel; + + textures = new List(); + for (int z = textureLevel; z > 4; z--) + { + double bx, by, ex, ey; + RealWorldTerrainGeo.LatLongToTile(prefs.leftLongitude, prefs.topLatitude, z, out bx, out by); + RealWorldTerrainGeo.LatLongToTile(prefs.rightLongitude, prefs.bottomLatitude, z, out ex, out ey); + + for (int x = (int)bx; x <= (int)ex; x++) + { + for (int y = (int)by; y <= (int)ey; y++) + { + RealWorldTerrainTextureGenerator texture = new RealWorldTerrainTextureGenerator(x, y, z); + textures.Add(texture); + } + } + } + } + + private bool Intersects(RealWorldTerrainMonoBase item) + { + double x1 = item.leftMercator; + double y1 = item.topMercator; + double x2 = item.rightMercator; + double y2 = item.bottomMercator; + + bool xIn = leftMercator >= x1 && leftMercator <= x2 || rightMercator >= x1 && rightMercator <= x2; + bool yIn = topMercator >= y1 && topMercator <= y2 || bottomMercator >= y1 && bottomMercator <= y2; + bool xOut = leftMercator <= x1 && rightMercator >= x2; + bool yOut = topMercator <= y1 && bottomMercator >= y2; + + return xIn && (yIn || yOut) || xOut && (yIn || yOut); + } + + private bool Intersects(double x1, double y1, double x2, double y2) + { + bool xIn = leftMercator >= x1 && leftMercator <= x2 || rightMercator >= x1 && rightMercator <= x2; + bool yIn = topMercator >= y1 && topMercator <= y2 || bottomMercator >= y1 && bottomMercator <= y2; + bool xOut = leftMercator <= x1 && rightMercator >= x2; + bool yOut = topMercator <= y1 && bottomMercator >= y2; + + return xIn && (yIn || yOut) || xOut && (yIn || yOut); + } + + private void Load() + { + if (textureColors != null || !downloaded) return; + if (new FileInfo(path).Length == 0) + { + RealWorldTerrainFileSystem.SafeDeleteFile(path); + return; + } + + if (zoom > maxZoomLevel) maxZoomLevel = zoom; + + exist = true; + } + + private void LoadTexture() + { + Texture2D texture = new Texture2D(RealWorldTerrainUtils.TILE_SIZE, RealWorldTerrainUtils.TILE_SIZE); + texture.LoadImage(File.ReadAllBytes(path)); + texture.wrapMode = TextureWrapMode.Clamp; + textureColors = texture.GetPixels32(); + UnityEngine.Object.DestroyImmediate(texture); + loaded = true; + } + + private static void Prepare() + { + if (ready) return; + foreach (RealWorldTerrainTextureGenerator texture in textures) texture.Load(); + textures.RemoveAll(t => !t.exist); + ready = true; + } + + private string ReplaceToken(Match match) + { + string v = match.Value.ToLower().Trim('{', '}'); + if (v == "zoom") return zoom.ToString(); + if (v == "x") return tileX.ToString(); + if (v == "y") return tileY.ToString(); + if (v == "quad") return RealWorldTerrainGeo.TileToQuadKey(tileX, tileY, zoom); + return v; + } + + private void Unload() + { + if (!loaded) return; + textureColors = null; + loaded = false; + } + + private abstract class ThreadGenerator + { + public bool completed; + public int start; + public int end; + public double sx; + public double x1; + public double y2; + public double sy; + public float progress; + + private RealWorldTerrainTextureGenerator lt; + protected int lti; + + public virtual void Dispose() + { + lt = null; + } + + protected Color32 GetTextureColor2(double x, double y) + { + if (lt != null && lt.zoom == maxZoomLevel && lt.Contains(x, y)) return lt.GetColor(x, y); + + for (int i = lti + 1; i < reqTextures.Length; i++) + { + RealWorldTerrainTextureGenerator t = reqTextures[i]; + if (!t.Contains(x, y)) continue; + + lti = t.zoom == maxZoomLevel ? i : -1; + lt = t; + return t.GetColor(x, y); + } + + return Color.red; + } + + public abstract void Start(); + } + + private class TextureThreadGenerator: ThreadGenerator + { + public Color32[][] colors; + + public override void Dispose() + { + base.Dispose(); + colors = null; + } + + public override void Start() + { + colors = new Color32[end - start][]; + + for (int tx = start; tx < end; tx++) + { + Color32[] cs = colors[tx - start] = new Color32[textureHeight]; + double px = sx * tx + x1; + lti = -1; + + for (int ty = 0; ty < textureHeight; ty++) + { + double py = y2 - sy * ty; + cs[ty] = GetTextureColor2(px, py); + } + + progress = (tx - start) / (float)(end - start); + } + + progress = 1; + completed = true; + } + } + + private class HugeTextureThreadGenerator: ThreadGenerator + { + public override void Start() + { + for (int ty = 0; ty < textureHeight; ty++) + { + double py = y2 - sy * ty; + lti = -1; + int ry = (textureHeight - ty - 1) * textureWidth; + + for (int tx = start; tx < end; tx++) + { + double px = sx * tx + x1; + colors[ry + tx] = GetTextureColor2(px, py); + } + + progress = ty / (float)textureHeight; + } + + progress = 1; + completed = true; + } + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainTextureGenerator.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainTextureGenerator.cs.meta new file mode 100644 index 000000000..d2248e315 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainTextureGenerator.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 221ac109f36072d46ba90f6ed0024242 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainTreesGenerator.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainTreesGenerator.cs new file mode 100644 index 000000000..1c051db13 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainTreesGenerator.cs @@ -0,0 +1,390 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using InfinityCode.RealWorldTerrain.Net; +using InfinityCode.RealWorldTerrain.OSM; +using InfinityCode.RealWorldTerrain.Phases; +using InfinityCode.RealWorldTerrain.Windows; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Generators +{ + public static class RealWorldTerrainTreesGenerator + { + private static Dictionary nodes; + private static Dictionary ways; + private static List relations; + private static bool loaded; + + private static List treeNodes; + private static List woodWays; + private static List treeRowWays; + private static float treeDensity; + private static int totalTreeCount; + private static string currentWayID; + private static HashSet alreadyCreated; + + private static RealWorldTerrainPrefs prefs + { + get { return RealWorldTerrainWindow.prefs; } + } + + public static string url + { + get + { + StringBuilder builder = new StringBuilder(); + builder.Append("node({0},{1},{2},{3})['natural'~'tree'];(._;>;);out;"); + builder.Append("node({0},{1},{2},{3});(way(bn)['natural'~'wood|tree_row'];way(bn)['landuse'~'forest|park'];);(._;>;);out;"); + builder.Append("(way['landuse'~'forest|park|orchard']({0},{1},{2},{3});relation['landuse'~'forest|park|orchard']({0},{1},{2},{3});relation['leisure'~'nature_reserve']({0},{1},{2},{3});relation['natural'~'wood']({0},{1},{2},{3}););out;>;out skel qt;"); + string _url = string.Format(RealWorldTerrainCultureInfo.numberFormat, builder.ToString(), prefs.bottomLatitude, prefs.leftLongitude, prefs.topLatitude, prefs.rightLongitude); + return RealWorldTerrainOSMUtils.osmURL + RealWorldTerrainDownloadManager.EscapeURL(_url); + } + } + + public static string filename + { + get + { + return Path.Combine(RealWorldTerrainEditorUtils.osmCacheFolder, string.Format("trees_{0}_{1}_{2}_{3}.osm", prefs.bottomLatitude, prefs.leftLongitude, prefs.topLatitude, prefs.rightLongitude)); + } + } + + public static string compressedFilename + { + get + { + return filename + "c"; + } + } + + public static void Dispose() + { + loaded = false; + + relations = null; + ways = null; + nodes = null; + + treeNodes = null; + woodWays = null; + treeRowWays = null; + alreadyCreated = null; + } + + public static void Download() + { + if (!prefs.generateTrees || File.Exists(compressedFilename)) return; + if (File.Exists(filename)) + { + byte[] data = File.ReadAllBytes(filename); + OnDownloadComplete(ref data); + } + else + { + RealWorldTerrainDownloadItemWebClient item = new RealWorldTerrainDownloadItemWebClient(url) + { + filename = filename, + averageSize = 600000, + exclusiveLock = RealWorldTerrainOSMUtils.OSMLocker, + ignoreRequestProgress = true + }; + + item.OnData += OnDownloadComplete; + } + } + + public static void Generate(RealWorldTerrainContainer container) + { + if (prefs.treePrefabs.Count == 0) + { + RealWorldTerrainPhase.phaseComplete = true; + return; + } + + RealWorldTerrainItem[] terrains; + Vector3 containerPosition; + Vector3 containerSize; + if (RealWorldTerrainWindow.generateTarget is RealWorldTerrainItem) + { + terrains = new[] { RealWorldTerrainWindow.generateTarget as RealWorldTerrainItem }; + containerPosition = terrains[0].transform.position; + containerSize = terrains[0].size; + } + else + { + terrains = container.terrains; + containerPosition = container.transform.position; + containerSize = container.size; + } + + if (!loaded) + { + RealWorldTerrainOSMUtils.LoadOSM(compressedFilename, out nodes, out ways, out relations); + loaded = true; + + container.generatedTrees = true; + + TreePrototype[] prototypes = new TreePrototype[prefs.treePrefabs.Count]; + for (int i = 0; i < prototypes.Length; i++) + { + prototypes[i] = new TreePrototype + { + prefab = prefs.treePrefabs[i] + }; + } + + foreach (RealWorldTerrainItem item in terrains) + { + item.terrainData.treePrototypes = prototypes; + item.terrainData.treeInstances = new TreeInstance[0]; + } + + treeNodes = new List(); + woodWays = new List(); + treeRowWays = new List(); + + foreach (KeyValuePair pair in nodes) + { + RealWorldTerrainOSMNode n = pair.Value; + if (n.HasTag("natural", "tree")) treeNodes.Add(n); + } + + foreach (KeyValuePair pair in ways) + { + RealWorldTerrainOSMWay w = pair.Value; + if (w.HasTag("natural", "wood") || w.HasTags("landuse", "forest", "park")) woodWays.Add(w); + else if (w.HasTag("natural", "tree_row")) treeRowWays.Add(w); + } + + totalTreeCount = treeNodes.Count + treeRowWays.Count + woodWays.Count; + + if (totalTreeCount == 0) + { + RealWorldTerrainPhase.phaseComplete = true; + return; + } + + alreadyCreated = new HashSet(); + + treeDensity = 800f / prefs.treeDensity; + } + + RealWorldTerrainTimer timer = RealWorldTerrainTimer.Start(); + + double sx, sy, ex, ey; + RealWorldTerrainGeo.LatLongToMercat(prefs.leftLongitude, prefs.topLatitude, out sx, out sy); + RealWorldTerrainGeo.LatLongToMercat(prefs.rightLongitude, prefs.bottomLatitude, out ex, out ey); + + if (RealWorldTerrainPhase.index < treeNodes.Count) + { + for (int i = RealWorldTerrainPhase.index; i < treeNodes.Count; i++) + { + RealWorldTerrainOSMNode node = treeNodes[i]; + if (alreadyCreated.Contains(node.id)) continue; + alreadyCreated.Add(node.id); + + double tx, ty; + RealWorldTerrainGeo.LatLongToMercat(node.lng, node.lat, out tx, out ty); + + double rx = (tx - sx) / (ex - sx); + double ry = 1 - (ty - sy) / (ey - sy); + + Vector3 pos = new Vector3((float)(containerPosition.x + containerSize.x * rx), 0, (float)(containerPosition.z + containerSize.z * ry)); + + SetTreeToTerrain(terrains, pos); + + if (timer.seconds > 1) + { + RealWorldTerrainPhase.index = i + 1; + RealWorldTerrainPhase.phaseProgress = RealWorldTerrainPhase.index / (float)totalTreeCount; + return; + } + } + RealWorldTerrainPhase.index = treeNodes.Count; + } + + if (RealWorldTerrainPhase.index < treeRowWays.Count + treeNodes.Count) + { + for (int index = RealWorldTerrainPhase.index - treeNodes.Count; index < treeRowWays.Count; index++) + { + RealWorldTerrainOSMWay way = treeRowWays[index]; + if (alreadyCreated.Contains(way.id)) continue; + alreadyCreated.Add(way.id); + List points = RealWorldTerrainOSMUtils.GetGlobalPointsFromWay(way, nodes); + + for (int i = 0; i < points.Count; i++) + { + Vector3 p = points[i]; + double tx, ty; + RealWorldTerrainGeo.LatLongToMercat(p.x, p.z, out tx, out ty); + + double rx = (tx - sx) / (ex - sx); + double ry = 1 - (ty - sy) / (ey - sy); + + p.x = (float) (containerPosition.x + containerSize.x * rx); + p.z = (float) (containerPosition.z + containerSize.z * ry); + + points[i] = p; + } + + for (int i = 0; i < points.Count - 1; i++) + { + int len = Mathf.RoundToInt((points[i] - points[i + 1]).magnitude / treeDensity); + if (len > 0) + { + for (int j = 0; j <= len; j++) SetTreeToTerrain(terrains, Vector3.Lerp(points[i], points[i + 1], j / (float)len)); + } + else SetTreeToTerrain(terrains, points[i]); + } + + if (timer.seconds > 1) + { + RealWorldTerrainPhase.index = index + treeNodes.Count + 1; + RealWorldTerrainPhase.phaseProgress = RealWorldTerrainPhase.index / (float)totalTreeCount; + return; + } + } + RealWorldTerrainPhase.index = treeNodes.Count + treeRowWays.Count; + } + + if (RealWorldTerrainPhase.index < treeRowWays.Count + treeNodes.Count + woodWays.Count) + { + for (int index = RealWorldTerrainPhase.index - treeRowWays.Count - treeNodes.Count; index < woodWays.Count; index++) + { + RealWorldTerrainOSMWay way = woodWays[index]; + if (alreadyCreated.Contains(way.id)) continue; + alreadyCreated.Add(way.id); + List points = RealWorldTerrainOSMUtils.GetGlobalPointsFromWay(way, nodes); + + for (int i = 0; i < points.Count; i++) + { + Vector3 p = points[i]; + double tx, ty; + RealWorldTerrainGeo.LatLongToMercat(p.x, p.z, out tx, out ty); + + double rx = (tx - sx) / (ex - sx); + double ry = 1 - (ty - sy) / (ey - sy); + + p.x = (float)(containerPosition.x + containerSize.x * rx); + p.z = (float)(containerPosition.z + containerSize.z * ry); + + points[i] = p; + } + + Rect rect = RealWorldTerrainUtils.GetRectFromPoints(points); + int lx = Mathf.RoundToInt(rect.width / treeDensity); + int ly = Mathf.RoundToInt(rect.height / treeDensity); + + if (lx > 0 && ly > 0) + { + currentWayID = way.id; + GenerateWoodsInArea(container, terrains, lx, ly, rect, points); + if (!RealWorldTerrainWindow.isCapturing) return; + } + + if (timer.seconds > 1) + { + RealWorldTerrainPhase.index = index + treeNodes.Count + treeRowWays.Count + 1; + RealWorldTerrainPhase.phaseProgress = RealWorldTerrainPhase.index / (float)totalTreeCount; + return; + } + } + + RealWorldTerrainPhase.index = totalTreeCount; + } + + Dispose(); + RealWorldTerrainPhase.phaseComplete = true; + } + + private static void GenerateWoodsInArea(RealWorldTerrainContainer container, RealWorldTerrainItem[] terrains, int lx, int ly, Rect rect, List points) + { + RealWorldTerrainMonoBase c = RealWorldTerrainWindow.generateTarget != null ? RealWorldTerrainWindow.generateTarget : container; + + Bounds bounds = c.bounds; + Vector3 min = bounds.min; + Vector3 max = bounds.max; + float rVal = 800f / prefs.treeDensity; + + float dx = (rect.xMax - rect.xMin) / lx; + float dy = (rect.yMax - rect.yMin) / ly; + + int cs = 0; + + Vector3[] ps = points.ToArray(); + + int sx = Mathf.Max(Mathf.FloorToInt((min.x - rect.xMin) / dx + 1), 0); + int ex = Mathf.Min(Mathf.FloorToInt((max.x - rect.xMin) / dx), lx); + + int sy = Mathf.Max(Mathf.FloorToInt((min.z - rect.yMin) / dy + 1), 0); + int ey = Mathf.Min(Mathf.FloorToInt((max.z - rect.yMin) / dy), ly); + + for (int x = sx; x < ex; x++) + { + if (EditorUtility.DisplayCancelableProgressBar("Generating trees in the area " + currentWayID, "Trees in the area: " + cs, x / (float) lx)) + { + EditorUtility.ClearProgressBar(); + RealWorldTerrainWindow.CancelCapture(); + return; + } + + float rx = x * dx + rect.xMin; + + for (int y = sy; y < ey; y++) + { + float ry = y * dy + rect.yMin; + + float px = rx + UnityEngine.Random.Range(-rVal, rVal); + float pz = ry + UnityEngine.Random.Range(-rVal, rVal); + + if (RealWorldTerrainMath.IsPointInPolygon(ps, px, pz)) + { + SetTreeToTerrain(terrains, new Vector3(px, 0, pz)); + cs++; + } + } + } + + EditorUtility.ClearProgressBar(); + } + + private static void OnDownloadComplete(ref byte[] data) + { + RealWorldTerrainOSMUtils.GenerateCompressedFile(data, ref nodes, ref ways, ref relations, compressedFilename); + } + + private static void SetTreeToTerrain(RealWorldTerrainItem[] terrains, Vector3 pos) + { + for (int i = 0; i < terrains.Length; i++) + { + RealWorldTerrainItem item = terrains[i]; + Terrain terrain = item.terrain; + TerrainData tData = terrain.terrainData; + Vector3 terPos = terrain.transform.position; + Vector3 localPos = pos - terPos; + float heightmapWidth = (tData.heightmapResolution - 1) * tData.heightmapScale.x; + float heightmapHeight = (tData.heightmapResolution - 1) * tData.heightmapScale.z; + if (localPos.x > 0 && localPos.z > 0 && localPos.x < heightmapWidth && localPos.z < heightmapHeight) + { + terrain.AddTreeInstance(new TreeInstance + { + color = Color.white, + heightScale = 1 + UnityEngine.Random.Range(-0.3f, 0.3f), + lightmapColor = Color.white, + position = new Vector3(localPos.x / heightmapWidth, 0, localPos.z / heightmapHeight), + prototypeIndex = UnityEngine.Random.Range(0, tData.treePrototypes.Length), + widthScale = 1 + UnityEngine.Random.Range(-0.2f, 0.2f) + }); + break; + } + } + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainTreesGenerator.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainTreesGenerator.cs.meta new file mode 100644 index 000000000..4ed75889e --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainTreesGenerator.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: f2f2ee1068e91b843bb08743d1a53b93 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainVegetationStudioGrassGenerator.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainVegetationStudioGrassGenerator.cs new file mode 100644 index 000000000..36296aa82 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainVegetationStudioGrassGenerator.cs @@ -0,0 +1,135 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System.Collections.Generic; +using InfinityCode.RealWorldTerrain.OSM; +using InfinityCode.RealWorldTerrain.Phases; +using InfinityCode.RealWorldTerrain.Windows; +using UnityEngine; + +#if VEGETATION_STUDIO || VEGETATION_STUDIO_PRO +using AwesomeTechnologies; +using AwesomeTechnologies.Common; +using AwesomeTechnologies.VegetationStudio; +#if VEGETATION_STUDIO_PRO +using AwesomeTechnologies.VegetationSystem; +#endif +#endif + +namespace InfinityCode.RealWorldTerrain.Generators +{ + public class RealWorldTerrainVegetationStudioGrassGenerator + { + public static Dictionary nodes; + public static Dictionary ways; + public static List relations; + + public static void Generate(RealWorldTerrainContainer container) + { +#if VEGETATION_STUDIO || VEGETATION_STUDIO_PRO + RealWorldTerrainOSMUtils.LoadOSM(RealWorldTerrainGrassGenerator.compressedFilename, out nodes, out ways, out relations); + container.generatedGrass = true; + + VegetationStudioManager vsm = RealWorldTerrainUtils.FindObjectOfType(); + if (vsm == null) VegetationStudioManagerEditor.AddVegetationStudioManager(); + + RealWorldTerrainPrefs prefs = RealWorldTerrainWindow.prefs; + +#if !VEGETATION_STUDIO_PRO + VegetationSystem[] vsl = Object.FindObjectsOfType(); + if (vsl.Length > prefs.terrainCount.count) + { + for (int i = prefs.terrainCount.count; i < vsl.Length; i++) Object.DestroyImmediate(vsl[i].gameObject); + vsl = Object.FindObjectsOfType(); + } + else if (vsl.Length < prefs.terrainCount.count) + { + for (int i = vsl.Length; i < prefs.terrainCount.count; i++) VegetationStudioManagerEditor.AddVegetationSystem(); + vsl = Object.FindObjectsOfType(); + } + + for (int i = 0; i < vsl.Length; i++) + { + VegetationSystem vs = vsl[i]; + vs.AutoselectTerrain = false; + vs.currentTerrain = container.terrains[i].terrain; + if (vs.CurrentVegetationPackage != prefs.vegetationStudioPackage) vs.AddVegetationPackage(prefs.vegetationStudioPackage, true); + } +#else + VegetationSystemPro vsl = RealWorldTerrainUtils.FindObjectOfType(); + + if (vsl == null) + { + VegetationStudioManagerEditor.AddVegetationStudioManager(); + vsl = RealWorldTerrainUtils.FindObjectOfType(); + } + + for (int i = 0; i < container.terrains.Length; i++) + { + GameObject go = container.terrains[i].gameObject; + go.AddComponent(); + vsl.AddTerrain(go); + } + vsl.AddVegetationPackage(prefs.vegetationStudioPackage); + vsl.CalculateVegetationSystemBounds(); +#endif + + VegetationMaskArea[] oldMasks = container.gameObject.GetComponentsInChildren(); + foreach (VegetationMaskArea oldMask in oldMasks) + { + if (oldMask.gameObject.name.StartsWith("Grass Mask")) Object.DestroyImmediate(oldMask.gameObject); + } + + foreach (var pair in ways) + { + RealWorldTerrainOSMWay way = pair.Value; + + List points = RealWorldTerrainOSMUtils.GetGlobalPointsFromWay(way, nodes); + if (points.Count < 3) continue; + + GameObject go = new GameObject("Grass Mask " + way.id); + go.transform.SetParent(container.transform, false); + VegetationMaskArea mask = go.AddComponent(); + mask.RemoveGrass = false; + mask.RemoveLargeObjects = false; + mask.RemoveObjects = false; + mask.RemovePlants = false; + mask.RemoveTrees = false; + mask.IncludeVegetationType = true; + + for (int i = 0; i < prefs.vegetationStudioGrassTypes.Count; i++) + { + VegetationTypeSettings vts = new VegetationTypeSettings(); + mask.VegetationTypeList.Add(vts); + vts.Index = (VegetationTypeIndex)prefs.vegetationStudioGrassTypes[i]; + } + + List vnodes = new List(); + Vector3 firstPos = Vector3.zero; + for (int i = 0; i < points.Count; i++) + { + Vector3 p = RealWorldTerrainEditorUtils.CoordsToWorldWithElevation(points[i], container); + + if (i == 0) firstPos = p; + p -= firstPos; + + vnodes.Add(new Node + { + Position = p + }); + } + + go.transform.position = firstPos; + + mask.Nodes = vnodes; + } +#endif + + nodes = null; + ways = null; + relations = null; + + RealWorldTerrainPhase.phaseComplete = true; + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainVegetationStudioGrassGenerator.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainVegetationStudioGrassGenerator.cs.meta new file mode 100644 index 000000000..0784cfb85 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainVegetationStudioGrassGenerator.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 9df6f4b6e565a5647ad4da21e4a58f5f +timeCreated: 1547585955 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainVegetationStudioTreesGenerator.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainVegetationStudioTreesGenerator.cs new file mode 100644 index 000000000..b14ec8d8e --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainVegetationStudioTreesGenerator.cs @@ -0,0 +1,136 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System.Collections.Generic; +using InfinityCode.RealWorldTerrain.OSM; +using InfinityCode.RealWorldTerrain.Phases; +using InfinityCode.RealWorldTerrain.Windows; +using UnityEngine; + +#if VEGETATION_STUDIO || VEGETATION_STUDIO_PRO +using AwesomeTechnologies; +using AwesomeTechnologies.Common; +using AwesomeTechnologies.VegetationStudio; + +#if VEGETATION_STUDIO_PRO +using AwesomeTechnologies.VegetationSystem; +#endif + +#endif + +namespace InfinityCode.RealWorldTerrain.Generators +{ + public class RealWorldTerrainVegetationStudioTreesGenerator + { + public static Dictionary nodes; + public static Dictionary ways; + public static List relations; + + public static void Generate(RealWorldTerrainContainer container) + { +#if VEGETATION_STUDIO || VEGETATION_STUDIO_PRO + RealWorldTerrainOSMUtils.LoadOSM(RealWorldTerrainTreesGenerator.compressedFilename, out nodes, out ways, out relations); + container.generateTrees = true; + + VegetationStudioManager vsm = RealWorldTerrainUtils.FindObjectOfType(); + if (vsm == null) VegetationStudioManagerEditor.AddVegetationStudioManager(); + + RealWorldTerrainPrefs prefs = RealWorldTerrainWindow.prefs; + +#if !VEGETATION_STUDIO_PRO + VegetationSystem[] vsl = Object.FindObjectsOfType(); + if (vsl.Length > prefs.terrainCount.count) + { + for (int i = prefs.terrainCount.count; i < vsl.Length; i++) Object.DestroyImmediate(vsl[i].gameObject); + vsl = Object.FindObjectsOfType(); + } + else if (vsl.Length < prefs.terrainCount.count) + { + for (int i = vsl.Length; i < prefs.terrainCount.count; i++) VegetationStudioManagerEditor.AddVegetationSystem(); + vsl = Object.FindObjectsOfType(); + } + + for (int i = 0; i < vsl.Length; i++) + { + VegetationSystem vs = vsl[i]; + vs.AutoselectTerrain = false; + vs.currentTerrain = container.terrains[i].terrain; + if (vs.CurrentVegetationPackage != prefs.vegetationStudioPackage) vs.AddVegetationPackage(prefs.vegetationStudioPackage, true); + } +#else + VegetationSystemPro vsl = RealWorldTerrainUtils.FindObjectOfType(); + if (vsl == null) + { + VegetationStudioManagerEditor.AddVegetationStudioManager(); + vsl = RealWorldTerrainUtils.FindObjectOfType(); + } + + for (int i = 0; i < container.terrains.Length; i++) + { + GameObject go = container.terrains[i].gameObject; + if (go.GetComponent() == null) go.AddComponent(); + vsl.AddTerrain(go); + } + vsl.AddVegetationPackage(prefs.vegetationStudioPackage); + vsl.CalculateVegetationSystemBounds(); +#endif + + VegetationMaskArea[] oldMasks = container.gameObject.GetComponentsInChildren(); + foreach (VegetationMaskArea oldMask in oldMasks) + { + if (oldMask.gameObject.name.StartsWith("Tree Mask")) Object.DestroyImmediate(oldMask.gameObject); + } + + foreach (var pair in ways) + { + RealWorldTerrainOSMWay way = pair.Value; + + List points = RealWorldTerrainOSMUtils.GetGlobalPointsFromWay(way, nodes); + if (points.Count < 3) continue; + + GameObject go = new GameObject("Tree Mask " + way.id); + go.transform.SetParent(container.transform, false); + VegetationMaskArea mask = go.AddComponent(); + mask.RemoveGrass = false; + mask.RemoveLargeObjects = false; + mask.RemoveObjects = false; + mask.RemovePlants = false; + mask.RemoveTrees = false; + mask.IncludeVegetationType = true; + + for (int i = 0; i < prefs.vegetationStudioGrassTypes.Count; i++) + { + VegetationTypeSettings vts = new VegetationTypeSettings(); + mask.VegetationTypeList.Add(vts); + vts.Index = (VegetationTypeIndex)prefs.vegetationStudioTreeTypes[i]; + } + + List vnodes = new List(); + Vector3 firstPos = Vector3.zero; + for (int i = 0; i < points.Count; i++) + { + Vector3 p = RealWorldTerrainEditorUtils.CoordsToWorldWithElevation(points[i], container); + + if (i == 0) firstPos = p; + p -= firstPos; + + vnodes.Add(new Node + { + Position = p + }); + } + + go.transform.position = firstPos; + + mask.Nodes = vnodes; + } +#endif + + nodes = null; + ways = null; + relations = null; + + RealWorldTerrainPhase.phaseComplete = true; + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainVegetationStudioTreesGenerator.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainVegetationStudioTreesGenerator.cs.meta new file mode 100644 index 000000000..629ce3cfc --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainVegetationStudioTreesGenerator.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a801bee05f39b004ab3397662068e01d +timeCreated: 1547585955 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainVolumeGrassGenerator.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainVolumeGrassGenerator.cs new file mode 100644 index 000000000..f88362fb1 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainVolumeGrassGenerator.cs @@ -0,0 +1,171 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +#if VOLUMEGRASS + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using InfinityCode.RealWorldTerrain.Net; +using InfinityCode.RealWorldTerrain.OSM; +using InfinityCode.RealWorldTerrain.Phases; +using InfinityCode.RealWorldTerrain.Windows; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Generators +{ + public static class RealWorldTerrainVolumeGrassGenerator + { + public static bool loaded; + + private static List grassWays; + private static int totalCount; + private static List alreadyCreated; + private static float[] detailsInPoint; + + public static Dictionary nodes; + public static Dictionary ways; + public static List relations; + private static GameObject grassContainer; + + private static RealWorldTerrainPrefs prefs + { + get { return RealWorldTerrainWindow.prefs; } + } + + public static string url + { + get + { + string format = string.Format(RealWorldTerrainCultureInfo.numberFormat, "node({0},{1},{2},{3});way(bn)['landuse'~'grass|forest|meadow|park|pasture|recreation_ground'];(._;>;);out;node({0},{1},{2},{3});way(bn)['natural'~'scrub|wood']; (._;>;);out;node({0},{1},{2},{3});way(bn)['leisure'~'park|golf_course'];(._;>;);out;node({0},{1},{2},{3});rel(bn)['leisure'~'golf_course']; (._;>;);out;", + prefs.bottomLatitude, prefs.leftLongitude, prefs.topLatitude, prefs.rightLongitude); + return RealWorldTerrainOSMUtils.osmURL + RealWorldTerrainDownloadManager.EscapeURL(format); + } + } + + public static string filename + { + get + { + return Path.Combine(RealWorldTerrainEditorUtils.osmCacheFolder, string.Format("grass_{0}_{1}_{2}_{3}.osm", prefs.bottomLatitude, prefs.leftLongitude, prefs.topLatitude, prefs.rightLongitude)); + } + } + + public static string compressedFilename + { + get + { + return filename + "c"; + } + } + + public static void Dispose() + { + loaded = false; + + nodes = null; + ways = null; + relations = null; + + grassWays = null; + alreadyCreated = null; + + grassContainer = null; + } + + public static void Generate(RealWorldTerrainContainer container) + { + if (!loaded) + { + RealWorldTerrainOSMUtils.LoadOSM(compressedFilename, out nodes, out ways, out relations); + loaded = true; + + grassContainer = RealWorldTerrainUtils.CreateGameObject(container, "VolumeGrass"); + + container.generatedGrass = true; + alreadyCreated = new List(); + + grassWays = new List(); + foreach (KeyValuePair pair in ways) + { + RealWorldTerrainOSMWay w = pair.Value; + if (w.HasTags("landuse", "grass", "forest", "meadow", "park", "pasture", "recreation_ground") || + w.HasTags("leisure", "park", "golf_course") || w.HasTags("natural", "scrub", "wood")) + { + grassWays.Add(w); + } + } + + totalCount = grassWays.Count + container.terrainCount.x; + + if (grassWays.Count == 0) + { + RealWorldTerrainPhase.phaseComplete = true; + return; + } + } + + RealWorldTerrainTimer timer = RealWorldTerrainTimer.Start(); + + if (RealWorldTerrainPhase.index < grassWays.Count) + { + for (int i = RealWorldTerrainPhase.index; i < grassWays.Count; i++) + { + RealWorldTerrainOSMWay way = grassWays[i]; + + if (alreadyCreated.Contains(way.id)) continue; + alreadyCreated.Add(way.id); + + bool hasOutsidePoints = false; + + List points = RealWorldTerrainOSMUtils.GetGlobalPointsFromWay(way, nodes); + if (prefs.volumeGrassOutsidePoints == RealWorldTerrainVolumeGrassOutsidePoints.removeOutsidePoints) + { + hasOutsidePoints = points.RemoveAll(p => p.x < container.leftLongitude || p.x > container.rightLongitude || p.z < container.bottomLatitude || p.z > container.topLatitude) > 0; + } + else + { + hasOutsidePoints = points.Any(p => p.x < container.leftLongitude || p.x > container.rightLongitude || p.z < container.bottomLatitude || p.z > container.topLatitude); + } + + if (points.Count == 0) continue; + int offset = points[0] == points[points.Count - 1] ? 1 : 0; + + if (points.Count < 3 + offset) continue; + + GameObject grass = RealWorldTerrainUtils.CreateGameObject(grassContainer, "Grass_" + way.id); + VolumeGrass volumeGrass = grass.AddComponent(); + volumeGrass.max_y_error[0] = 1; + volumeGrass.min_edge_length[0] = 5; + + for (int j = 0; j < points.Count - 1; j++) + { + Vector3 p = RealWorldTerrainEditorUtils.CoordsToWorldWithElevation(points[j], container); + points[j] = p; + volumeGrass.AddControlPoint(p, -1); + } + + if (prefs.volumeGrassOutsidePoints == RealWorldTerrainVolumeGrassOutsidePoints.removeOutsidePoints || (!hasOutsidePoints && prefs.volumeGrassOutsidePoints == RealWorldTerrainVolumeGrassOutsidePoints.noMakeMeshesWithOutsidePoints)) + { + volumeGrass.BuildMesh(); + volumeGrass.state = 1; + } + + if (timer.seconds > 1) + { + RealWorldTerrainPhase.index = i + 1; + RealWorldTerrainPhase.phaseProgress = RealWorldTerrainPhase.index / (float)totalCount; + return; + } + } + RealWorldTerrainPhase.index = grassWays.Count; + } + + Dispose(); + RealWorldTerrainPhase.phaseComplete = true; + } + } +} + +#endif \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainVolumeGrassGenerator.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainVolumeGrassGenerator.cs.meta new file mode 100644 index 000000000..625096270 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Generators/RealWorldTerrainVolumeGrassGenerator.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 8241c3e069ae39b47bca77056471b411 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Net.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Net.meta new file mode 100644 index 000000000..c8280823b --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Net.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 206596a18c827ba4f9507532b6fc8dfa +folderAsset: yes +timeCreated: 1532788443 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Net/RealWorldTerrainDownloadItem.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Net/RealWorldTerrainDownloadItem.cs new file mode 100644 index 000000000..52af32781 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Net/RealWorldTerrainDownloadItem.cs @@ -0,0 +1,106 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System; +using System.Collections.Generic; +using System.IO; + +namespace InfinityCode.RealWorldTerrain.Net +{ + public abstract class RealWorldTerrainDownloadItem + { + public delegate void OnCompleteHandler(ref byte[] data); + public Action OnSuccess; + public Action OnError; + public Action OnComplete; + public event OnCompleteHandler OnData; + + public long averageSize = 0; + public bool complete; + public object exclusiveLock; + public string filename; + public bool generateErrorFile = false; + public Dictionary headers; + public bool ignoreRequestProgress; + public string url; + + private Dictionary fields; + + private string _errorFilename; + + public object this[string key] + { + get + { + if (fields == null) return null; + object obj = null; + fields.TryGetValue(key, out obj); + return obj; + } + set + { + if (fields == null) fields = new Dictionary(); + fields[key] = value; + } + } + + private string errorFilename + { + get + { + if (string.IsNullOrEmpty(_errorFilename)) + { + if (string.IsNullOrEmpty(filename)) _errorFilename = String.Empty; + else _errorFilename = filename.Substring(0, filename.LastIndexOf(".") + 1) + "err"; + } + return _errorFilename; + } + } + + public bool exists + { + get { return File.Exists(filename) || File.Exists(errorFilename); } + } + + public abstract float progress { get; } + + + public abstract void CheckComplete(); + + public void CreateErrorFile() + { + if (!generateErrorFile) return; + File.WriteAllBytes(errorFilename, new byte[] { }); + } + + public void DispatchCompete(ref byte[] data) + { + if (OnData != null) OnData(ref data); + if (OnComplete != null) OnComplete(this); + } + + public virtual void Dispose() + { + fields = null; + + OnSuccess = null; + OnError = null; + OnData = null; + } + + public T GetField(string key) + { + if (fields == null) return default(T); + object obj = null; + fields.TryGetValue(key, out obj); + return (T) obj; + } + + protected void SaveWWWData(byte[] bytes) + { + if (!string.IsNullOrEmpty(filename) && bytes != null) File.WriteAllBytes(filename, bytes); + } + + public abstract void Start(); + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Net/RealWorldTerrainDownloadItem.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Net/RealWorldTerrainDownloadItem.cs.meta new file mode 100644 index 000000000..6facef75d --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Net/RealWorldTerrainDownloadItem.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 048cd6da859c09f48b5962bd1f7b2297 +timeCreated: 1532788443 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Net/RealWorldTerrainDownloadItemAction.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Net/RealWorldTerrainDownloadItemAction.cs new file mode 100644 index 000000000..cc7652187 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Net/RealWorldTerrainDownloadItemAction.cs @@ -0,0 +1,42 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System; + +namespace InfinityCode.RealWorldTerrain.Net +{ + public class RealWorldTerrainDownloadItemAction : RealWorldTerrainDownloadItem + { + public Action OnStart; + public Action OnCheckComplete; + + public override float progress + { + get { return 0; } + } + + public RealWorldTerrainDownloadItemAction() + { + RealWorldTerrainDownloadManager.Add(this); + } + + public override void CheckComplete() + { + if (OnCheckComplete != null) OnCheckComplete(this); + else complete = true; + } + + public override void Dispose() + { + base.Dispose(); + + OnStart = null; + } + + public override void Start() + { + if (OnStart != null) OnStart(this); + else complete = true; + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Net/RealWorldTerrainDownloadItemAction.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Net/RealWorldTerrainDownloadItemAction.cs.meta new file mode 100644 index 000000000..b09d88d2c --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Net/RealWorldTerrainDownloadItemAction.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 734f722b1299e724aacdb2905dfcd054 +timeCreated: 1532788443 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Net/RealWorldTerrainDownloadItemUnityWebRequest.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Net/RealWorldTerrainDownloadItemUnityWebRequest.cs new file mode 100644 index 000000000..99d0cc94b --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Net/RealWorldTerrainDownloadItemUnityWebRequest.cs @@ -0,0 +1,101 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.Networking; + +namespace InfinityCode.RealWorldTerrain.Net +{ + public class RealWorldTerrainDownloadItemUnityWebRequest : RealWorldTerrainDownloadItem + { + public static Func OnCreateWebRequest; + public static Action OnPrepareRequest; + + private static CertificateValidator _certificateValidator; + + public UnityWebRequest uwr; + + public static CertificateValidator certificateValidator + { + get + { + if (_certificateValidator == null) _certificateValidator = new CertificateValidator(); + return _certificateValidator; + } + } + + public RealWorldTerrainDownloadItemUnityWebRequest(string url) + { + UnityWebRequest request; + if (OnCreateWebRequest != null) request = OnCreateWebRequest(url); + else request = UnityWebRequest.Get(url); + + request.certificateHandler = certificateValidator; + + if (OnPrepareRequest != null) OnPrepareRequest(request); + + RealWorldTerrainDownloadManager.Add(this); + uwr = request; + } + + public RealWorldTerrainDownloadItemUnityWebRequest(UnityWebRequest uwr) + { + RealWorldTerrainDownloadManager.Add(this); + + this.uwr = uwr; + } + + public override float progress + { + get { return uwr.downloadProgress; } + } + + public override void CheckComplete() + { + if (!uwr.isDone) return; + + if (string.IsNullOrEmpty(uwr.error)) + { + byte[] bytes = uwr.downloadHandler.data; + SaveWWWData(bytes); + DispatchCompete(ref bytes); + } + else Debug.LogWarning("Download failed: " + uwr.url + "\n" + uwr.error); + + RealWorldTerrainDownloadManager.completeSize += averageSize; + complete = true; + + Dispose(); + } + + public override void Dispose() + { + base.Dispose(); + + if (uwr != null) + { + uwr.Dispose(); + uwr = null; + } + } + + public override void Start() + { + if (headers != null) + { + foreach (var header in headers) uwr.SetRequestHeader(header.Key, header.Value); + } + uwr.SendWebRequest(); + } + + public class CertificateValidator : CertificateHandler + { + protected override bool ValidateCertificate(byte[] certificateData) + { + return true; + } + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Net/RealWorldTerrainDownloadItemUnityWebRequest.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Net/RealWorldTerrainDownloadItemUnityWebRequest.cs.meta new file mode 100644 index 000000000..703a15d33 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Net/RealWorldTerrainDownloadItemUnityWebRequest.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 9685a11a17e5b734d8677a812bc73aeb +timeCreated: 1532788443 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Net/RealWorldTerrainDownloadItemWebClient.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Net/RealWorldTerrainDownloadItemWebClient.cs new file mode 100644 index 000000000..920a8e973 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Net/RealWorldTerrainDownloadItemWebClient.cs @@ -0,0 +1,87 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System; +using System.Collections.Generic; +using System.Net; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Net +{ + public class RealWorldTerrainDownloadItemWebClient : RealWorldTerrainDownloadItem + { + public Action OnPrepare; + + private float _progress; + private WebClient client; + + public RealWorldTerrainDownloadItemWebClient(string url) + { + RealWorldTerrainDownloadManager.Add(this); + this.url = url; + } + + public override float progress + { + get { return _progress; } + } + + public override void CheckComplete() + { + } + + public override void Dispose() + { + base.Dispose(); + + client.Dispose(); + client = null; + } + + private void OnDownloadDataComplete(object sender, DownloadDataCompletedEventArgs e) + { + if (e.Error != null) + { + Debug.LogWarning("Download error: " + url + "\n" + e.Error); + CreateErrorFile(); + if (OnError != null) OnError(this); + } + else + { + byte[] data = e.Result; + + if (data.Length != 0) + { + SaveWWWData(data); + DispatchCompete(ref data); + } + else CreateErrorFile(); + } + + RealWorldTerrainDownloadManager.completeSize += averageSize; + _progress = 1; + complete = true; + } + + private void OnProgressChanged(object sender, DownloadProgressChangedEventArgs e) + { + _progress = e.ProgressPercentage / 100f; + } + + public override void Start() + { + client = new WebClient(); + client.DownloadDataCompleted += OnDownloadDataComplete; + client.DownloadProgressChanged += OnProgressChanged; + + if (headers != null) + { + foreach (KeyValuePair header in headers) client.Headers.Add(header.Key, header.Value); + } + + if (OnPrepare != null) OnPrepare(client); + + client.DownloadDataAsync(new Uri(url)); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Net/RealWorldTerrainDownloadItemWebClient.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Net/RealWorldTerrainDownloadItemWebClient.cs.meta new file mode 100644 index 000000000..9bddc84a3 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Net/RealWorldTerrainDownloadItemWebClient.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c88fec65cf32f334e847b4675e4ae0ac +timeCreated: 1532788443 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Net/RealWorldTerrainDownloadManager.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Net/RealWorldTerrainDownloadManager.cs new file mode 100644 index 000000000..59bdceaf2 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Net/RealWorldTerrainDownloadManager.cs @@ -0,0 +1,158 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.Collections.Generic; +using System.Linq; +using InfinityCode.RealWorldTerrain.Windows; +using UnityEngine; +using UnityEngine.Networking; + +namespace InfinityCode.RealWorldTerrain.Net +{ + public static class RealWorldTerrainDownloadManager + { + private const int maxDownloadItem = 16; + + public static long completeSize; + public static bool finish; + + private static List activeItems; + private static List items; + private static long totalSize; + + public static int count + { + get + { + if (items == null) return -1; + return items.Count; + } + } + + public static double progress + { + get + { + if (activeItems == null || activeItems.Count == 0) return 0; + double localProgress = activeItems.Sum(i => + { + if (i.ignoreRequestProgress) return 0; + return (double) i.progress * i.averageSize; + }) / totalSize; + double totalProgress = completeSize / (double)totalSize + localProgress; + return totalProgress; + } + } + + public static int totalSizeMB + { + get { return Mathf.RoundToInt(totalSize / (float)RealWorldTerrainFileSystem.MB); } + } + + public static void Add(RealWorldTerrainDownloadItem item) + { + if (items == null) items = new List(); + items.Add(item); + } + + public static void CheckComplete() + { + foreach (RealWorldTerrainDownloadItem item in activeItems) item.CheckComplete(); + if (!RealWorldTerrainWindow.isCapturing) return; + + activeItems.RemoveAll(i => i.complete); + while (activeItems.Count < maxDownloadItem && items.Count > 0) + { + if (!StartNextDownload()) break; + } + if (activeItems.Count == 0 && items.Count == 0) finish = true; + } + + public static void Dispose() + { + if (activeItems != null) + { + foreach (RealWorldTerrainDownloadItem item in activeItems) item.Dispose(); + activeItems = null; + } + + items = null; + } + + public static string EscapeURL(string url) + { + return UnityWebRequest.EscapeURL(url); + } + + public static void Start() + { + finish = false; + completeSize = 0; + + if (items == null || items.Count == 0) + { + finish = true; + return; + } + + activeItems = new List(); + + try + { + totalSize = items.Sum(i => i.averageSize); + } + catch + { + RealWorldTerrainWindow.isCapturing = false; + Dispose(); + return; + } + + CheckComplete(); + } + + public static bool StartNextDownload() + { + if (items == null || items.Count == 0) return false; + + int index = 0; + RealWorldTerrainDownloadItem current = null; + while (index < items.Count) + { + RealWorldTerrainDownloadItem item = items[index]; + if (item.exclusiveLock != null) + { + bool hasAnotherSomeRequest = false; + foreach (RealWorldTerrainDownloadItem activeItem in activeItems) + { + if (item.exclusiveLock == activeItem.exclusiveLock) + { + hasAnotherSomeRequest = true; + break; + } + } + if (!hasAnotherSomeRequest) + { + current = item; + break; + } + } + else + { + current = item; + break; + } + index++; + } + + if (current == null) return false; + + items.RemoveAt(index); + if (current.exists) return true; + current.Start(); + activeItems.Add(current); + return true; + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Net/RealWorldTerrainDownloadManager.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Net/RealWorldTerrainDownloadManager.cs.meta new file mode 100644 index 000000000..bbdc7642a --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Net/RealWorldTerrainDownloadManager.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 5b993d7b611a21e4eace2e57085c6785 +timeCreated: 1532788443 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases.meta new file mode 100644 index 000000000..9f7e70f7d --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 4261184abc680c849b2b4319e753235e +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainAdjustEdgesPhase.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainAdjustEdgesPhase.cs new file mode 100644 index 000000000..3a4b07585 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainAdjustEdgesPhase.cs @@ -0,0 +1,48 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +namespace InfinityCode.RealWorldTerrain.Phases +{ + public class RealWorldTerrainAdjustEdgesPhase : RealWorldTerrainPhase + { + public override string title + { + get { return "Adjust Edges..."; } + } + + public override void Enter() + { + RealWorldTerrainItem[,] items = terrains; + + for (int x = 0; x < prefs.terrainCount.x - 1; x++) + { + for (int y = 0; y < prefs.terrainCount.y; y++) + { + float[,] heights1 = items[x, y].terrainData.GetHeights(prefs.heightmapResolution - 1, 0, 1, prefs.heightmapResolution); + float[,] heights2 = items[x + 1, y].terrainData.GetHeights(0, 0, 1, prefs.heightmapResolution); + + for (int i = 0; i < prefs.heightmapResolution; i++) heights1[i, 0] = (heights1[i, 0] + heights2[i, 0]) / 2; + + items[x, y].terrainData.SetHeights(prefs.heightmapResolution - 1, 0, heights1); + items[x + 1, y].terrainData.SetHeights(0, 0, heights1); + } + } + + for (int y = 0; y < prefs.terrainCount.y - 1; y++) + { + for (int x = 0; x < prefs.terrainCount.x; x++) + { + float[,] heights1 = items[x, y].terrainData.GetHeights(0, prefs.heightmapResolution - 1, prefs.heightmapResolution, 1); + float[,] heights2 = items[x, y + 1].terrainData.GetHeights(0, 0, prefs.heightmapResolution, 1); + + for (int i = 0; i < prefs.heightmapResolution; i++) heights1[0, i] = (heights1[0, i] + heights2[0, i]) / 2; + + items[x, y].terrainData.SetHeights(0, prefs.heightmapResolution - 1, heights1); + items[x, y + 1].terrainData.SetHeights(0, 0, heights1); + } + } + + Complete(); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainAdjustEdgesPhase.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainAdjustEdgesPhase.cs.meta new file mode 100644 index 000000000..8de3c0a58 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainAdjustEdgesPhase.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cf5c1281cde94ab4aa91a0403440f17e +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainDownloadingPhase.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainDownloadingPhase.cs new file mode 100644 index 000000000..07f49a3e4 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainDownloadingPhase.cs @@ -0,0 +1,30 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using InfinityCode.RealWorldTerrain.Net; + +namespace InfinityCode.RealWorldTerrain.Phases +{ + public class RealWorldTerrainDownloadingPhase : RealWorldTerrainPhase + { + public override string title + { + get { return "Downloading..."; } + } + + public override void Enter() + { + if (!RealWorldTerrainDownloadManager.finish) + { + RealWorldTerrainDownloadManager.CheckComplete(); + progress = (float)RealWorldTerrainDownloadManager.progress; + } + else Complete(); + } + + public override void Start() + { + RealWorldTerrainDownloadManager.Start(); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainDownloadingPhase.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainDownloadingPhase.cs.meta new file mode 100644 index 000000000..85670c03d --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainDownloadingPhase.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 96d3bf8130876494ca26d01f11914267 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainFinishPhase.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainFinishPhase.cs new file mode 100644 index 000000000..500e6ffb7 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainFinishPhase.cs @@ -0,0 +1,160 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using InfinityCode.RealWorldTerrain.Generators; +using InfinityCode.RealWorldTerrain.Windows; +using UnityEditor; +using UnityEngine; +using Object = UnityEngine.Object; + +namespace InfinityCode.RealWorldTerrain.Phases +{ + public class RealWorldTerrainFinishPhase : RealWorldTerrainPhase + { + public override string title + { + get { return "Finish..."; } + } + + private static void ApplyRTPTextures() + { +#if RTP + if ((RealWorldTerrainWindow.generateType != RealWorldTerrainGenerateType.full && RealWorldTerrainWindow.generateType != RealWorldTerrainGenerateType.texture) || + prefs.resultType != RealWorldTerrainResultType.terrain || + !prefs.generateTextures) + { + return; + } + + if (prefs.textureResultType != RealWorldTerrainTextureResultType.regularTexture) return; + + ReliefTerrain reliefTerrain = terrains[0, 0].GetComponent(); + ReliefTerrainGlobalSettingsHolder settingsHolder = reliefTerrain.globalSettingsHolder; + + settingsHolder.numLayers = 4; + settingsHolder.splats = new Texture2D[4]; + settingsHolder.Bumps = new Texture2D[4]; + settingsHolder.Heights = new Texture2D[4]; + + for (int i = 0; i < 4; i++) + { + settingsHolder.splats[i] = RealWorldTerrainTextureGenerator.rtpTextures[i * 3]; + settingsHolder.Heights[i] = RealWorldTerrainTextureGenerator.rtpTextures[i * 3 + 1]; + settingsHolder.Bumps[i] = RealWorldTerrainTextureGenerator.rtpTextures[i * 3 + 2]; + } + + settingsHolder.GlobalColorMapBlendValues = new Vector3(1, 1, 1); + settingsHolder._GlobalColorMapNearMIP = 1; + settingsHolder.GlobalColorMapSaturation = 1; + settingsHolder.GlobalColorMapSaturationFar = 1; + settingsHolder.GlobalColorMapBrightness = 1; + settingsHolder.GlobalColorMapBrightnessFar = 1; + + foreach (RealWorldTerrainItem item in terrains) + { +#if !UNITY_2020_1_OR_NEWER + item.terrain.materialType = Terrain.MaterialType.Custom; +#endif + item.GetComponent().RefreshTextures(); + } + + settingsHolder.Refresh(); +#endif + } + + public override void Complete() + { + phaseProgress = 0; + phaseComplete = false; + index = 0; + } + + public override void Enter() + { + ApplyRTPTextures(); + GeneratePOI(); + + if (prefs.resultType == RealWorldTerrainResultType.terrain) + { + if (terrainCount > 1) GenerateNeighbors(); + foreach (RealWorldTerrainItem item in terrains) item.terrain.Flush(); + } + else if (RealWorldTerrainWindow.generateType == RealWorldTerrainGenerateType.terrain && + prefs.resultType == RealWorldTerrainResultType.mesh) + { + foreach (RealWorldTerrainItem item in terrains) + { + Texture2D texture = item["texture"] as Texture2D; + if (texture != null) + { + item.texture = texture; + item["texture"] = null; + } + } + } + + if (RealWorldTerrainWindow.generateType == RealWorldTerrainGenerateType.texture && + RealWorldTerrainWindow.generateTarget is RealWorldTerrainItem) + { + ((RealWorldTerrainItem)RealWorldTerrainWindow.generateTarget).needUpdate = true; + } + + if (terrains != null) + { + foreach (RealWorldTerrainItem item in terrains) + { + item.ClearCustomFields(); + } + } + + if (RealWorldTerrainWindow.container != null) EditorGUIUtility.PingObject(RealWorldTerrainWindow.container); + + if (RealWorldTerrainWindow.OnCaptureCompleted != null) RealWorldTerrainWindow.OnCaptureCompleted(); + RealWorldTerrainWindow.Dispose(); + Complete(); + } + + private void GenerateNeighbors() + { + for (int x = 0; x < prefs.terrainCount.x; x++) + { + for (int y = 0; y < prefs.terrainCount.y; y++) + { + Terrain bottom = y > 0 ? terrains[x, y - 1].terrain : null; + Terrain top = y < prefs.terrainCount.y - 1 ? terrains[x, y + 1].terrain : null; + Terrain left = x > 0 ? terrains[x - 1, y].terrain : null; + Terrain right = x < prefs.terrainCount.x - 1 ? terrains[x + 1, y].terrain : null; + terrains[x, y].terrain.SetNeighbors(left, top, right, bottom); + } + } + } + + private static void GeneratePOI() + { + if (RealWorldTerrainWindow.generateType != RealWorldTerrainGenerateType.full || prefs.POI == null || prefs.POI.Count == 0) return; + + GameObject poiContainer = new GameObject("POI"); + poiContainer.transform.parent = RealWorldTerrainWindow.container.transform; + + foreach (RealWorldTerrainPOI poi in prefs.POI) + { + Vector3 pos; + bool success; + if (Math.Abs(poi.altitude) < float.Epsilon) pos = RealWorldTerrainEditorUtils.CoordsToWorldWithElevation(poi.x, poi.y, poi.altitude, RealWorldTerrainWindow.container, Vector3.zero, out success); + else RealWorldTerrainWindow.container.GetWorldPosition(poi.x, poi.y, poi.altitude, out pos); + + GameObject poiGO; + if (poi.prefab == null) poiGO = GameObject.CreatePrimitive(PrimitiveType.Cube); + else poiGO = Object.Instantiate(poi.prefab); + + poiGO.AddComponent().SetPrefs(poi); + poiGO.name = poi.title; + poiGO.transform.parent = poiContainer.transform; + poiGO.transform.position = pos; + + if (poi.prefab == null) poiGO.GetComponent().sharedMaterial.color = Color.red; + } + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainFinishPhase.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainFinishPhase.cs.meta new file mode 100644 index 000000000..bcf643717 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainFinishPhase.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7c223361585aa394ab039785cc0872f0 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateBuildingsPhase.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateBuildingsPhase.cs new file mode 100644 index 000000000..eabe4c18c --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateBuildingsPhase.cs @@ -0,0 +1,58 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using InfinityCode.RealWorldTerrain.Generators; +using InfinityCode.RealWorldTerrain.Windows; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Phases +{ + public class RealWorldTerrainGenerateBuildingsPhase : RealWorldTerrainPhase + { + public override string title + { + get { return "Generate Buildings..."; } + } + + public override void Enter() + { + try + { + if (prefs.buildingGenerator == 0) + { + RealWorldTerrainBuildingGenerator.Generate(RealWorldTerrainWindow.container); + } + else if (prefs.buildingGenerator == 1) + { + Debug.LogWarning("BuildR v1.x is no longer supported."); + phaseComplete = true; + } + else if (prefs.buildingGenerator == 2) + { + RealWorldTerrainBuildR2Generator.Generate(RealWorldTerrainWindow.container); + } + else if (prefs.buildingGenerator == 3) + { + RealWorldTerrainBuildingPrefabGenerator.Generate(RealWorldTerrainWindow.container); + } + else if (prefs.buildingGenerator == 4) + { + RealWorldTerrainProceduralToolkitBuildingGenerator.Generate(RealWorldTerrainWindow.container); + } + else if (prefs.buildingGenerator == 5) + { + RealWorldTerrainBuildR3Generator.Generate(RealWorldTerrainWindow.container); + } + + progress = phaseProgress; + if (phaseComplete) Complete(); + } + catch (Exception exception) + { + Debug.LogException(exception); + throw; + } + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateBuildingsPhase.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateBuildingsPhase.cs.meta new file mode 100644 index 000000000..79ed6de41 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateBuildingsPhase.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fcd5e8f623618b642b6da944880f3233 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateGaiaStampPhase.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateGaiaStampPhase.cs new file mode 100644 index 000000000..d811c9966 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateGaiaStampPhase.cs @@ -0,0 +1,245 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +#if GAIA_PRESENT || GAIA_PRO_PRESENT || GAIA_2_PRESENT || GAIA_2023 + +#if !GAIA_PRO_PRESENT && !GAIA_2_PRESENT && !GAIA_2023 +#define OLD_GAIA +#endif + +using System; +using System.IO; +using System.Linq; +using System.Reflection; +using Gaia; +using InfinityCode.RealWorldTerrain.Generators; +using UnityEditor; +using UnityEngine; +using Object = UnityEngine.Object; + +namespace InfinityCode.RealWorldTerrain.Phases +{ + public class RealWorldTerrainGenerateGaiaStampPhase : RealWorldTerrainPhase + { + private Scanner scanner; + private Stamper stamper; + + public override string title + { + get { return "Generate Gaia Stamp..."; } + } + + public override void Enter() + { + try + { + RealWorldTerrainGaiaStampGenerator.Generate(); + } + catch + { + phaseComplete = true; + } + if (!phaseComplete) return; + +#if OLD_GAIA + string basesDir = "Assets/Gaia/Stamps/Bases/"; + + if (!Directory.Exists(basesDir)) Directory.CreateDirectory(basesDir); + + string basesDataDir = basesDir + "Data/"; + if (!Directory.Exists(basesDataDir)) Directory.CreateDirectory(basesDataDir); +#endif + + GaiaConstants.RawBitDepth bd = GaiaConstants.RawBitDepth.Sixteen; + int resolution = 0; + scanner.LoadRawFile(RealWorldTerrainGaiaStampGenerator.fullFilename, GaiaConstants.RawByteOrder.IBM, ref bd, ref resolution); + +#if OLD_GAIA + scanner.m_featureType = GaiaConstants.FeatureType.Bases; +#else + scanner.m_exportFolder = GaiaDirectories.GetScannerExportDirectory(); + scanner.m_exportFileName = RealWorldTerrainGaiaStampGenerator.shortFilename; + scanner.m_baseLevel = 0; +#endif + scanner.SaveScan(); + + AssetDatabase.Refresh(); + + Selection.activeGameObject = stamper.gameObject; +#if OLD_GAIA + stamper.LoadStamp(basesDir + RealWorldTerrainGaiaStampGenerator.shortFilename + ".jpg"); +#else + string maskFilename = GaiaDirectories.GetScannerExportDirectory() + "/" + RealWorldTerrainGaiaStampGenerator.shortFilename + ".exr"; + Texture2D maskTexture = AssetDatabase.LoadAssetAtPath(maskFilename); + stamper.m_settings.m_imageMasks = new[] + { + new ImageMask + { + ImageMaskTexture = maskTexture + } + }; + stamper.m_seaLevel = 0; + + float maxElevation = RealWorldTerrainGeo.MAX_ELEVATION; + float minElevation = -RealWorldTerrainGeo.MAX_ELEVATION; + + if (prefs.elevationRange == RealWorldTerrainElevationRange.autoDetect) + { + double maxEl, minEl; + RealWorldTerrainElevationGenerator.GetElevationRange(out minEl, out maxEl); + maxElevation = (float)maxEl + prefs.autoDetectElevationOffset.y; + minElevation = (float)minEl - prefs.autoDetectElevationOffset.x; + } + else if (prefs.elevationRange == RealWorldTerrainElevationRange.fixedValue) + { + maxElevation = prefs.fixedMaxElevation; + minElevation = prefs.fixedMinElevation; + } + + float sY = (maxElevation - minElevation) / 1000; + + stamper.transform.localScale = new Vector3(100, sY, 100); +#endif + + Complete(); + } + + public override void Finish() + { + if (scanner != null && scanner.gameObject != null) Object.DestroyImmediate(scanner.gameObject); + + scanner = null; + stamper = null; + } + + private static string GetAssetPath(string name) + { + string[] assets = AssetDatabase.FindAssets(name, null); + if (assets.Length > 0) + { + return AssetDatabase.GUIDToAssetPath(assets[0]); + } + return null; + } + + private static GaiaSettings GetSettingsAsset() + { + Assembly[] assemblies = System.AppDomain.CurrentDomain.GetAssemblies(); + Assembly gaiaEditorAssembly = assemblies.FirstOrDefault(a => a.GetName().Name == "GaiaEditor"); + if (gaiaEditorAssembly == null) return null; + + Type gaiaManagerEditorType = gaiaEditorAssembly.GetType("Gaia.GaiaManagerEditor"); + if (gaiaManagerEditorType == null) return null; + + MethodInfo createSettingsAssetMethod = gaiaManagerEditorType.GetMethod("CreateSettingsAsset", BindingFlags.Static | BindingFlags.Public); + if (createSettingsAssetMethod == null) return null; + + return createSettingsAssetMethod.Invoke(null, null) as GaiaSettings; + } + + [MenuItem("test/test" )] + private static void Test() + { + GetSettingsAsset(); + } + + public override void Start() + { + try + { + GaiaSessionManager.GetSessionManager(); +#if OLD_GAIA + GaiaSettings m_settings = (GaiaSettings)Gaia.Utils.GetAssetScriptableObject("GaiaSettings"); +#else + GaiaSettings m_settings = (GaiaSettings)GaiaUtils.GetAssetScriptableObject("GaiaSettings"); +#endif + + if (m_settings == null) m_settings = GetSettingsAsset(); + + GaiaDefaults m_defaults = m_settings.m_currentDefaults; + + if (TerrainHelper.GetActiveTerrainCount() == 0) + { +#if OLD_GAIA + GaiaResource m_resources = m_settings.m_currentResources; + m_defaults.CreateTerrain(m_resources); +#else + WorldCreationSettings worldCreationSettings = ScriptableObject.CreateInstance(); + worldCreationSettings.m_xTiles = m_settings.m_tilesX; + worldCreationSettings.m_zTiles = m_settings.m_tilesZ; + worldCreationSettings.m_tileSize = m_settings.m_currentDefaults.m_terrainSize; + worldCreationSettings.m_tileHeight = m_settings.m_tilesX * worldCreationSettings.m_tileSize; + worldCreationSettings.m_createInScene = m_settings.m_createTerrainScenes; + worldCreationSettings.m_autoUnloadScenes = m_settings.m_unloadTerrainScenes; + worldCreationSettings.m_applyFloatingPointFix = m_settings.m_floatingPointFix; + + Type gsm = typeof(GaiaSessionManager); + + MethodInfo createWorldMethod = gsm.GetMethod("CreateWorld", BindingFlags.Static | BindingFlags.Public, null, new[]{typeof(WorldCreationSettings), typeof(bool) }, null); + if (createWorldMethod != null) + { + createWorldMethod.Invoke(null, new object[] { worldCreationSettings, true }); + } + else + { + createWorldMethod = gsm.GetMethod("CreateOrUpdateWorld", BindingFlags.Static | BindingFlags.Public, null, new[] { typeof(WorldCreationSettings), typeof(bool), typeof(bool) }, null); + if (createWorldMethod != null) + { + createWorldMethod.Invoke(null, new object[] { worldCreationSettings, true, false }); + } + else + { + phaseComplete = true; + NextPhase(); + return; + } + } + +#if GAIA_PRO_PRESENT + WorldOriginEditor.m_sessionManagerExits = true; +#endif +#endif + } + + GameObject gaiaObj = GameObject.Find("Gaia"); + if (gaiaObj == null) gaiaObj = GameObject.Find("Gaia Tools"); + if (gaiaObj == null) gaiaObj = new GameObject("Gaia"); + + GameObject stamperObj = GameObject.Find("Stamper"); + if (stamperObj == null) + { + stamperObj = new GameObject("Stamper"); + stamperObj.transform.parent = gaiaObj.transform; + stamper = stamperObj.AddComponent(); + stamper.FitToTerrain(); +#if OLD_GAIA + stamper.m_resources = m_resources; + stamperObj.transform.position = new Vector3(stamper.m_x, stamper.m_y, stamper.m_z); +#endif + } + else stamper = stamperObj.GetComponent(); + + GameObject scannerObj = GameObject.Find("Scanner"); + if (scannerObj == null) + { + scannerObj = new GameObject("Scanner"); + scannerObj.transform.parent = gaiaObj.transform; + scannerObj.transform.position = TerrainHelper.GetActiveTerrainCenter(false); + scanner = scannerObj.AddComponent(); + + string matPath = GetAssetPath("GaiaScannerMaterial"); + if (!string.IsNullOrEmpty(matPath)) scanner.m_previewMaterial = AssetDatabase.LoadAssetAtPath(matPath); + } + else scanner = scannerObj.GetComponent(); + } + catch (Exception e) + { + Debug.LogError(e.Message + "\n" + e.StackTrace); + phaseComplete = true; + NextPhase(); + } + } + } +} + +#endif \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateGaiaStampPhase.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateGaiaStampPhase.cs.meta new file mode 100644 index 000000000..78015e87d --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateGaiaStampPhase.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c72eb9758d8a7aa4f9b79f6a264534ef +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateGrassPhase.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateGrassPhase.cs new file mode 100644 index 000000000..cf4ef81f9 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateGrassPhase.cs @@ -0,0 +1,30 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using InfinityCode.RealWorldTerrain.Generators; +using InfinityCode.RealWorldTerrain.Windows; + +namespace InfinityCode.RealWorldTerrain.Phases +{ + public class RealWorldTerrainGenerateGrassPhase : RealWorldTerrainPhase + { + public override string title + { + get { return "Generate Grass..."; } + } + + public override void Enter() + { + if (prefs.grassEngine == "Standard") RealWorldTerrainGrassGenerator.Generate(RealWorldTerrainWindow.container); +#if VOLUMEGRASS + else if (prefs.grassEngine == "Volume Grass") RealWorldTerrainVolumeGrassGenerator.Generate(RealWorldTerrainWindow.container); +#endif +#if VEGETATION_STUDIO || VEGETATION_STUDIO_PRO + else if (prefs.grassEngine == "Vegetation Studio") RealWorldTerrainVegetationStudioGrassGenerator.Generate(RealWorldTerrainWindow.container); +#endif + + progress = phaseProgress; + if (phaseComplete) Complete(); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateGrassPhase.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateGrassPhase.cs.meta new file mode 100644 index 000000000..7c7f7f1c7 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateGrassPhase.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f4163ede92e98de49af0e8088305e9dc +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateHeightmapsPhase.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateHeightmapsPhase.cs new file mode 100644 index 000000000..374605409 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateHeightmapsPhase.cs @@ -0,0 +1,48 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using InfinityCode.RealWorldTerrain.Generators; + +namespace InfinityCode.RealWorldTerrain.Phases +{ + public class RealWorldTerrainGenerateHeightmapsPhase : RealWorldTerrainPhase + { + public override string title + { + get { return "Generate Heightmaps..."; } + } + + public override void Enter() + { + if (index >= terrainCount) + { + Complete(); + return; + } + + int x = index % prefs.terrainCount.x; + int y = index / prefs.terrainCount.x; + + progress = (index + phaseProgress) / terrainCount; + + RealWorldTerrainElevationGenerator.GenerateHeightMap(terrains[x, y]); + + if (phaseComplete) + { + index++; + phaseProgress = 0; + phaseComplete = false; + } + } + + public override void Finish() + { + RealWorldTerrainElevationGenerator.tdataHeightmap = null; + } + + public override void Start() + { + RealWorldTerrainElevationGenerator.tdataHeightmap = null; + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateHeightmapsPhase.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateHeightmapsPhase.cs.meta new file mode 100644 index 000000000..e7aee064f --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateHeightmapsPhase.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cdff2448d7df0674abd08be41a688789 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateMeshVerticesPhase.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateMeshVerticesPhase.cs new file mode 100644 index 000000000..d6c0ee17c --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateMeshVerticesPhase.cs @@ -0,0 +1,38 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using InfinityCode.RealWorldTerrain.Generators; + +namespace InfinityCode.RealWorldTerrain.Phases +{ + public class RealWorldTerrainGenerateMeshVerticesPhase : RealWorldTerrainPhase + { + public override string title + { + get { return "Generate mesh vertices..."; } + } + + public override void Enter() + { + if (index >= terrainCount) + { + Complete(); + return; + } + + int x = index % prefs.terrainCount.x; + int y = index / prefs.terrainCount.x; + + progress = (index + phaseProgress) / terrainCount; + + RealWorldTerrainMeshGenerator.GenerateVertices(terrains[x, y]); + + if (phaseComplete) + { + index++; + phaseProgress = 0; + phaseComplete = false; + } + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateMeshVerticesPhase.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateMeshVerticesPhase.cs.meta new file mode 100644 index 000000000..3a18512a9 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateMeshVerticesPhase.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 0bc7e14adc0cab64dad8b84e84696666 +timeCreated: 1520680857 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateMeshesPhase.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateMeshesPhase.cs new file mode 100644 index 000000000..5520de39e --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateMeshesPhase.cs @@ -0,0 +1,44 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using InfinityCode.RealWorldTerrain.Generators; +using UnityEditor; + +namespace InfinityCode.RealWorldTerrain.Phases +{ + public class RealWorldTerrainGenerateMeshesPhase : RealWorldTerrainPhase + { + public override string title + { + get { return "Generate meshes..."; } + } + + public override void Enter() + { + if (index >= terrainCount) + { + Complete(); + return; + } + + int x = index % prefs.terrainCount.x; + int y = index / prefs.terrainCount.x; + + progress = (index + phaseProgress) / terrainCount; + + RealWorldTerrainMeshGenerator.GenerateMesh(terrains[x, y]); + + if (phaseComplete) + { + index++; + phaseProgress = 0; + phaseComplete = false; + } + } + + public override void Finish() + { + AssetDatabase.Refresh(); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateMeshesPhase.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateMeshesPhase.cs.meta new file mode 100644 index 000000000..76089ca7e --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateMeshesPhase.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 9487afc388f5f3b42b888fc6b8065e67 +timeCreated: 1520680858 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateRAWPhase.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateRAWPhase.cs new file mode 100644 index 000000000..58fdd9e81 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateRAWPhase.cs @@ -0,0 +1,23 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using InfinityCode.RealWorldTerrain.Generators; + +namespace InfinityCode.RealWorldTerrain.Phases +{ + public class RealWorldTerrainGenerateRAWPhase : RealWorldTerrainPhase + { + public override string title + { + get { return "Generate RAW..."; } + } + + public override void Enter() + { + RealWorldTerrainRAWGenerator.Generate(); + if (!phaseComplete) return; + + Complete(); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateRAWPhase.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateRAWPhase.cs.meta new file mode 100644 index 000000000..e4bc57dee --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateRAWPhase.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6196f8e1ae82c9745b3c762ce31a04e7 +timeCreated: 1520680857 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateRiversPhase.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateRiversPhase.cs new file mode 100644 index 000000000..044895118 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateRiversPhase.cs @@ -0,0 +1,24 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using InfinityCode.RealWorldTerrain.Generators; +using InfinityCode.RealWorldTerrain.Windows; + +namespace InfinityCode.RealWorldTerrain.Phases +{ + public class RealWorldTerrainGenerateRiversPhase : RealWorldTerrainPhase + { + public override string title + { + get { return "Generate Rivers..."; } + } + + public override void Enter() + { + RealWorldTerrainRiverGenerator.Generate(RealWorldTerrainWindow.container); + + progress = phaseProgress; + if (phaseComplete) Complete(); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateRiversPhase.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateRiversPhase.cs.meta new file mode 100644 index 000000000..b34ba61ae --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateRiversPhase.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 4cb2ce2649497e04fa141026ece07e0c +timeCreated: 1547585954 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateRoadsPhase.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateRoadsPhase.cs new file mode 100644 index 000000000..1af9a4018 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateRoadsPhase.cs @@ -0,0 +1,24 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using InfinityCode.RealWorldTerrain.Generators; +using InfinityCode.RealWorldTerrain.Windows; + +namespace InfinityCode.RealWorldTerrain.Phases +{ + public class RealWorldTerrainGenerateRoadsPhase : RealWorldTerrainPhase + { + public override string title + { + get { return "Generate Roads..."; } + } + + public override void Enter() + { + RealWorldTerrainRoadGenerator.Generate(RealWorldTerrainWindow.container); + progress = phaseProgress; + + if (phaseComplete) Complete(); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateRoadsPhase.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateRoadsPhase.cs.meta new file mode 100644 index 000000000..0736e7086 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateRoadsPhase.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2f960ac2d09fe094f9eba6c1bc8c01c6 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateTerrainsPhase.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateTerrainsPhase.cs new file mode 100644 index 000000000..c6daf125d --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateTerrainsPhase.cs @@ -0,0 +1,323 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.IO; +using System.Text.RegularExpressions; +using InfinityCode.RealWorldTerrain.Generators; +using InfinityCode.RealWorldTerrain.Windows; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Phases +{ + public class RealWorldTerrainGenerateTerrainsPhase : RealWorldTerrainPhase + { + public static RealWorldTerrainItem activeTerrainItem; + private RealWorldTerrainContainer container; + private double maxElevation; + private double minElevation; + private Vector3 size; + private Vector3 scale; + + public override string title + { + get { return "Generate Terrains..."; } + } + + private static RealWorldTerrainItem AddTerrainItem(int x, int y, double x1, double y1, double x2, double y2, Vector3 size, Vector3 scale, double maxElevation, double minElevation, GameObject GO) + { + RealWorldTerrainItem item = GO.AddComponent(); + prefs.Apply(item); + + double tlx, tly, brx, bry; + RealWorldTerrainGeo.MercatToLatLong(x1, y1, out tlx, out tly); + RealWorldTerrainGeo.MercatToLatLong(x2, y2, out brx, out bry); + + item.SetCoordinates(x1, y1, x2, y2, tlx, tly, brx, bry); + item.maxElevation = maxElevation; + item.minElevation = minElevation; + item.scale = scale; + item.size = size; + item.x = x; + item.ry = prefs.terrainCount.y - y - 1; + item.y = y; + + activeTerrainItem = item; + + return item; + } + + private RealWorldTerrainItem CreateMesh(Transform parent, int x, int y, double x1, double y1, double x2, double y2, Vector3 size, Vector3 scale, double maxElevation, double minElevation) + { + GameObject GO = new GameObject(); + GO.transform.parent = parent; + GO.transform.localPosition = new Vector3(size.x * x, 0, size.z * y); + + RealWorldTerrainItem item = AddTerrainItem(x, y, x1, y1, x2, y2, size, scale, maxElevation, minElevation, GO); + GO.name = Regex.Replace(RealWorldTerrainPrefs.LoadPref("TerrainName", "Terrain {x}x{y}"), @"{\w+}", ReplaceTerrainToken); + return item; + } + + private RealWorldTerrainItem CreateTerrain(Transform parent, int x, int y, double x1, double y1, double x2, double y2, Vector3 size, Vector3 scale, double maxElevation, double minElevation) + { + TerrainData tdata = new TerrainData + { + baseMapResolution = prefs.baseMapResolution, + heightmapResolution = prefs.heightmapResolution, + alphamapResolution = prefs.controlTextureResolution + }; + tdata.SetDetailResolution(prefs.detailResolution, prefs.resolutionPerPatch); + tdata.size = size; + + GameObject GO = Terrain.CreateTerrainGameObject(tdata); + GO.transform.parent = parent; + GO.transform.localPosition = new Vector3(size.x * x, 0, size.z * y); + GameObjectUtility.SetStaticEditorFlags(GO, GameObjectUtility.GetStaticEditorFlags(GO) & ~StaticEditorFlags.ContributeGI); + + RealWorldTerrainItem item = AddTerrainItem(x, y, x1, y1, x2, y2, size, scale, maxElevation, minElevation, GO); + item.terrain = GO.GetComponent(); + GO.name = Regex.Replace(RealWorldTerrainPrefs.LoadPref("TerrainName", "Terrain {x}x{y}"), @"{\w+}", ReplaceTerrainToken); + + string filename = Path.Combine(container.folder, GO.name) + ".asset"; + AssetDatabase.CreateAsset(tdata, filename); + AssetDatabase.SaveAssets(); + + return item; + } + + public override void Enter() + { + if (index >= prefs.terrainCount) + { + Complete(); + return; + } + + RealWorldTerrainVector2i tCount = prefs.terrainCount; + int x = index % tCount.x; + int y = index / tCount.x; + + double fromX = prefs.leftLongitude; + double fromY = prefs.topLatitude; + double toX = prefs.rightLongitude; + double toY = prefs.bottomLatitude; + + RealWorldTerrainGeo.LatLongToMercat(ref fromX, ref fromY); + RealWorldTerrainGeo.LatLongToMercat(ref toX, ref toY); + + double tx1 = (toX - fromX) * (x / (double)tCount.x) + fromX; + double ty1 = toY - (toY - fromY) * ((y + 1) / (double)tCount.y); + double tx2 = (toX - fromX) * ((x + 1) / (double)tCount.x) + fromX; + double ty2 = toY - (toY - fromY) * (y / (double)tCount.y); + + int tIndex = y * tCount.x + x; + progress = index / (float)tCount; + + if (prefs.resultType == RealWorldTerrainResultType.terrain) + { + terrains[x, y] = container.terrains[tIndex] = CreateTerrain(container.transform, x, y, tx1, ty1, tx2, ty2, size, scale, maxElevation, minElevation); + } + else if (prefs.resultType == RealWorldTerrainResultType.mesh) + { + terrains[x, y] = container.terrains[tIndex] = CreateMesh(container.transform, x, y, tx1, ty1, tx2, ty2, size, scale, maxElevation, minElevation); + } + + container.terrains[tIndex].container = container; + index++; + } + + public override void Finish() + { + activeTerrainItem = null; + container = null; + } + + private string ReplaceResultToken(Match match) + { + string v = match.Value.ToLower().Trim('{', '}'); + if (v == "title") return prefs.title; + if (v == "tllat") return prefs.topLatitude.ToString(); + if (v == "tllng") return prefs.leftLongitude.ToString(); + if (v == "brlat") return prefs.bottomLatitude.ToString(); + if (v == "brlng") return prefs.rightLongitude.ToString(); + if (v == "cx") return prefs.terrainCount.x.ToString(); + if (v == "cy") return prefs.terrainCount.y.ToString(); + if (v == "st") return prefs.sizeType.ToString(); + if (v == "me") return prefs.maxElevationType.ToString(); + if (v == "mu") return prefs.nodataValue.ToString(); + if (v == "ds") return prefs.depthSharpness.ToString(); + if (v == "dr") return prefs.detailResolution.ToString(); + if (v == "rpp") return prefs.resolutionPerPatch.ToString(); + if (v == "bmr") return prefs.baseMapResolution.ToString(); + if (v == "hmr") return prefs.heightmapResolution.ToString(); + if (v == "tp") return prefs.textureProvider.ToString(); + if (v == "tw") return prefs.textureSize.x.ToString(); + if (v == "th") return prefs.textureSize.y.ToString(); + if (v == "tml") return prefs.maxTextureLevel.ToString(); + if (v == "ticks") return DateTime.Now.Ticks.ToString(); + return v; + } + + private string ReplaceTerrainToken(Match match) + { + string v = match.Value.ToLower().Trim('{', '}'); + if (v == "tllat") return activeTerrainItem.topLatitude.ToString(); + if (v == "tllng") return activeTerrainItem.leftLongitude.ToString(); + if (v == "brlat") return activeTerrainItem.bottomLatitude.ToString(); + if (v == "brlng") return activeTerrainItem.rightLongitude.ToString(); + if (v == "x") return activeTerrainItem.x.ToString(); + if (v == "y") return activeTerrainItem.ry.ToString(); + + return v; + } + + public override void Start() + { + string resultFolder = "Assets/RWT_Result"; + string resultFullPath = Path.Combine(Application.dataPath, "RWT_Result"); + if (!Directory.Exists(resultFullPath)) Directory.CreateDirectory(resultFullPath); + string dateStr = DateTime.Now.ToString("yyyy-MM-dd HH-mm"); + resultFolder += "/" + dateStr; + resultFullPath = Path.Combine(resultFullPath, dateStr); + if (!Directory.Exists(resultFullPath)) Directory.CreateDirectory(resultFullPath); + else + { + int index = 1; + while (true) + { + string path = resultFullPath + "_" + index; + if (!Directory.Exists(path)) + { + Directory.CreateDirectory(path); + resultFolder += "_" + index; + break; + } + index++; + } + } + + const float scaleYCoof = 1000; + const float baseScale = 1000; + + double fromX = prefs.leftLongitude; + double fromY = prefs.topLatitude; + double toX = prefs.rightLongitude; + double toY = prefs.bottomLatitude; + + double rangeX = toX - fromX; + double rangeY = fromY - toY; + + RealWorldTerrainVector2i tCount = prefs.terrainCount; + + double sizeX = 0; + double sizeZ = 0; + + if (prefs.sizeType == 0 || prefs.sizeType == 2) + { + double scfY = Math.Sin(fromY * Mathf.Deg2Rad); + double sctY = Math.Sin(toY * Mathf.Deg2Rad); + double ccfY = Math.Cos(fromY * Mathf.Deg2Rad); + double cctY = Math.Cos(toY * Mathf.Deg2Rad); + double cX = Math.Cos(rangeX * Mathf.Deg2Rad); + double sizeX1 = Math.Abs(RealWorldTerrainGeo.EARTH_RADIUS * Math.Acos(scfY * scfY + ccfY * ccfY * cX)); + double sizeX2 = Math.Abs(RealWorldTerrainGeo.EARTH_RADIUS * Math.Acos(sctY * sctY + cctY * cctY * cX)); + sizeX = (sizeX1 + sizeX2) / 2.0; + sizeZ = RealWorldTerrainGeo.EARTH_RADIUS * Math.Acos(scfY * sctY + ccfY * cctY); + } + else if (prefs.sizeType == 1) + { + sizeX = Math.Abs(rangeX / 360 * RealWorldTerrainGeo.EQUATOR_LENGTH); + sizeZ = Math.Abs(rangeY / 360 * RealWorldTerrainGeo.EQUATOR_LENGTH); + } + + maxElevation = RealWorldTerrainGeo.MAX_ELEVATION; + minElevation = -RealWorldTerrainGeo.MAX_ELEVATION; + + double sX = sizeX / tCount.x * baseScale * prefs.terrainScale.x; + double sY; + double sZ = sizeZ / tCount.y * baseScale * prefs.terrainScale.z; + + if (prefs.elevationRange == RealWorldTerrainElevationRange.autoDetect) + { + double maxEl, minEl; + RealWorldTerrainElevationGenerator.GetElevationRange(out minEl, out maxEl); + if (prefs.generateUnderWater && prefs.nodataValue != 0 && minEl > prefs.nodataValue) minEl = prefs.nodataValue; + maxElevation = maxEl + prefs.autoDetectElevationOffset.y; + minElevation = minEl - prefs.autoDetectElevationOffset.x; + } + else if (prefs.elevationRange == RealWorldTerrainElevationRange.fixedValue) + { + maxElevation = prefs.fixedMaxElevation; + minElevation = prefs.fixedMinElevation; + } + + sY = (maxElevation - minElevation) / scaleYCoof * baseScale * prefs.terrainScale.y; + + if (prefs.sizeType == 2) + { + double scaleX = sX / prefs.fixedTerrainSize.x; + double scaleZ = sZ / prefs.fixedTerrainSize.z; + sX = prefs.fixedTerrainSize.x; + sZ = prefs.fixedTerrainSize.z; + if (prefs.elevationRange == RealWorldTerrainElevationRange.fixedValue) sY = maxElevation - minElevation; + else sY /= (scaleX + scaleZ) / 2; + } + + sX = Math.Round(sX); + sY = Math.Round(sY); + sZ = Math.Round(sZ); + + if (sY < 1) sY = 1; + + RealWorldTerrainWindow.terrains = new RealWorldTerrainItem[tCount.x, tCount.y]; + scale = new Vector3((float)(sX * tCount.x / rangeX), (float)(sY / (maxElevation - minElevation)), (float)(sZ * tCount.y / rangeY)); + + string baseName = Regex.Replace(RealWorldTerrainPrefs.LoadPref("ResultName", "RealWorld Terrain"), @"{\w+}", ReplaceResultToken); + string containerName = baseName; + + if (RealWorldTerrainPrefs.LoadPref("AppendIndex", true)) + { + int nameIndex = 0; + + while (GameObject.Find("/" + containerName)) + { + nameIndex++; + containerName = baseName + " " + nameIndex; + } + } + + size = new Vector3((float)sX, (float)sY, (float)sZ); + + container = RealWorldTerrainWindow.container = new GameObject(containerName).AddComponent(); + prefs.Apply(container); + + double mx1, my1, mx2, my2; + RealWorldTerrainGeo.LatLongToMercat(fromX, fromY, out mx1, out my1); + RealWorldTerrainGeo.LatLongToMercat(toX, toY, out mx2, out my2); + + container.SetCoordinates(mx1, my1, mx2, my2, fromX, fromY, toX, toY); + container.folder = resultFolder; + container.scale = scale; + container.size = new Vector3(size.x * tCount.x, size.y, size.z * tCount.y); + container.terrainCount = prefs.terrainCount; + container.terrains = new RealWorldTerrainItem[prefs.terrainCount.x * prefs.terrainCount.y]; + container.minElevation = minElevation; + container.maxElevation = maxElevation; + container.title = prefs.title; + + if (prefs.useAnchor) + { + RealWorldTerrainGeo.LatLongToMercat(prefs.anchorLongitude, prefs.anchorLatitude, out mx1, out my1); + Vector3 p = RealWorldTerrainEditorUtils.CoordsToWorld(mx1, 0, my1, container); + container.transform.position = -p; + } + + if (prefs.alignWaterLine) + { + Vector3 p = new Vector3(0, -(float)minElevation * scale.y, 0); + container.transform.position -= p; + } + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateTerrainsPhase.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateTerrainsPhase.cs.meta new file mode 100644 index 000000000..06f36d485 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateTerrainsPhase.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ac4f0b6898856b6449487f9d46d82c1a +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateTexturesPhase.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateTexturesPhase.cs new file mode 100644 index 000000000..4be023e2b --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateTexturesPhase.cs @@ -0,0 +1,46 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using InfinityCode.RealWorldTerrain.Generators; + +namespace InfinityCode.RealWorldTerrain.Phases +{ + public class RealWorldTerrainGenerateTexturesPhase : RealWorldTerrainPhase + { + public override string title + { + get { return "Generate Textures..."; } + } + + public override void Enter() + { + if (index >= terrainCount) + { + Complete(); + return; + } + + int x = index % prefs.terrainCount.x; + int y = index / prefs.terrainCount.x; + + progress = (index + phaseProgress) / terrainCount; + + if (prefs.textureResultType == RealWorldTerrainTextureResultType.regularTexture) RealWorldTerrainTextureGenerator.GenerateTexture(terrains[x, y]); + else if (prefs.textureResultType == RealWorldTerrainTextureResultType.hugeTexture) RealWorldTerrainTextureGenerator.GenerateHugeTexture(terrains[x, y]); + else if (prefs.textureResultType == RealWorldTerrainTextureResultType.terrainLayers) RealWorldTerrainTerrainLayersGenerator.Generate(terrains[x, y]); + else phaseComplete = true; + + if (phaseComplete) + { + index++; + phaseProgress = 0; + phaseComplete = false; + } + } + + public override void Finish() + { + RealWorldTerrainTextureGenerator.colors = null; + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateTexturesPhase.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateTexturesPhase.cs.meta new file mode 100644 index 000000000..ca228d757 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateTexturesPhase.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bd359909a1fc9fd4b90aa0bfd3e62f57 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateTreesPhase.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateTreesPhase.cs new file mode 100644 index 000000000..381066280 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateTreesPhase.cs @@ -0,0 +1,35 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using InfinityCode.RealWorldTerrain.Generators; +using InfinityCode.RealWorldTerrain.Windows; + +namespace InfinityCode.RealWorldTerrain.Phases +{ + public class RealWorldTerrainGenerateTreesPhase : RealWorldTerrainPhase + { + public override string title + { + get { return "Generate Trees..."; } + } + + public override void Enter() + { + if (prefs.treeEngine == "Standard") + { + RealWorldTerrainTreesGenerator.Generate(RealWorldTerrainWindow.container); + } +#if VEGETATION_STUDIO || VEGETATION_STUDIO_PRO + else if (prefs.treeEngine == "Vegetation Studio") + { + RealWorldTerrainVegetationStudioTreesGenerator.Generate(RealWorldTerrainWindow.container); + } +#endif + else phaseComplete = true; + + progress = phaseProgress; + + if (phaseComplete) Complete(); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateTreesPhase.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateTreesPhase.cs.meta new file mode 100644 index 000000000..18757d7cf --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainGenerateTreesPhase.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f30543e4617f934478ee091cda28a262 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainInstantiateMeshesPhase.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainInstantiateMeshesPhase.cs new file mode 100644 index 000000000..c45803bbe --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainInstantiateMeshesPhase.cs @@ -0,0 +1,38 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using InfinityCode.RealWorldTerrain.Generators; + +namespace InfinityCode.RealWorldTerrain.Phases +{ + public class RealWorldTerrainInstantiateMeshesPhase : RealWorldTerrainPhase + { + public override string title + { + get { return "Instantiate meshes..."; } + } + + public override void Enter() + { + if (index >= terrainCount) + { + Complete(); + return; + } + + int x = index % prefs.terrainCount.x; + int y = index / prefs.terrainCount.x; + + progress = (index + phaseProgress) / terrainCount; + + RealWorldTerrainMeshGenerator.InstantiateMeshes(terrains[x, y]); + + if (phaseComplete) + { + index++; + phaseProgress = 0; + phaseComplete = false; + } + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainInstantiateMeshesPhase.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainInstantiateMeshesPhase.cs.meta new file mode 100644 index 000000000..e2eb1f3f7 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainInstantiateMeshesPhase.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6b1731eb12ebdec4e9383a9e6e6afc37 +timeCreated: 1520680858 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainLoadHeightmapPhase.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainLoadHeightmapPhase.cs new file mode 100644 index 000000000..31fd45aea --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainLoadHeightmapPhase.cs @@ -0,0 +1,77 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System; +using InfinityCode.RealWorldTerrain.Generators; +using InfinityCode.RealWorldTerrain.Windows; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Phases +{ + public class RealWorldTerrainLoadHeightmapPhase : RealWorldTerrainPhase + { + public override string title + { + get { return "Load Elevations..."; } + } + + public override void Enter() + { + try + { + if (prefs.elevationProvider == RealWorldTerrainElevationProvider.SRTM) + { + for (index = 0; index < RealWorldTerrainElevationGenerator.elevations.Count; index++) + { + RealWorldTerrainElevationGenerator activeElevation = RealWorldTerrainElevationGenerator.elevations[index]; + ((RealWorldTerrainSRTMElevationGenerator)activeElevation).ParseHeightmap(); + if (!isCapturing) return; + } + } + else if (prefs.elevationProvider == RealWorldTerrainElevationProvider.BingMaps) + { + if (!RealWorldTerrainBingElevationGenerator.Load()) + { + RealWorldTerrainWindow.CancelCapture(); + Debug.LogError("Cannot load elevation map"); + return; + } + } + /*else if (prefs.elevationProvider == RealWorldTerrainElevationProvider.ArcGIS) + { + if (!RealWorldTerrainArcGISElevationGenerator.Load()) + { + RealWorldTerrainWindow.CancelCapture(); + Debug.LogError("Cannot load elevation map"); + return; + } + }*/ + else if (prefs.elevationProvider == RealWorldTerrainElevationProvider.Mapbox) + { + if (!RealWorldTerrainMapboxElevationGenerator.Load()) + { + RealWorldTerrainWindow.CancelCapture(); + Debug.LogError("Cannot load elevation map"); + return; + } + } + else if (prefs.elevationProvider == RealWorldTerrainElevationProvider.SRTM30) + { + for (index = 0; index < RealWorldTerrainElevationGenerator.elevations.Count; index++) + { + RealWorldTerrainElevationGenerator activeElevation = RealWorldTerrainElevationGenerator.elevations[index]; + ((RealWorldTerrainSRTM30ElevationGenerator)activeElevation).ParseHeightmap(); + if (!isCapturing) return; + } + } + + Complete(); + } + catch (Exception exception) + { + Debug.LogException(exception); + RealWorldTerrainWindow.CancelCapture(); + } + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainLoadHeightmapPhase.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainLoadHeightmapPhase.cs.meta new file mode 100644 index 000000000..f6bca5978 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainLoadHeightmapPhase.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d0054e24c99e3a94f86188cc28422081 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainLoadTerrainsPhase.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainLoadTerrainsPhase.cs new file mode 100644 index 000000000..4d4566435 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainLoadTerrainsPhase.cs @@ -0,0 +1,63 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using InfinityCode.RealWorldTerrain.Windows; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Phases +{ + public class RealWorldTerrainLoadTerrainsPhase : RealWorldTerrainPhase + { + public override string title + { + get { return "Load Terrains..."; } + } + + public override void Enter() + { + RealWorldTerrainMonoBase target = RealWorldTerrainWindow.generateTarget; + if (target == null) Complete(); + + RealWorldTerrainContainer container = target as RealWorldTerrainContainer; + + if (container != null) + { + RealWorldTerrainWindow.container = container; + RealWorldTerrainWindow.terrains = new RealWorldTerrainItem[RealWorldTerrainWindow.container.terrainCount.x, RealWorldTerrainWindow.container.terrainCount.y]; + for (int i = 0; i < container.terrains.Length; i++) + { + int tx = i % container.terrainCount.x; + int ty = i / container.terrainCount.x; + RealWorldTerrainItem item = terrains[tx, ty] = container.terrains[i]; + if (RealWorldTerrainWindow.generateType == RealWorldTerrainGenerateType.terrain && item.prefs.resultType == RealWorldTerrainResultType.mesh) + { + item.prefs.heightmapResolution = RealWorldTerrainWindow.prefs.heightmapResolution; + item["texture"] = item.texture; + while (item.transform.childCount > 0) + { + Object.DestroyImmediate(item.transform.GetChild(0).gameObject); + } + } + } + } + else + { + RealWorldTerrainItem item = (RealWorldTerrainItem)target; + RealWorldTerrainWindow.container = item.container; + RealWorldTerrainWindow.terrains = new RealWorldTerrainItem[1, 1]; + terrains[0, 0] = item; + if (RealWorldTerrainWindow.generateType == RealWorldTerrainGenerateType.terrain && item.prefs.resultType == RealWorldTerrainResultType.mesh) + { + item.prefs.heightmapResolution = RealWorldTerrainWindow.prefs.heightmapResolution; + item["texture"] = item.texture; + while (item.transform.childCount > 0) + { + Object.DestroyImmediate(item.transform.GetChild(0).gameObject); + } + } + } + + Complete(); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainLoadTerrainsPhase.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainLoadTerrainsPhase.cs.meta new file mode 100644 index 000000000..6d5963e52 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainLoadTerrainsPhase.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6bb51ef2c09ca3d46bbf1c04449dc442 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainPhase.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainPhase.cs new file mode 100644 index 000000000..57aa3f1f5 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainPhase.cs @@ -0,0 +1,185 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System.Collections.Generic; +using InfinityCode.RealWorldTerrain.Net; +using InfinityCode.RealWorldTerrain.Windows; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Phases +{ + public abstract class RealWorldTerrainPhase + { + public static float phaseProgress; + public static bool phaseComplete; + public static int index; + + public static RealWorldTerrainPhase activePhase; + public static int activePhaseIndex; + public static List requiredPhases; + + protected static bool generateInThread + { + get { return RealWorldTerrainWindow.generateInThread; } + } + + protected static bool isCapturing + { + get { return RealWorldTerrainWindow.isCapturing; } + set { RealWorldTerrainWindow.isCapturing = value; } + } + + protected static RealWorldTerrainPrefs prefs + { + get { return RealWorldTerrainWindow.prefs; } + } + + public static float progress + { + get { return RealWorldTerrainWindow.progress; } + set + { + RealWorldTerrainWindow.progress = value; + if (RealWorldTerrainWindow.wnd != null) RealWorldTerrainWindow.wnd.Repaint(); + } + } + + protected static RealWorldTerrainVector2i terrainCount + { + get { return prefs.terrainCount; } + } + + protected static RealWorldTerrainItem[,] terrains + { + get { return RealWorldTerrainWindow.terrains; } + } + + protected static RealWorldTerrainVector2i textureCount + { + get { return prefs.textureCount; } + } + + public abstract string title { get; } + + public virtual void Complete() + { + phaseProgress = 0; + phaseComplete = false; + index = 0; + + NextPhase(); + } + + public abstract void Enter(); + + public virtual void Finish() + { + + } + + public static void Init() + { + requiredPhases = new List(); + activePhaseIndex = -1; + + if (RealWorldTerrainDownloadManager.count > 0) requiredPhases.Add(new RealWorldTerrainDownloadingPhase()); + + bool gFull = RealWorldTerrainWindow.generateType == RealWorldTerrainGenerateType.full; + bool gTerrain = RealWorldTerrainWindow.generateType == RealWorldTerrainGenerateType.terrain; + bool gTexture = RealWorldTerrainWindow.generateType == RealWorldTerrainGenerateType.texture; + bool gAdditional = RealWorldTerrainWindow.generateType == RealWorldTerrainGenerateType.additional; + bool gGaia = gFull && prefs.resultType == RealWorldTerrainResultType.gaiaStamp; + bool gRaw = gFull && prefs.resultType == RealWorldTerrainResultType.rawFile; + bool isHeightmapOnly = gGaia || gRaw; + + bool nLoadHeightmap = !gTexture; + bool nGenHeightmap = gFull || gTerrain; + bool nTexture = (gFull || gTexture) && prefs.generateTextures; + bool nAdditional = gFull || gAdditional; + + if (isHeightmapOnly) + { + nGenHeightmap = false; + nTexture = false; + nAdditional = false; + } + + if (nLoadHeightmap) + { + requiredPhases.Add(new RealWorldTerrainUnzipHeightmapPhase()); + requiredPhases.Add(new RealWorldTerrainLoadHeightmapPhase()); + } + + if (!isHeightmapOnly) + { + if (gFull) requiredPhases.Add(new RealWorldTerrainGenerateTerrainsPhase()); + else requiredPhases.Add(new RealWorldTerrainLoadTerrainsPhase()); + } + + if (nGenHeightmap) + { + if (prefs.resultType == RealWorldTerrainResultType.terrain) + { + requiredPhases.Add(new RealWorldTerrainGenerateHeightmapsPhase()); + if (prefs.terrainCount > 1) requiredPhases.Add(new RealWorldTerrainAdjustEdgesPhase()); + } + else if (prefs.resultType == RealWorldTerrainResultType.mesh) + { + requiredPhases.Add(new RealWorldTerrainGenerateMeshVerticesPhase()); + requiredPhases.Add(new RealWorldTerrainGenerateMeshesPhase()); + requiredPhases.Add(new RealWorldTerrainInstantiateMeshesPhase()); + } + } +#if GAIA_PRESENT || GAIA_PRO_PRESENT || GAIA_2_PRESENT || GAIA_2023 + if (gGaia) requiredPhases.Add(new RealWorldTerrainGenerateGaiaStampPhase()); +#endif + if (gRaw) requiredPhases.Add(new RealWorldTerrainGenerateRAWPhase()); + if (nTexture) requiredPhases.Add(new RealWorldTerrainGenerateTexturesPhase()); + + if (nAdditional) + { + if (prefs.generateBuildings) + { + requiredPhases.Add(new RealWorldTerrainGenerateBuildingsPhase()); + if (prefs.buildingGenerator == 0 && prefs.buildingSaveInResult) requiredPhases.Add(new RealWorldTerrainSaveBuildingsPhase()); + } + if (prefs.generateRoads) requiredPhases.Add(new RealWorldTerrainGenerateRoadsPhase()); + if (prefs.generateGrass) requiredPhases.Add(new RealWorldTerrainGenerateGrassPhase()); + if (prefs.generateTrees) requiredPhases.Add(new RealWorldTerrainGenerateTreesPhase()); + if (prefs.generateRivers) requiredPhases.Add(new RealWorldTerrainGenerateRiversPhase()); + } + + requiredPhases.Add(new RealWorldTerrainFinishPhase()); + activePhase = null; + + NextPhase(); + } + + public static void NextPhase() + { + if (activePhase != null) activePhase.Finish(); + + activePhaseIndex++; + if (requiredPhases == null || activePhaseIndex >= requiredPhases.Count) + { + Debug.Log("No active phase"); + activePhase = null; + RealWorldTerrainWindow.Dispose(); + return; + } + + activePhase = requiredPhases[activePhaseIndex]; + + RealWorldTerrainWindowUI.phasetitle = activePhase.title; + progress = 0; + RealWorldTerrainWindow.wnd.Repaint(); + + activePhase.Start(); + } + + public virtual void Start() + { + + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainPhase.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainPhase.cs.meta new file mode 100644 index 000000000..564c18aae --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainPhase.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c28d7c098ff592b46bcb1439fcfa5163 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainSaveBuildingsPhase.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainSaveBuildingsPhase.cs new file mode 100644 index 000000000..aa1e168d9 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainSaveBuildingsPhase.cs @@ -0,0 +1,129 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.Collections.Generic; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Phases +{ + public class RealWorldTerrainSaveBuildingsPhase : RealWorldTerrainPhase + { + public static List renderersToSave + { + get + { + if (_renderersToSave == null) _renderersToSave = new List(); + return _renderersToSave; + } + } + + public static Dictionary filtersToSave + { + get + { + if (_filtersToSave == null) _filtersToSave = new Dictionary(); + return _filtersToSave; + } + } + + private static Dictionary _filtersToSave; + private static List _renderersToSave; + + public override string title + { + get { return "Save Buildings..."; } + } + + public override void Enter() + { + try + { + if (prefs.buildingGenerator != 0) return; + + AssetDatabase.StartAssetEditing(); + + if (renderersToSave != null) + { + foreach (var savableRenderer in renderersToSave) + { + try + { + Material material = savableRenderer.renderer.sharedMaterials[savableRenderer.index]; + AssetDatabase.CreateAsset(material, savableRenderer.path); + } + catch + { + + } + } + } + + if (filtersToSave != null) + { + foreach (var pair in filtersToSave) + { + try + { + AssetDatabase.CreateAsset(pair.Key.sharedMesh, pair.Value); + } + catch + { + + } + } + } + + AssetDatabase.StopAssetEditing(); + + if (renderersToSave != null) + { + foreach (var savableRenderer in renderersToSave) + { + try + { + savableRenderer.renderer.sharedMaterials[savableRenderer.index] = AssetDatabase.LoadAssetAtPath(savableRenderer.path); + } + catch + { + + } + } + } + + if (filtersToSave != null) + { + foreach (var pair in filtersToSave) + { + try + { + pair.Key.sharedMesh = AssetDatabase.LoadAssetAtPath(pair.Value); + } + catch + { + + } + } + } + } + catch (Exception exception) + { + Debug.Log(exception.Message); + throw; + } + + _renderersToSave = null; + _filtersToSave = null; + + Complete(); + } + + public class SavableRenderer + { + public string path; + public int index; + public MeshRenderer renderer; + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainSaveBuildingsPhase.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainSaveBuildingsPhase.cs.meta new file mode 100644 index 000000000..b73899e18 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainSaveBuildingsPhase.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3f926e3c7a2be0a45af1662935a3d3aa +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainUnzipHeightmapPhase.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainUnzipHeightmapPhase.cs new file mode 100644 index 000000000..b0c88e95a --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainUnzipHeightmapPhase.cs @@ -0,0 +1,56 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System.Threading; +using InfinityCode.RealWorldTerrain.Generators; + +namespace InfinityCode.RealWorldTerrain.Phases +{ + public class RealWorldTerrainUnzipHeightmapPhase : RealWorldTerrainPhase + { + private RealWorldTerrainElevationGenerator activeElevation; + + public override string title + { + get { return "Unzip Elevations..."; } + } + + public override void Enter() + { + if (activeElevation != null && !activeElevation.unziped) return; + + if (index >= RealWorldTerrainElevationGenerator.elevations.Count) + { + Complete(); + return; + } + activeElevation = RealWorldTerrainElevationGenerator.elevations[index]; + + progress = index / (float)RealWorldTerrainElevationGenerator.elevations.Count; + + if (activeElevation.unziped) + { + index++; + return; + } + + RealWorldTerrainElevationGenerator generator = activeElevation; + if (generateInThread) new Thread(generator.UnzipHeightmap).Start(); + else generator.UnzipHeightmap(); + } + + public override void Finish() + { + activeElevation = null; + } + + public override void Start() + { + if (prefs.elevationProvider != RealWorldTerrainElevationProvider.SRTM && + prefs.elevationProvider != RealWorldTerrainElevationProvider.SRTM30) + { + Complete(); + } + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainUnzipHeightmapPhase.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainUnzipHeightmapPhase.cs.meta new file mode 100644 index 000000000..791961a60 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Phases/RealWorldTerrainUnzipHeightmapPhase.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 194c36072c55711429dc5d843ddbc26f +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Providers.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Providers.meta new file mode 100644 index 000000000..56621217f --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Providers.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: cd1922381d948d54fb66f527bbbefea9 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Providers/RealWorldTerrainTextureProviderManager.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Providers/RealWorldTerrainTextureProviderManager.cs new file mode 100644 index 000000000..2d2f43f67 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Providers/RealWorldTerrainTextureProviderManager.cs @@ -0,0 +1,802 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.Linq; +using System.Text; +using System.Text.RegularExpressions; +using UnityEngine; +using Random = UnityEngine.Random; + +namespace InfinityCode.RealWorldTerrain +{ + public static class RealWorldTerrainTextureProviderManager + { + private const string SATELLITE = "Satellite"; + private const string RELIEF = "Relief"; + private const string TERRAIN = "Terrain"; + private const string MAP = "Map"; + + private static Provider[] providers; + + public static MapType FindMapType(string mapTypeID) + { + if (providers == null) InitProviders(); + + if (string.IsNullOrEmpty(mapTypeID)) return providers[0].types[0]; + + string[] parts = mapTypeID.Split('.'); + + foreach (Provider provider in providers) + { + if (provider.id == parts[0]) + { + if (parts.Length == 1) return provider.types[0]; + foreach (MapType type in provider.types) + { + if (type.id == parts[1]) return type; + } + return provider.types[0]; + } + } + return providers[0].types[0]; + } + + public static Provider[] GetProviders() + { + if (providers == null) InitProviders(); + return providers; + } + + public static string[] GetProvidersTitle() + { + if (providers == null) InitProviders(); + return providers.Select(p => p.title).ToArray(); + } + + private static void InitProviders() + { + providers = new[] + { + new Provider("arcgis", "ArcGIS (Esri)") + { + url = "https://server.arcgisonline.com/ArcGIS/rest/services/{variant}/MapServer/tile/{zoom}/{y}/{x}", + types = new [] + { + new MapType("WorldImagery", "ag") { variant = "World_Imagery" }, + } + }, + new Provider("DigitalGlobe") + { + url = "https://a.tiles.mapbox.com/v4/digitalglobe.{variant}/{zoom}/{x}/{y}.jpg?access_token={accesstoken}", + types = new [] + { + new MapType("Satellite", "dg") + { + variant = "nal0g75k" + }, + }, + extraFields = new [] + { + new ExtraField("Access Token", "accesstoken"), + }, + help = new [] + { + "1 map view = 15 tiles" + } + }, + new Provider("Mapbox") + { + types = new [] + { + new MapType(SATELLITE, "mbs") + { + url = "https://a.tiles.mapbox.com/v4/mapbox.satellite/{zoom}/{x}/{y}.png?events=true&access_token={accesstoken}" + }, + new MapType("Map", "mbm") + { + url = "https://api.mapbox.com/styles/v1/{userid}/{mapid}/tiles/256/{z}/{x}/{y}?access_token={accesstoken}", + extraFields = new [] + { + new ExtraField("User ID", "userid"), + new ExtraField("Map ID", "mapid"), + } + }, + new MapType("Classic", "mbc") + { + url = "https://a.tiles.mapbox.com/v4/{mapid}/{zoom}/{x}/{y}.png?&events=true&access_token={accesstoken}", + extraFields = new [] + { + new ExtraField("Map ID", "mapid"), + }, + help = new [] + { + "Only raster tiles are supported." + } + } + }, + + extraFields = new [] + { + new ExtraField("Access Token", "accesstoken"), + }, + + help = new [] + { + "1 map view = 15 tiles" + } + }, + new Provider("MapQuest") + { + url = "https://a.tiles.mapbox.com/v4/{variant}/{zoom}/{x}/{y}.png?access_token={accesstoken}", + types = new [] + { + new MapType(SATELLITE, "mq") + { + variant = "mapquest.satellite" + }, + }, + extraFields = new [] + { + new ToggleExtraGroup("Anonymous", true, new [] + { + new ExtraField("Access Token", "accesstoken", "pk.eyJ1IjoibWFwcXVlc3QiLCJhIjoiY2Q2N2RlMmNhY2NiZTRkMzlmZjJmZDk0NWU0ZGJlNTMifQ.mPRiEubbajc6a5y9ISgydg") + }) + }, + }, + new Provider("mapy", "Mapy.CZ") + { + url = "https://m[0-4].mapserver.mapy.cz/{variant}/{zoom}-{x}-{y}", + types = new [] + { + new MapType(SATELLITE, "mcz") + { + variant = "ophoto-m" + }, + } + }, + new Provider("nokia", "Nokia Maps (here.com)") + { + url = "https://[1-4].{prop2}.maps.cit.api.here.com/maptile/2.1/{prop}/newest/{variant}/{zoom}/{x}/{y}/256/png8?lg={lng}&app_id={appid}&app_code={appcode}", + prop = "maptile", + prop2 = "base", + + types = new [] + { + new MapType(SATELLITE, "n") + { + variant = "satellite.day", + prop2 = "aerial", + }, + }, + + extraFields = new [] + { + new ToggleExtraGroup("Anonymous", true, new [] + { + new ExtraField("App ID", "appid", "xWVIueSv6JL0aJ5xqTxb"), + new ExtraField("App Code", "appcode", "djPZyynKsbTjIUDOBcHZ2g"), + }) + } + }, + new Provider("osm", "OpenStreetMap") + { + types = new [] + { + new MapType("Mapnik", "osmm") + { + url = "https://a.tile.openstreetmap.org/{zoom}/{x}/{y}.png" + }, + new MapType("BlackAndWhite", "osmbw") + { + url = "http://a.tiles.wmflabs.org/bw-mapnik/{zoom}/{x}/{y}.png" + }, + new MapType("DE", "osmde") + { + url = "http://a.tile.openstreetmap.de/tiles/osmde/{zoom}/{x}/{y}.png" + }, + new MapType("France", "osmfr") + { + url = "https://a.tile.openstreetmap.fr/osmfr/{zoom}/{x}/{y}.png" + }, + new MapType("HOT", "osmhot") + { + url = "https://a.tile.openstreetmap.fr/hot/{zoom}/{x}/{y}.png" + }, + } + }, + new Provider("sentinel2", "Sentinel-2") + { + types = new [] + { + new MapType("satellite", "s2s") + { + url = "https://services.sentinel-hub.com/ogc/wmts/cd280189-7c51-45a6-ab05-f96a76067710?REQUEST=GetTile&TILEMATRIXSET=PopularWebMercator256&LAYER=1_TRUE_COLOR&TILEMATRIX={zoom}&TILEROW={y}&TILECOL={x}&showlogo=false" + }, + } + }, + new Provider("virtualearth", "Virtual Earth (Bing Maps)") + { + types = new [] + { + new MapType("Aerial", "ve") + { + url = "https://t[0-4].ssl.ak.tiles.virtualearth.net/tiles/a{quad}.jpeg?mkt={lng}&g=1457&n=z", + }, + } + }, + new Provider("Custom") + { + types = new [] + { + new MapType("Custom", "custom") { isCustom = true } + } + } + }; + + for (int i = 0; i < providers.Length; i++) + { + Provider provider = providers[i]; + provider.index = i; + for (int j = 0; j < provider.types.Length; j++) + { + MapType type = provider.types[j]; + type.provider = provider; + type.fullID = provider.id + "." + type.id; + type.index = j; + } + } + } + + public static string Upgrade(RealWorldTerrainTextureProvider providerID) + { + StringBuilder builder = new StringBuilder(); + if (providerID == RealWorldTerrainTextureProvider.arcGIS) builder.Append("arcgis"); + else if (providerID == RealWorldTerrainTextureProvider.google) + { + Debug.LogWarning("Support for Google Maps is removed, please use another provider.\nIf you really want to continue using Google Maps, you can do it using Provider - Custom."); + return "arcgis"; + } + else if (providerID == RealWorldTerrainTextureProvider.nokia) builder.Append("nokia"); + else if (providerID == RealWorldTerrainTextureProvider.mapQuest) builder.Append("mapquest"); + else if (providerID == RealWorldTerrainTextureProvider.virtualEarth) builder.Append("virtualearth"); + else if (providerID == RealWorldTerrainTextureProvider.openStreetMap) builder.Append("osm"); + else if (providerID == RealWorldTerrainTextureProvider.custom) builder.Append("custom").Append(".").Append("custom"); + else + { + Debug.LogWarning("Trying to upgrade provider failed. Please select the provider manually."); + return "arcgis"; + } + + return builder.ToString(); + } + + public class Provider + { + /// + /// ID of provider + /// + public readonly string id; + + /// + /// Human-readable provider title. + /// + public readonly string title; + + /// + /// Index of current provider. + /// + public int index; + + /// + /// Extension. Token {ext}, that is being replaced in the URL. + /// + public string ext; + + /// + /// Property. Token {prop}, that is being replaced in the URL. + /// + public string prop; + + /// + /// Property. Token {prop2}, that is being replaced in the URL. + /// + public string prop2; + + public bool logUrl = false; + public IExtraField[] extraFields; + public string[] help; + + private string _url; + private MapType[] _types; + + /// + /// Array of map types available for the current provider. + /// + public MapType[] types + { + get { return _types; } + set { _types = value; } + } + + /// + /// Gets / sets the URL pattern of tiles. + /// + public string url + { + get { return _url; } + set + { + _url = value; + } + } + + public Provider(string title) : this(title.ToLower(), title) + { + + } + + public Provider(string id, string title) + { + this.id = id.ToLower(); + this.title = title; + } + + /// + /// Gets map type by index. + /// + /// Index of map type. + /// TRUE - Repeat index value, FALSE - Clamp index value. + /// Instance of map type. + public MapType GetByIndex(int index, bool repeat = false) + { + if (repeat) index = Mathf.RoundToInt(Mathf.Repeat(index, _types.Length - 1)); + else index = Mathf.Clamp(index, 0, _types.Length); + return _types[index]; + } + } + + + + /// + /// Class of map type + /// + public class MapType + { + /// + /// ID of map type + /// + public readonly string id; + + public string filePrefix; + + public string fullID; + + /// + /// Human-readable map type title. + /// + public readonly string title; + + /// + /// Reference to provider instance. + /// + public Provider provider; + + /// + /// Index of map type + /// + public int index; + + public IExtraField[] extraFields; + + /// + /// Indicates that this is an custom provider. + /// + public bool isCustom; + + private string _ext; + private string _url; + private string _variant; + private string _prop; + private string _prop2; + private bool? _logUrl; + public string[] help; + + /// + /// Extension. Token {ext}, that is being replaced in the URL. + /// + public string ext + { + get + { + if (!string.IsNullOrEmpty(_ext)) return _ext; + if (!string.IsNullOrEmpty(provider.ext)) return provider.ext; + return string.Empty; + } + set { _ext = value; } + } + + public bool logUrl + { + get + { + if (_logUrl.HasValue) return _logUrl.Value; + return provider.logUrl; + } + set { _logUrl = value; } + } + + /// + /// Property. Token {prop}, that is being replaced in the URL. + /// + public string prop + { + get + { + if (!string.IsNullOrEmpty(_prop)) return _prop; + return provider.prop; + } + set + { + _prop = value; + } + } + + /// + /// Property. Token {prop2}, that is being replaced in the URL. + /// + public string prop2 + { + get { return string.IsNullOrEmpty(_prop2) ? provider.prop2 : _prop2; } + set { _prop2 = value; } + } + + /// + /// Variant. Token {variant}, that is being replaced in the URL. + /// + public string variant + { + get { return _variant; } + set + { + _variant = value; + } + } + + /// + /// Gets / sets the URL pattern of tiles. + /// + public string url + { + get + { + if (!string.IsNullOrEmpty(_url)) return _url; + return provider.url; + } + set + { + _url = value; + } + } + + /// + /// Constructor + /// + /// Human-readable map type title. + public MapType(string title, string filePrefix) : this(title.ToLower(), title, filePrefix) + { + + } + + /// + /// Constructor + /// + /// ID of map type. + /// Human-readable map type title. + public MapType(string id, string title, string filePrefix) + { + this.filePrefix = filePrefix; + this.id = id; + this.title = title; + } + + public string GetSettings() + { + if (provider.extraFields == null) return null; + + StringBuilder builder = new StringBuilder(); + foreach (IExtraField field in provider.extraFields) field.SaveSettings(builder); + return builder.ToString(); + } + + /// + /// Gets the URL to download the tile texture. + /// + /// Tile zoom + /// Tile X + /// Tile Y + /// URL to tile texture. + public string GetURL(int zoom, int x, int y) + { + return GetURL(zoom, x, y, url); + } + + public string GetURL(int zoom, int x, int y, string url) + { + url = Regex.Replace(url, @"{\w+}", delegate (Match match) + { + string v = match.Value.ToLower().Trim('{', '}'); + + if (v == "zoom") return zoom.ToString(); + if (v == "z") return zoom.ToString(); + if (v == "x") return x.ToString(); + if (v == "y") return y.ToString(); + if (v == "quad") return RealWorldTerrainGeo.TileToQuadKey(x, y, zoom); + if (v == "ext") return ext; + if (v == "prop") return prop; + if (v == "prop2") return prop2; + if (v == "variant") return variant; + if (TryUseExtraFields(ref v)) return v; + return v; + }); + url = Regex.Replace(url, @"\[(\d+)-(\d+)\]", delegate (Match match) + { + int v1 = int.Parse(match.Groups[1].Value); + int v2 = int.Parse(match.Groups[2].Value); + return Random.Range(v1, v2 + 1).ToString(); + }); + if (logUrl) Debug.Log(url); + return url; + } + + public void LoadSettings(string settings) + { + IExtraField[] fields = provider.extraFields; + if (fields == null || string.IsNullOrEmpty(settings)) return; + + int i = 0; + while (i < settings.Length) + { + int titleLength = int.Parse(settings.Substring(i, 2)); + i += 2; + string title = settings.Substring(i, titleLength); + i += titleLength; + + int contentLengthSize = int.Parse(settings.Substring(i, 1)); + i++; + int contentSize = int.Parse(settings.Substring(i, contentLengthSize)); + i += contentLengthSize; + + foreach (IExtraField field in fields) if (field.TryLoadSettings(title, settings, i, contentSize)) break; + i += contentSize; + } + } + + private bool TryUseExtraFields(ref string token) + { + if (provider.extraFields != null) + { + foreach (IExtraField field in provider.extraFields) + { + string value; + if (field.GetTokenValue(token, false, out value)) + { + token = value; + return true; + } + } + } + + if (extraFields != null) + { + foreach (IExtraField field in extraFields) + { + string value; + if (field.GetTokenValue(token, false, out value)) + { + token = value; + return true; + } + } + } + + return false; + } + + public override string ToString() + { + return fullID; + } + } + + /// + /// Group of toggle extra fields + /// + public class ToggleExtraGroup : IExtraField + { + /// + /// Array of extra fields + /// + public IExtraField[] fields; + + /// + /// Group title + /// + public string title; + + /// + /// Group value + /// + public bool value = false; + + /// + /// Group ID + /// + public string id; + + public ToggleExtraGroup(string title, bool value = false) + { + this.title = title; + this.value = value; + } + + public ToggleExtraGroup(string title, bool value, IExtraField[] fields) : this(title, value) + { + this.fields = fields; + } + + public bool GetTokenValue(string token, bool useDefaultValue, out string value) + { + value = null; + if (fields == null) return false; + + foreach (IExtraField field in fields) + { + if (field.GetTokenValue(token, this.value || useDefaultValue, out value)) return true; + } + return false; + } + + public void SaveSettings(StringBuilder builder) + { + int titleLength = title.Length; + if (titleLength < 10) builder.Append("0"); + builder.Append(titleLength); + builder.Append(title); + + StringBuilder dataBuilder = new StringBuilder(); + dataBuilder.Append(value ? 1 : 0); + + if (fields != null) foreach (IExtraField field in fields) field.SaveSettings(dataBuilder); + + builder.Append(dataBuilder.Length.ToString().Length); + builder.Append(dataBuilder.Length); + builder.Append(dataBuilder); + } + + public bool TryLoadSettings(string title, string settings, int index, int contentSize) + { + if (this.title != title) return false; + + value = settings.Substring(index, 1) == "1"; + + int i = index + 1; + while (i < index + contentSize) + { + int titleLength = int.Parse(settings.Substring(i, 2)); + i += 2; + string fieldTitle = settings.Substring(i, titleLength); + i += titleLength; + + int contentLengthSize = int.Parse(settings.Substring(i, 1)); + i++; + int contentLength = int.Parse(settings.Substring(i, contentLengthSize)); + i += contentLengthSize; + + foreach (IExtraField field in fields) if (field.TryLoadSettings(fieldTitle, settings, i, contentLength)) break; + + i += contentLength; + } + + return true; + } + } + + /// + /// Interface for extra fields tile provider + /// + public interface IExtraField + { + bool GetTokenValue(string token, bool useDefaultValue, out string value); + void SaveSettings(StringBuilder builder); + bool TryLoadSettings(string title, string settings, int index, int contentSize); + } + + /// + /// Class for extra field + /// + public class ExtraField : IExtraField + { + /// + /// Title + /// + public string title; + + /// + /// Value + /// + public string value; + + /// + /// Default value + /// + public string defaultValue; + + /// + /// Token (ID) + /// + public string token; + + public ExtraField(string title, string token) + { + this.title = title; + this.token = token; + } + + public ExtraField(string title, string token, string defaultValue) : this(title, token) + { + this.defaultValue = defaultValue; + } + + public bool GetTokenValue(string token, bool useDefaultValue, out string value) + { + value = null; + + if (this.token == token) + { + value = useDefaultValue ? defaultValue : this.value; + return true; + } + return false; + } + + public void SaveSettings(StringBuilder builder) + { + int titleLength = title.Length; + if (titleLength < 10) builder.Append("0"); + builder.Append(titleLength); + builder.Append(title); + + if (string.IsNullOrEmpty(value)) builder.Append(1).Append(1).Append(0); + else + { + StringBuilder dataBuilder = new StringBuilder(); + int valueLength = value.Length; + dataBuilder.Append(valueLength.ToString().Length); + dataBuilder.Append(valueLength); + dataBuilder.Append(value); + builder.Append(dataBuilder.Length.ToString().Length); + builder.Append(dataBuilder.Length); + builder.Append(dataBuilder); + } + } + + public bool TryLoadSettings(string title, string settings, int index, int contentSize) + { + if (this.title != title) return false; + + int lengthSize = int.Parse(settings.Substring(index, 1)); + if (lengthSize == 0) value = ""; + else + { + index++; + int length = int.Parse(settings.Substring(index, lengthSize)); + index += lengthSize; + value = settings.Substring(index, length); + } + + return true; + } + } + } +} diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Providers/RealWorldTerrainTextureProviderManager.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Providers/RealWorldTerrainTextureProviderManager.cs.meta new file mode 100644 index 000000000..4b3d3b89b --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Providers/RealWorldTerrainTextureProviderManager.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7fcea865e0898cf4faedfcd318948543 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Third-Party.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Third-Party.meta new file mode 100644 index 000000000..04c74a77e --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Third-Party.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 2c61d52b4179cba4ab52062b51572cd4 +folderAsset: yes +timeCreated: 1564669254 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Third-Party/RealWorldTerrainUContextActions.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Third-Party/RealWorldTerrainUContextActions.cs new file mode 100644 index 000000000..4c78b80e0 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Third-Party/RealWorldTerrainUContextActions.cs @@ -0,0 +1 @@ +/* REMOVED */ \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Third-Party/RealWorldTerrainUContextActions.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Third-Party/RealWorldTerrainUContextActions.cs.meta new file mode 100644 index 000000000..4330e89f3 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Third-Party/RealWorldTerrainUContextActions.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c7b70d939df9fd046ad8dbabea6c8c6a +timeCreated: 1564669254 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Third-Party/RealWorldTerrainUContextWaila.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Third-Party/RealWorldTerrainUContextWaila.cs new file mode 100644 index 000000000..4c78b80e0 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Third-Party/RealWorldTerrainUContextWaila.cs @@ -0,0 +1 @@ +/* REMOVED */ \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Third-Party/RealWorldTerrainUContextWaila.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Third-Party/RealWorldTerrainUContextWaila.cs.meta new file mode 100644 index 000000000..bcd08cb0d --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Third-Party/RealWorldTerrainUContextWaila.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 3dd9afa0e33126f4392c3b2b499a753e +timeCreated: 1564669254 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools.meta new file mode 100644 index 000000000..dd6522d17 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 794c3b698c24a8c4c9e39755270452a4 +folderAsset: yes +timeCreated: 1470870903 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/Base.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/Base.meta new file mode 100644 index 000000000..2172fda9b --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/Base.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 4156a9b5bd1a63a4ea34c9b0d1c801d8 +folderAsset: yes +timeCreated: 1470870903 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/Base/RealWorldTerrainBaseContainerTool.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/Base/RealWorldTerrainBaseContainerTool.cs new file mode 100644 index 000000000..730c88371 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/Base/RealWorldTerrainBaseContainerTool.cs @@ -0,0 +1,169 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Tools.Base +{ + public class RealWorldTerrainBaseContainerTool:EditorWindow + { + protected static RealWorldTerrainBaseContainerTool wnd; + + public RealWorldTerrainMonoBase item; + protected Texture2D image; + protected Texture2D preview; + protected Color[] originalColors; + protected Color[] previewColors; + + private Vector2 scrollPosition; + + protected int countX + { + get + { + if (item == null) return 0; + return item is RealWorldTerrainContainer ? (item as RealWorldTerrainContainer).terrainCount.x : 1; + } + } + + protected int countY + { + get + { + if (item == null) return 0; + return item is RealWorldTerrainContainer ? (item as RealWorldTerrainContainer).terrainCount.y : 1; + } + } + + protected RealWorldTerrainItem[] terrains + { + get + { + if (item == null) return null; + return item is RealWorldTerrainContainer ? (item as RealWorldTerrainContainer).terrains : new[] { item as RealWorldTerrainItem }; + } + } + + protected virtual void Apply() + { + + } + + protected virtual Color ApplyFilters(Color color) + { + throw new Exception(); + } + + public void GetImage() + { + if (item == null) + { + image = null; + preview = null; + OnGetEmptyImage(); + return; + } + image = GetImage(item, 512); + preview = new Texture2D(image.width, image.height); + originalColors = image.GetPixels(); + previewColors = new Color[originalColors.Length]; + + UpdatePreview(); + OnGetImageLate(); + } + + public static Texture2D GetImage(RealWorldTerrainMonoBase target, int imageWidth) + { + RealWorldTerrainContainer container = target as RealWorldTerrainContainer; + RealWorldTerrainItem item = target as RealWorldTerrainItem; + + int cx = container != null ? container.terrainCount.x : 1; + int cy = container != null ? container.terrainCount.y : 1; + + RealWorldTerrainItem[] terrains = container != null ? container.terrains : new[] { item }; + + int imageHeight = Mathf.CeilToInt((float)imageWidth / cx * cy); + Texture2D texture = new Texture2D(imageWidth, imageHeight); + + Color[] colors = new Color[imageWidth * imageHeight]; + + for (int y = 0; y < imageHeight; y++) + { + float py = (float)y / imageHeight * cy; + int ty = (int)py; + float fy = py - ty; + + for (int x = 0; x < imageWidth; x++) + { + float px = (float)x / imageWidth * cx; + int tx = (int)px; + float fx = px - tx; + + int tIndex = ty * cx + tx; + Texture2D terrainTexture = terrains[tIndex].texture; + if (terrainTexture == null) continue; + colors[y * imageWidth + x] = terrainTexture.GetPixelBilinear(fx, fy); + } + } + + texture.SetPixels(colors); + texture.Apply(); + return texture; + } + + protected virtual void OnGetImageLate() + { + + } + + protected virtual void OnGetEmptyImage() + { + + } + + protected virtual void OnContentGUI() + { + + } + + private void OnDestroy() + { + wnd = null; + item = null; + image = null; + preview = null; + + OnDestoyLate(); + } + + protected virtual void OnDestoyLate() + { + + } + + private void OnGUI() + { + scrollPosition = EditorGUILayout.BeginScrollView(scrollPosition); + EditorGUI.BeginChangeCheck(); + item = EditorGUILayout.ObjectField("Target: ", item, typeof (RealWorldTerrainMonoBase), true) as RealWorldTerrainMonoBase; + if (EditorGUI.EndChangeCheck()) GetImage(); + if (item == null) return; + + OnContentGUI(); + + EditorGUILayout.EndScrollView(); + + if (GUILayout.Button("Apply")) Apply(); + } + + protected virtual void UpdatePreview() + { + for (int i = 0; i < originalColors.Length; i++) previewColors[i] = ApplyFilters(originalColors[i]); + + preview.SetPixels(previewColors); + preview.Apply(); + } + } +} diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/Base/RealWorldTerrainBaseContainerTool.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/Base/RealWorldTerrainBaseContainerTool.cs.meta new file mode 100644 index 000000000..ae1eb2d7b --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/Base/RealWorldTerrainBaseContainerTool.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 06d65ee8979c50d46bedffea7ead4951 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainAlphamapExporter.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainAlphamapExporter.cs new file mode 100644 index 000000000..793d1a703 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainAlphamapExporter.cs @@ -0,0 +1,130 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System; +using System.IO; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Tools +{ + public class RealWorldTerrainAlphamapExporter : EditorWindow + { + private RealWorldTerrainMonoBase target; + private int layer; + private int depth = 16; + private RealWorldTerrainByteOrder order = RealWorldTerrainByteOrder.Windows; + private GUIContent[] depthLabels; + private int[] depthValues; + + private void OnEnable() + { + depthLabels = new[] { new GUIContent("8"), new GUIContent("16") }; + depthValues = new[] { 8, 16 }; + } + + private void OnGUI() + { + target = EditorGUILayout.ObjectField("Target: ", target, typeof(RealWorldTerrainMonoBase), true) as RealWorldTerrainMonoBase; + + RealWorldTerrainContainer container = target as RealWorldTerrainContainer; + RealWorldTerrainItem item = target as RealWorldTerrainItem; + RealWorldTerrainItem[] terrains = container != null ? container.terrains : new[] { item }; + + bool disabled = target == null || target.prefs.resultType != RealWorldTerrainResultType.terrain; + EditorGUI.BeginDisabledGroup(disabled); + + int maxLayer = !disabled ? terrains[0].terrainData.alphamapLayers : 0; + int minLayer = maxLayer > 0 ? 1 : 0; + + layer = EditorGUILayout.IntSlider("Alphamap Layer", layer, minLayer, maxLayer); + + depth = EditorGUILayout.IntPopup(new GUIContent("Depth"), depth, depthLabels, depthValues); + order = (RealWorldTerrainByteOrder)EditorGUILayout.EnumPopup("Byte Order", order); + + EditorGUI.BeginDisabledGroup(maxLayer == 0); + if (GUILayout.Button("Export")) ExportAlphamap(); + + EditorGUI.EndDisabledGroup(); + EditorGUI.EndDisabledGroup(); + } + + private void ExportAlphamap() + { + string filename = EditorUtility.SaveFilePanel("Export RAW Alphamap", Application.dataPath, String.Format("alphamap-layer-{0}.raw", layer), "raw"); + if (string.IsNullOrEmpty(filename)) return; + + int alphaResolution = -1; + + RealWorldTerrainContainer container = target as RealWorldTerrainContainer; + RealWorldTerrainItem item = target as RealWorldTerrainItem; + + int cx = container != null ? container.terrainCount.x : 1; + int cy = container != null ? container.terrainCount.y : 1; + + RealWorldTerrainItem[] terrains = container != null ? container.terrains : new[] { item }; + + foreach (RealWorldTerrainItem terrain in terrains) + { + if (alphaResolution == -1) alphaResolution = terrain.terrainData.alphamapResolution; + else if (alphaResolution != terrain.terrainData.alphamapResolution) + { + EditorUtility.DisplayDialog("Error", "Terrains have different alphamap resolution.", "OK"); + return; + } + } + + FileStream stream = new FileStream(filename, FileMode.Create); + BinaryWriter writer = new BinaryWriter(stream); + + int textureWidth = cx * alphaResolution; + int coof = depth == 8 ? 1 : 2; + + for (int y = 0; y < cy; y++) + { + for (int x = 0; x < cx; x++) + { + int tIndex = y * cx + x; + float[,,] alpha = terrains[tIndex].terrainData.GetAlphamaps(0, 0, alphaResolution, alphaResolution); + + for (int dy = 0; dy < alphaResolution; dy++) + { + float progress = ((y * cx + x) * alphaResolution + dy) / (float)(cx * cy * alphaResolution); + EditorUtility.DisplayProgressBar("Export RAW Alphamap", Mathf.RoundToInt(progress * 100) + "%", progress); + + int row = y * alphaResolution + dy; + int seek = (row * textureWidth + x * alphaResolution) * coof; + + stream.Seek(seek, SeekOrigin.Begin); + + for (int dx = 0; dx < alphaResolution; dx++) + { + if (depth == 8) writer.Write((byte)Mathf.RoundToInt(alpha[dy, dx, layer - 1] * 255)); + else + { + short v = (short)Mathf.RoundToInt(alpha[dy, dx, layer - 1] * 65536); + if (order == RealWorldTerrainByteOrder.Windows) writer.Write(v); + else + { + writer.Write((byte)(v / 256)); + writer.Write((byte)(v % 256)); + } + } + } + } + } + } + + stream.Close(); + EditorUtility.ClearProgressBar(); + + EditorUtility.RevealInFinder(filename); + } + + public static void OpenWindow(RealWorldTerrainMonoBase target) + { + RealWorldTerrainAlphamapExporter wnd = GetWindow(true, "Alphamap Exporter"); + wnd.target = target; + } + } +} diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainAlphamapExporter.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainAlphamapExporter.cs.meta new file mode 100644 index 000000000..6008c5af2 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainAlphamapExporter.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: dfb943c58fdbf70468ca19a55b444883 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainAlphamapImporter.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainAlphamapImporter.cs new file mode 100644 index 000000000..82bf2ca02 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainAlphamapImporter.cs @@ -0,0 +1,184 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System; +using System.IO; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Tools +{ + public class RealWorldTerrainAlphamapImporter : EditorWindow + { + private RealWorldTerrainMonoBase target; + private int layer; + private int depth = 16; + private RealWorldTerrainByteOrder order = RealWorldTerrainByteOrder.Windows; + private GUIContent[] depthLabels; + private int[] depthValues; + + private void OnEnable() + { + depthLabels = new[] { new GUIContent("8"), new GUIContent("16") }; + depthValues = new[] { 8, 16 }; + } + + private void OnGUI() + { + target = EditorGUILayout.ObjectField("Target: ", target, typeof(RealWorldTerrainMonoBase), true) as RealWorldTerrainMonoBase; + + RealWorldTerrainContainer container = target as RealWorldTerrainContainer; + RealWorldTerrainItem item = target as RealWorldTerrainItem; + RealWorldTerrainItem[] terrains = container != null ? container.terrains : new[] { item }; + + bool disabled = target == null || target.prefs.resultType != RealWorldTerrainResultType.terrain; + EditorGUI.BeginDisabledGroup(disabled); + int maxLayer = !disabled ? terrains[0].terrainData.alphamapLayers : 0; + int minLayer = maxLayer > 0 ? 1 : 0; + + layer = EditorGUILayout.IntSlider("Alphamap layer", layer, minLayer, maxLayer); + + depth = EditorGUILayout.IntPopup(new GUIContent("Depth"), depth, depthLabels, depthValues); + order = (RealWorldTerrainByteOrder)EditorGUILayout.EnumPopup("Byte Order", order); + + EditorGUI.BeginDisabledGroup(maxLayer == 0); + if (GUILayout.Button("Import")) + { + ImportAlphamap(); + } + + EditorGUI.EndDisabledGroup(); + EditorGUI.EndDisabledGroup(); + } + + private void ImportAlphamap() + { + string filename = EditorUtility.OpenFilePanel("Import RAW Alphamap", Application.dataPath, "raw"); + if (string.IsNullOrEmpty(filename)) return; + + RealWorldTerrainContainer container = target as RealWorldTerrainContainer; + RealWorldTerrainItem item = target as RealWorldTerrainItem; + + int cx = container != null ? container.terrainCount.x : 1; + int cy = container != null ? container.terrainCount.y : 1; + + RealWorldTerrainItem[] terrains = container != null ? container.terrains : new[] { item }; + + long fileSize = new FileInfo(filename).Length; + + if (depth == 16) fileSize /= 2; + fileSize /= cx * cy; + + int alphamapResolution = (int)Mathf.Sqrt(fileSize); + if (alphamapResolution * alphamapResolution != fileSize) + { + EditorUtility.DisplayDialog("Error", "Invalid file size.", "OK"); + return; + } + if (Mathf.ClosestPowerOfTwo(alphamapResolution) != alphamapResolution) + { + EditorUtility.DisplayDialog("Error", "Invalid file size.", "OK"); + return; + } + + FileStream stream = new FileStream(filename, FileMode.Open); + + int textureWidth = cx * alphamapResolution; + int coof = depth == 8 ? 1 : 2; + + for (int y = 0; y < cy; y++) + { + for (int x = 0; x < cx; x++) + { + int tIndex = y * cx + x; + float[,,] alphamap = terrains[tIndex].terrainData.GetAlphamaps(0, 0, alphamapResolution, alphamapResolution); + int alphaCount = terrains[tIndex].terrainData.alphamapLayers; + + for (int dy = 0; dy < alphamapResolution; dy++) + { + float progress = ((y * cx + x) * alphamapResolution + dy) / (float)(cx * cy * alphamapResolution); + EditorUtility.DisplayProgressBar("Import RAW Alphamap", Mathf.RoundToInt(progress * 100) + "%", progress); + + int row = y * alphamapResolution + dy; + int seek = (row * textureWidth + x * alphamapResolution) * coof; + + stream.Seek(seek, SeekOrigin.Begin); + + for (int dx = 0; dx < alphamapResolution; dx++) + { + float v; + if (depth == 8) v = alphamap[dy, dx, layer - 1] = stream.ReadByte() / 256f; + else + { + int b1 = stream.ReadByte(); + int b2 = stream.ReadByte(); + + if (order == RealWorldTerrainByteOrder.Windows) v = alphamap[dy, dx, layer - 1] = (b2 * 256 + b1) / 65536f; + else v = alphamap[dy, dx, layer - 1] = (b1 * 256 + b2) / 65536f; + } + + float other = 1 - v; + + if (Math.Abs(v - 1) < 0.0001) + { + for (int l = 0; l < alphaCount; l++) + { + if (l != layer - 1) + { + alphamap[dy, dx, l] = 0; + } + } + } + else + { + float total = 0; + for (int l = 0; l < alphaCount; l++) + { + if (l == layer - 1) continue; + total += alphamap[dy, dx, l]; + } + + if (total > 0) + { + float scale = other / total; + + for (int l = 0; l < alphaCount; l++) + { + if (l == layer) continue; + alphamap[dy, dx, l] *= scale; + } + } + else + { + for (int l = 0; l < alphaCount; l++) + { + if (l == layer) continue; + alphamap[dy, dx, l] = 1f / (alphaCount - 1); + } + } + } + } + } + + if (terrains[tIndex].terrainData.alphamapResolution != alphamapResolution) + { + Vector3 size = terrains[tIndex].terrainData.size; + terrains[tIndex].terrainData.alphamapResolution = alphamapResolution; + terrains[tIndex].terrainData.size = size; + } + + terrains[tIndex].terrainData.SetAlphamaps(0, 0, alphamap); + } + } + + stream.Close(); + EditorUtility.ClearProgressBar(); + } + + public static void OpenWindow(RealWorldTerrainMonoBase target) + { + RealWorldTerrainAlphamapImporter wnd = GetWindow(true, "Alphamap Importer"); + wnd.target = target; + } + } +} diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainAlphamapImporter.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainAlphamapImporter.cs.meta new file mode 100644 index 000000000..7001916b4 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainAlphamapImporter.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 6a232986d2eb1fc41bcda08bca95c118 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainBuildingManager.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainBuildingManager.cs new file mode 100644 index 000000000..cee3823b8 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainBuildingManager.cs @@ -0,0 +1,132 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System.Collections.Generic; +using System.Linq; +using InfinityCode.RealWorldTerrain.OSM; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Tools +{ + public class RealWorldTerrainBuildingManager : EditorWindow + { + private RealWorldTerrainOSMMeta[] buildings; + private Vector2 scrollPosition; + private string filter; + private FilterType filterType = FilterType.KeyAndValue; + private RealWorldTerrainOSMMeta[] filteredBuildings; + private int page = 0; + + private void FilterBuildings() + { + if (string.IsNullOrEmpty(filter)) filteredBuildings = buildings; + else + { + string f = filter.ToUpperInvariant(); + bool searchInKey = filterType != FilterType.Value; + bool searchInValue = filterType != FilterType.Key; + filteredBuildings = buildings.Where(b => b.ContainKeyOrValue(f, searchInKey, searchInValue)).ToArray(); + } + } + + private void OnEnable() + { + UpdateBuildings(); + } + + private void OnGUI() + { + EditorGUILayout.HelpBox("Filters buildings by tag (in whole or in part).", MessageType.Info); + + EditorGUI.BeginChangeCheck(); + filter = EditorGUILayout.TextField("Filter", filter); + filterType = (FilterType)EditorGUILayout.EnumPopup("Search in", filterType); + + if (EditorGUI.EndChangeCheck()) FilterBuildings(); + + int pageSize = 500; + + bool showPaginator = filteredBuildings.Length > pageSize; + if (!showPaginator) page = 0; + else if (page * pageSize >= filteredBuildings.Length) page = filteredBuildings.Length / pageSize; + + int start = page * pageSize; + int end = Mathf.Min(start + pageSize, filteredBuildings.Length); + + scrollPosition = EditorGUILayout.BeginScrollView(scrollPosition); + + bool hasNullItems = false; + + for (int i = start; i < end; i++) + { + RealWorldTerrainOSMMeta building = filteredBuildings[i]; + GUILayout.BeginHorizontal(); + + string buildingName = ""; + if (building == null) + { + buildingName = "Missed"; + hasNullItems = true; + } + else buildingName = building.name; + GUILayout.Label(buildingName); + if (GUILayout.Button(new GUIContent(">", "Select"), GUILayout.ExpandWidth(false))) + { + Selection.activeGameObject = building.gameObject; + } + + GUILayout.EndHorizontal(); + } + + EditorGUILayout.EndScrollView(); + + if (showPaginator) + { + EditorGUILayout.BeginHorizontal(); + + EditorGUI.BeginDisabledGroup(page == 0); + if (GUILayout.Button("<")) page--; + EditorGUI.EndDisabledGroup(); + + EditorGUILayout.LabelField((start + 1) + "-" + end + " from " + filteredBuildings.Length); + + EditorGUI.BeginDisabledGroup(page == filteredBuildings.Length / pageSize); + if (GUILayout.Button(">")) page++; + EditorGUI.EndDisabledGroup(); + + EditorGUILayout.EndHorizontal(); + } + + if (GUILayout.Button("Select All")) + { + Selection.objects = filteredBuildings.Select(b => b.gameObject).ToArray(); + } + + if (hasNullItems) + { + UpdateBuildings(); + Repaint(); + } + } + + [MenuItem("Window/Infinity Code/Real World Terrain/Tools/Building Manager")] + public static void OpenWindow() + { + GetWindow(true, "Building Manager"); + } + + private void UpdateBuildings() + { + buildings = RealWorldTerrainUtils.FindObjectsOfType().Select(b => b.GetComponent()).OrderBy(b => b.name).ToArray(); + FilterBuildings(); + } + + public enum FilterType + { + KeyAndValue, + Key, + Value + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainBuildingManager.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainBuildingManager.cs.meta new file mode 100644 index 000000000..eb7497a92 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainBuildingManager.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 837c3491b47772949a78857a0b395d79 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainColorBalance.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainColorBalance.cs new file mode 100644 index 000000000..2554a1e72 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainColorBalance.cs @@ -0,0 +1,164 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System.IO; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Tools +{ + public class RealWorldTerrainColorBalance : Base.RealWorldTerrainBaseContainerTool + { + private float cyanRed; + private float magentaGreen; + private float yellowBlue; + + protected override void Apply() + { + int tick = 0; + + int sx = countX; + int sy = countY; + + for (int ty = 0; ty < sy; ty++) + { + for (int tx = 0; tx < sx; tx++) + { + int tIndex = ty * sy + tx; + + Texture2D texture = terrains[tIndex].texture; + if (texture == null) continue; + + Color[] colors = texture.GetPixels(); + + int cl = colors.Length; + for (int i = 0; i < cl; i++) + { + tick++; + + if (tick >= 1000) + { + float progress = ((ty * sx + tx) * cl + i) / (float) (sx * sy * cl); + EditorUtility.DisplayProgressBar("Apply Color Ballance", Mathf.RoundToInt(progress * 100) + "%", progress); + tick = 0; + } + + colors[i] = ApplyFilters(colors[i]); + } + + Texture2D newTexture = new Texture2D(texture.width, texture.height); + newTexture.SetPixels(colors); + newTexture.Apply(); + + string path = AssetDatabase.GetAssetPath(texture); + File.WriteAllBytes(path, newTexture.EncodeToPNG()); + } + } + + AssetDatabase.Refresh(ImportAssetOptions.ForceUpdate); + Close(); + EditorUtility.ClearProgressBar(); + } + + protected override Color ApplyFilters(Color color) + { + float r = 0; + float g = 0; + float b = 0; + + if (cyanRed > 0) r += cyanRed / 256; + if (magentaGreen > 0) g += magentaGreen / 256; + if (yellowBlue > 0) b += yellowBlue / 256; + if (cyanRed < 0) + { + g += cyanRed / -512; + b += cyanRed / -512; + } + if (magentaGreen < 0) + { + r += magentaGreen / -512; + b += magentaGreen / -512; + } + if (yellowBlue < 0) + { + r += yellowBlue / -512; + g += yellowBlue / -512; + } + + color.r = Mathf.Clamp01(color.r + r); + color.g = Mathf.Clamp01(color.g + g); + color.b = Mathf.Clamp01(color.b + b); + + return color; + } + + protected override void OnContentGUI() + { + EditorGUI.BeginChangeCheck(); + + bool reset = false; + + EditorGUILayout.BeginHorizontal(); + cyanRed = EditorGUILayout.Slider("Cyan / Red", cyanRed, -100, 100); + if (GUILayout.Button("Reset", GUILayout.ExpandWidth(false))) + { + cyanRed = 0; + reset = true; + } + EditorGUILayout.EndHorizontal(); + + EditorGUILayout.BeginHorizontal(); + magentaGreen = EditorGUILayout.Slider("Magenta / Green", magentaGreen, -100, 100); + if (GUILayout.Button("Reset", GUILayout.ExpandWidth(false))) + { + magentaGreen = 0; + reset = true; + } + EditorGUILayout.EndHorizontal(); + + EditorGUILayout.BeginHorizontal(); + yellowBlue = EditorGUILayout.Slider("Yellow / Blue", yellowBlue, -100, 100); + if (GUILayout.Button("Reset", GUILayout.ExpandWidth(false))) + { + yellowBlue = 0; + reset = true; + } + EditorGUILayout.EndHorizontal(); + + if (EditorGUI.EndChangeCheck() || reset) UpdatePreview(); + + if (image != null && preview != null) + { + int width = (int)position.width; + + GUILayout.Box("", GUILayout.Height(width / 2), GUILayout.ExpandWidth(true)); + Rect lastRect = GUILayoutUtility.GetLastRect(); + + if (Event.current.type != EventType.Layout) + { + float imgWidth = lastRect.width / 2 - 10; + EditorGUI.DrawPreviewTexture(new Rect(lastRect.x + 5, lastRect.y + 5, imgWidth, lastRect.height - 10), image, null, ScaleMode.ScaleToFit); + EditorGUI.DrawPreviewTexture(new Rect(lastRect.x + 5 + lastRect.width / 2, lastRect.y + 5, imgWidth, lastRect.height - 10), preview, null, ScaleMode.ScaleToFit); + } + } + } + + public static void OpenWindow(RealWorldTerrainMonoBase item) + { + if (wnd != null) wnd.Close(); + + wnd = GetWindow(true, "Color Balance", true); + wnd.item = item; + wnd.GetImage(); + } + + protected override void UpdatePreview() + { + for (int i = 0; i < originalColors.Length; i++) previewColors[i] = ApplyFilters(originalColors[i]); + + preview.SetPixels(previewColors); + preview.Apply(); + } + } + +} diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainColorBalance.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainColorBalance.cs.meta new file mode 100644 index 000000000..d846e61f8 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainColorBalance.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 94a3fa1b581867748a154b2674770e67 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainColorItem.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainColorItem.cs new file mode 100644 index 000000000..352f2aa3d --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainColorItem.cs @@ -0,0 +1,75 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System; +using System.Xml; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Tools +{ + [Serializable] + public class RealWorldTerrainColorItem + { + public bool deleted; + + private Color32 color; + private bool expanded = true; + private int rangeB = 10; + private int rangeG = 255; + private int rangeR = 10; + + public RealWorldTerrainColorItem() + { + color = Color.red; + } + + public bool EqualWithRange(Color32 clr) + { + int fr = Mathf.Abs(clr.r - color.r); + int fg = Mathf.Abs(clr.g - color.g); + int fb = Mathf.Abs(clr.b - color.b); + return fr < rangeR / 2f && fg < rangeG / 2f && fb < rangeB / 2f; + } + + public XmlNode GetNode(XmlDocument doc) + { + XmlElement node = doc.CreateElement("Color"); + node.SetAttribute("color", RealWorldTerrainUtils.ColorToHex(color)); + node.SetAttribute("range", rangeR + "," + rangeG + "," + rangeB); + return node; + } + + public void OnGUI(int index) + { + GUILayout.BeginHorizontal(); + + expanded = EditorGUILayout.Foldout(expanded, "Color " + index + ": "); + + color = EditorGUILayout.ColorField(color); + + if (GUILayout.Button(new GUIContent(RealWorldTerrainResources.deleteIcon, "Remove color"), GUIStyle.none, + GUILayout.Width(24), GUILayout.Height(20))) + deleted = true; + + GUILayout.EndHorizontal(); + + if (expanded) + { + rangeR = EditorGUILayout.IntSlider("Range red: ", rangeR, 0, 255); + rangeG = EditorGUILayout.IntSlider("Range green: ", rangeG, 0, 255); + rangeB = EditorGUILayout.IntSlider("Range blue: ", rangeB, 0, 255); + } + } + + public void SetNode(XmlElement node) + { + color = RealWorldTerrainUtils.HexToColor(node.GetAttribute("color")); + string range = node.GetAttribute("range"); + string[] rs = range.Split(','); + rangeR = int.Parse(rs[0]); + rangeG = int.Parse(rs[1]); + rangeB = int.Parse(rs[2]); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainColorItem.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainColorItem.cs.meta new file mode 100644 index 000000000..a0468e249 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainColorItem.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 1e9a0f5d1db46654fb58f0ea6b77be4a +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainColorLevels.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainColorLevels.cs new file mode 100644 index 000000000..2a98f3509 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainColorLevels.cs @@ -0,0 +1,177 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System.IO; +using System.Linq; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Tools +{ + public class RealWorldTerrainColorLevels : Base.RealWorldTerrainBaseContainerTool + { + private Texture2D levels; + private float minLevel = 0; + private float maxLevel = 1; + private float center = 0.5f; + private float minInput = 0; + private float maxInput = 1; + + protected override void Apply() + { + int tick = 0; + + int sx = countX; + int sy = countY; + + for (int ty = 0; ty < sy; ty++) + { + for (int tx = 0; tx < sx; tx++) + { + int tIndex = ty * sx + tx; + + Texture2D texture = terrains[tIndex].texture; + if (texture == null) continue; + Color[] colors = texture.GetPixels(); + + int cl = colors.Length; + + for (int i = 0; i < cl; i++) + { + tick++; + + if (tick >= 1000) + { + float progress = ((ty * sx + tx) * cl + i) / (float)(sx * sy * cl); + EditorUtility.DisplayProgressBar("Apply Color Levels", Mathf.RoundToInt(progress * 100) + "%", progress); + tick = 0; + } + + colors[i] = ApplyFilters(colors[i]); + } + + Texture2D newTexture = new Texture2D(texture.width, texture.height); + newTexture.SetPixels(colors); + newTexture.Apply(); + + string path = AssetDatabase.GetAssetPath(texture); + File.WriteAllBytes(path, newTexture.EncodeToPNG()); + } + } + + AssetDatabase.Refresh(ImportAssetOptions.ForceUpdate); + Close(); + EditorUtility.ClearProgressBar(); + } + + protected override Color ApplyFilters(Color color) + { + float g = color.grayscale; + float ng = Mathf.Clamp01((g - minLevel) / (maxLevel - minLevel)); + ng = (ng + 0.5f) * (1.5f - center) - 0.5f; + + float scale = ng / g; + color.r = (Mathf.Clamp01(color.r * scale) - minInput) * (maxInput - minInput); + color.g = (Mathf.Clamp01(color.g * scale) - minInput) * (maxInput - minInput); + color.b = (Mathf.Clamp01(color.b * scale) - minInput) * (maxInput - minInput); + + return color; + } + + protected override void OnDestoyLate() + { + levels = null; + } + + protected override void OnContentGUI() + { + EditorGUI.BeginChangeCheck(); + + GUILayout.Box(levels, GUILayout.Height(260), GUILayout.ExpandWidth(true)); + Rect lastRect = GUILayoutUtility.GetLastRect(); + + if (Event.current.type != EventType.Layout) + { + EditorGUI.DrawPreviewTexture(new Rect(lastRect.x + 2, lastRect.y + 2, lastRect.width - 4, lastRect.height - 4), levels, null, ScaleMode.StretchToFill); + } + + EditorGUILayout.MinMaxSlider(ref minLevel, ref maxLevel, 0, 1); + center = EditorGUILayout.Slider(center, 0.01f, 0.99f); + + EditorGUILayout.MinMaxSlider(new GUIContent(string.Format("Output Colors ({0}-{1})", Mathf.RoundToInt(minInput * 256), Mathf.RoundToInt(maxInput * 256))), ref minInput, ref maxInput, 0, 1); + + if (EditorGUI.EndChangeCheck()) UpdatePreview(); + + if (image != null && preview != null) + { + int width = (int)position.width; + + GUILayout.Box("", GUILayout.Height(width / 2), GUILayout.ExpandWidth(true)); + lastRect = GUILayoutUtility.GetLastRect(); + + if (Event.current.type != EventType.Layout) + { + float imgWidth = lastRect.width / 2 - 10; + EditorGUI.DrawPreviewTexture(new Rect(lastRect.x + 5, lastRect.y + 5, imgWidth, lastRect.height - 10), image, null, ScaleMode.ScaleToFit); + EditorGUI.DrawPreviewTexture(new Rect(lastRect.x + 5 + lastRect.width / 2, lastRect.y + 5, imgWidth, lastRect.height - 10), preview, null, ScaleMode.ScaleToFit); + } + } + } + + protected override void OnGetEmptyImage() + { + levels = null; + } + + protected override void OnGetImageLate() + { + UpdateLevels(); + } + + public static void OpenWindow(RealWorldTerrainMonoBase item) + { + if (wnd != null) wnd.Close(); + + wnd = GetWindow(true, "Color Levels", true); + wnd.item = item; + wnd.GetImage(); + } + + private void UpdateLevels() + { + int[] lR = new int[256]; + int[] lG = new int[256]; + int[] lB = new int[256]; + int[] lGr = new int[256]; + + levels = new Texture2D(512, 256); + for (int i = 0; i < originalColors.Length; i++) + { + Color32 clr = originalColors[i]; + lR[clr.r]++; + lG[clr.g]++; + lB[clr.b]++; + lGr[Mathf.RoundToInt(originalColors[i].grayscale * 255)]++; + } + + Color[] levelColors = new Color[512 * 256]; + for (int i = 0; i < 512 * 256; i++) levelColors[i] = Color.white; + + int maxValue = lGr.Max(); + float scale = 256f / maxValue; + + for (int x = 0; x < 256; x++) + { + int ty = Mathf.RoundToInt(lGr[x] * scale); + for (int y = 0; y < ty; y++) + { + levelColors[y * 512 + x * 2] = Color.black; + levelColors[y * 512 + x * 2 + 1] = Color.black; + } + } + + levels.SetPixels(levelColors); + levels.Apply(); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainColorLevels.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainColorLevels.cs.meta new file mode 100644 index 000000000..6dcc0fb8f --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainColorLevels.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 41cc1af0145767f49b6752a43e5e961c +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainCurrentLatLon.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainCurrentLatLon.cs new file mode 100644 index 000000000..4b5b09a34 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainCurrentLatLon.cs @@ -0,0 +1,90 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Tools +{ + public class RealWorldTerrainCurrentLatLon : EditorWindow + { + private RealWorldTerrainContainer rwt; + private Vector3 lastCursorPosition; + private static RealWorldTerrainCurrentLatLon wnd; + + private void OnDestroy() + { + EditorApplication.update -= OnUpdate; + SceneView.duringSceneGui -= OnSceneGUI; + wnd = null; + } + + private void OnEnable() + { + OnDestroy(); + wnd = this; + + EditorApplication.update += OnUpdate; + SceneView.duringSceneGui += OnSceneGUI; + } + + private void OnGUI() + { + rwt = (RealWorldTerrainContainer)EditorGUILayout.ObjectField("Real World Terrain", rwt, typeof(RealWorldTerrainContainer), true); + + if (rwt == null) return; + + SceneView view = SceneView.lastActiveSceneView; + if (view == null) return; + + Vector3 cp = view.camera.transform.position; + double longitude, latitude, altitude; + + rwt.GetCoordinatesByWorldPosition(cp, out longitude, out latitude, out altitude); + + EditorGUILayout.LabelField("Scene camera latitude: " + latitude); + EditorGUILayout.LabelField("Scene camera longitude: " + longitude); + EditorGUILayout.LabelField("Scene camera altitude: " + altitude); + + if (lastCursorPosition == Vector3.zero) return; + + rwt.GetCoordinatesByWorldPosition(lastCursorPosition, out longitude, out latitude, out altitude); + + EditorGUILayout.LabelField("Scene cursor latitude: " + latitude); + EditorGUILayout.LabelField("Scene cursor longitude: " + longitude); + EditorGUILayout.LabelField("Scene cursor altitude: " + altitude.ToString("F2") + " meters"); + } + + private void OnSceneGUI(SceneView view) + { + RaycastHit hit; + Ray ray = HandleUtility.GUIPointToWorldRay(Event.current.mousePosition); + + if (Physics.Raycast(ray.origin, ray.direction, out hit)) lastCursorPosition = hit.point; + else lastCursorPosition = Vector3.zero; + } + + private void OnUpdate() + { + Repaint(); + } + + [MenuItem("Window/Infinity Code/Real World Terrain/Tools/Current Position")] + public static void OpenWindow() + { + if (wnd != null) wnd.Close(); + + wnd = GetWindow(false, "Current Position"); + wnd.rwt = RealWorldTerrainUtils.FindObjectOfType(); + } + + public static void OpenWindow(RealWorldTerrainContainer container) + { + if (wnd != null) wnd.Close(); + + wnd = GetWindow(false, "Current Position"); + wnd.rwt = container; + } + } + +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainCurrentLatLon.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainCurrentLatLon.cs.meta new file mode 100644 index 000000000..b377c8d27 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainCurrentLatLon.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 3b3bb777dbda3da4b9de5f056e2132eb +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainDetailmapExporter.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainDetailmapExporter.cs new file mode 100644 index 000000000..baa54aab8 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainDetailmapExporter.cs @@ -0,0 +1,111 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System; +using System.IO; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Tools +{ + public class RealWorldTerrainDetailmapExporter:EditorWindow + { + private RealWorldTerrainMonoBase target; + private int layer; + + private void OnGUI() + { + target = EditorGUILayout.ObjectField("Target: ", target, typeof(RealWorldTerrainMonoBase), true) as RealWorldTerrainMonoBase; + + RealWorldTerrainContainer container = target as RealWorldTerrainContainer; + RealWorldTerrainItem item = target as RealWorldTerrainItem; + RealWorldTerrainItem[] terrains = container != null ? container.terrains : new[] { item }; + + bool disabled = target == null || target.prefs.resultType != RealWorldTerrainResultType.terrain; + EditorGUI.BeginDisabledGroup(disabled); + int maxLayer = !disabled ? terrains[0].terrainData.detailPrototypes.Length : 0; + int minLayer = maxLayer > 0 ? 1 : 0; + + layer = EditorGUILayout.IntSlider("Detail layer", layer, minLayer, maxLayer); + + EditorGUI.BeginDisabledGroup(maxLayer == 0); + if (GUILayout.Button("Export")) + { + ExportDetailmap(); + } + + EditorGUI.EndDisabledGroup(); + EditorGUI.EndDisabledGroup(); + } + + private void ExportDetailmap() + { + string filename = EditorUtility.SaveFilePanel("Export RAW Detail map", Application.dataPath, String.Format("detailmap-layer-{0}.raw", layer), "raw"); + if (string.IsNullOrEmpty(filename)) return; + + int detailResolution = -1; + + RealWorldTerrainContainer container = target as RealWorldTerrainContainer; + RealWorldTerrainItem item = target as RealWorldTerrainItem; + + int cx = container != null ? container.terrainCount.x : 1; + int cy = container != null ? container.terrainCount.y : 1; + + RealWorldTerrainItem[] terrains = container != null ? container.terrains : new[] { item }; + + foreach (RealWorldTerrainItem terrain in terrains) + { + if (detailResolution == -1) detailResolution = terrain.terrainData.detailResolution; + else if (detailResolution != terrain.terrainData.detailResolution) + { + EditorUtility.DisplayDialog("Error", "Terrains have different detail map resolution.", "OK"); + return; + } + } + + FileStream stream = new FileStream(filename, FileMode.Create); + + int textureWidth = cx * detailResolution; + int textureHeight = cy * detailResolution; + + for (int y = 0; y < cy; y++) + { + for (int x = 0; x < cx; x++) + { + int tIndex = y * cx + x; + int[,] detailLayer = terrains[tIndex].terrainData.GetDetailLayer(0, 0, detailResolution, detailResolution, layer - 1); + + for (int dy = 0; dy < detailResolution; dy++) + { + float progress = ((y * cx + x) * detailResolution + dy) / (float) (cx * cy * detailResolution); + EditorUtility.DisplayProgressBar("Export RAW Detail map", Mathf.RoundToInt(progress * 100) + "%", progress); + + int row = textureHeight - y * detailResolution - dy - 1; + int seek = (row * textureWidth + x * detailResolution) * 3; + + stream.Seek(seek, SeekOrigin.Begin); + + for (int dx = 0; dx < detailResolution; dx++) + { + byte v = (byte)detailLayer[dy, dx]; + stream.WriteByte(v); + stream.WriteByte(v); + stream.WriteByte(v); + } + } + } + } + + stream.Close(); + EditorUtility.ClearProgressBar(); + + EditorUtility.RevealInFinder(filename); + } + + public static void OpenWindow(RealWorldTerrainMonoBase target) + { + RealWorldTerrainDetailmapExporter wnd = GetWindow(true, "Detail map Exporter"); + wnd.target = target; + } + } +} diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainDetailmapExporter.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainDetailmapExporter.cs.meta new file mode 100644 index 000000000..814373e0f --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainDetailmapExporter.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: fe1418483e7671045a84921e57299e03 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainDetailmapImporter.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainDetailmapImporter.cs new file mode 100644 index 000000000..964b02e39 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainDetailmapImporter.cs @@ -0,0 +1,110 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System.IO; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Tools +{ + public class RealWorldTerrainDetailmapImporter:EditorWindow + { + private RealWorldTerrainMonoBase target; + private int layer; + + private void OnGUI() + { + target = EditorGUILayout.ObjectField("Target: ", target, typeof(RealWorldTerrainMonoBase), true) as RealWorldTerrainMonoBase; + + RealWorldTerrainContainer container = target as RealWorldTerrainContainer; + RealWorldTerrainItem item = target as RealWorldTerrainItem; + RealWorldTerrainItem[] terrains = container != null ? container.terrains : new[] { item }; + + bool disabled = target == null || target.prefs.resultType != RealWorldTerrainResultType.terrain; + EditorGUI.BeginDisabledGroup(disabled); + int maxLayer = !disabled ? terrains[0].terrainData.detailPrototypes.Length : 0; + int minLayer = maxLayer > 0 ? 1 : 0; + + layer = EditorGUILayout.IntSlider("Detail layer", layer, minLayer, maxLayer); + + EditorGUI.BeginDisabledGroup(maxLayer == 0); + if (GUILayout.Button("Import")) + { + ImportDetailmap(); + } + + EditorGUI.EndDisabledGroup(); + EditorGUI.EndDisabledGroup(); + } + + private void ImportDetailmap() + { + string filename = EditorUtility.OpenFilePanel("Import RAW Detailmap", Application.dataPath, "raw"); + if (string.IsNullOrEmpty(filename)) return; + + int detailResolution = -1; + + RealWorldTerrainContainer container = target as RealWorldTerrainContainer; + RealWorldTerrainItem item = target as RealWorldTerrainItem; + + int cx = container != null ? container.terrainCount.x : 1; + int cy = container != null ? container.terrainCount.y : 1; + + RealWorldTerrainItem[] terrains = container != null ? container.terrains : new[] { item }; + + foreach (RealWorldTerrainItem terrain in terrains) + { + if (detailResolution == -1) detailResolution = terrain.terrainData.detailResolution; + else if (detailResolution != terrain.terrainData.detailResolution) + { + EditorUtility.DisplayDialog("Error", "Terrains have different detailmap resolution.", "OK"); + return; + } + } + + FileStream stream = new FileStream(filename, FileMode.Open); + + int textureWidth = cx * detailResolution; + int textureHeight = cy * detailResolution; + + for (int y = 0; y < cy; y++) + { + for (int x = 0; x < cx; x++) + { + int[,] detailLayer = new int[detailResolution, detailResolution]; + + for (int dy = 0; dy < detailResolution; dy++) + { + float progress = ((y * cx + x) * detailResolution + dy) / (float)(cx * cy * detailResolution); + EditorUtility.DisplayProgressBar("Import RAW Detailmap", Mathf.RoundToInt(progress * 100) + "%", progress); + + int row = textureHeight - y * detailResolution - dy - 1; + int seek = (row * textureWidth + x * detailResolution) * 3; + + stream.Seek(seek, SeekOrigin.Begin); + + for (int dx = 0; dx < detailResolution; dx++) + { + int r = stream.ReadByte(); + int g = stream.ReadByte(); + int b = stream.ReadByte(); + detailLayer[dy, dx] = (r + g + b) / 3; + } + } + + int tIndex = y * cx + x; + terrains[tIndex].terrainData.SetDetailLayer(0, 0, layer - 1, detailLayer); + } + } + + stream.Close(); + EditorUtility.ClearProgressBar(); + } + + public static void OpenWindow(RealWorldTerrainMonoBase target) + { + RealWorldTerrainDetailmapImporter wnd = GetWindow(true, "Detailmap Importer"); + wnd.target = target; + } + } +} diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainDetailmapImporter.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainDetailmapImporter.cs.meta new file mode 100644 index 000000000..272bb6682 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainDetailmapImporter.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 174724f437ad91545981721d04ec39be +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainErosionFilter.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainErosionFilter.cs new file mode 100644 index 000000000..da4c4e72b --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainErosionFilter.cs @@ -0,0 +1,260 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Tools +{ + public class RealWorldTerrainErosionFilter : EditorWindow + { + struct Neighbour + { + public float decline; + public int x; + public int y; + } + + private RealWorldTerrainMonoBase target; + private int iterations = 15; + private float rainfall = 1.0f; + private float coneThreshold = 2.0f; + private int flowIterations = 100; + private Vector2 scrollPosition; + + private Neighbour[] neighbours = new Neighbour[8]; + private float[,] heightmap; + private float[,] watermap; + private float[,] sedimentmap; + private int width; + private int height; + + private void AddSediment(int x, int y) + { + float v = sedimentmap[y, x]; + float sign = Mathf.Sign(v); + float absVal = Mathf.Abs(v); + float threshold = 2e-4f * coneThreshold; + + if (absVal < threshold) + { + heightmap[y, x] += sedimentmap[y, x]; + return; + } + + float radius = absVal / threshold; + radius = Mathf.Sqrt(radius); + int r = Mathf.CeilToInt(radius) - 1; + + for (int oy = -r; oy <= r; oy++) + { + int cy = y + oy; + if (cy < 0 || cy >= height) continue; + + for (int ox = -r; ox <= r; ox++) + { + int cx = x + ox; + if (cx < 0 || cx >= width) continue; + float normDiff = 1 - Mathf.Sqrt(oy * oy + ox * ox) / radius; + + if (normDiff < 0) normDiff = 0; + else if (normDiff > 1) normDiff = 1; + + heightmap[cy, cx] += threshold * sign * normDiff; + } + } + } + + private void Apply() + { + RealWorldTerrainContainer container = target as RealWorldTerrainContainer; + RealWorldTerrainItem item = target as RealWorldTerrainItem; + + int cx = container != null ? container.terrainCount.x : 1; + int cy = container != null ? container.terrainCount.y : 1; + + RealWorldTerrainItem[] terrains = container != null ? container.terrains : new[] { item }; + + int heightmapResolution = -1; + + foreach (RealWorldTerrainItem terrain in terrains) + { + if (heightmapResolution == -1) heightmapResolution = terrain.terrainData.heightmapResolution; + else if (heightmapResolution != terrain.terrainData.heightmapResolution) + { + EditorUtility.DisplayDialog("Error", "Terrains have different heightmap resolution.", "OK"); + return; + } + } + + width = cx * heightmapResolution; + height = cy * heightmapResolution; + + heightmap = new float[height, width]; + sedimentmap = new float[height, width]; + watermap = new float[height, width]; + + float[,] heights; + + for (int y = 0; y < cy; y++) + { + for (int x = 0; x < cx; x++) + { + int tIndex = y * cx + x; + heights = terrains[tIndex].terrainData.GetHeights(0, 0, heightmapResolution, heightmapResolution); + + for (int dy = 0; dy < heightmapResolution; dy++) + { + int row = y * heightmapResolution + dy; + + for (int dx = 0; dx < heightmapResolution; dx++) + { + heightmap[row, x * heightmapResolution + dx] = heights[dy, dx]; + } + } + } + } + + if (!WaterErosion()) return; + + heights = new float[heightmapResolution, heightmapResolution]; + + for (int y = 0; y < cy; y++) + { + for (int x = 0; x < cx; x++) + { + for (int dy = 0; dy < heightmapResolution; dy++) + { + int row = y * heightmapResolution + dy; + + for (int dx = 0; dx < heightmapResolution; dx++) + { + heights[dy, dx] = heightmap[row, x * heightmapResolution + dx]; + } + } + + int tIndex = y * cx + x; + terrains[tIndex].terrainData.SetHeights(0, 0, heights); + } + } + } + + private void MoveWater(int x, int y) + { + if (watermap[y, x] <= 0) return; + + int cn = 0; + float sd = 0; + float v = heightmap[y, x]; + + int x1 = Mathf.Max(x - 1, 0); + int x2 = Mathf.Min(x + 2, width); + + for (int cy = Mathf.Max(y - 1, 0); cy < Mathf.Min(y + 2, height); cy++) + { + for (int cx = x1; cx < x2; cx++) + { + if (cy == y && cx == x) continue; + + float decline = v - heightmap[cy, cx]; + float lenCoeff = 0.714f; + + if (decline > 0) + { + float d = decline * lenCoeff; + sd += d; + neighbours[cn].decline = d; + neighbours[cn].x = cx; + neighbours[cn].y = cy; + cn++; + } + } + } + + if (cn > 0) + { + if (sd < 0.00001f) sd = 0.00001f; + + float waterNorm = 1 / sd; + float waterHere = watermap[y, x]; + + for (int i = 0; i < cn; i++) + { + Neighbour n = neighbours[i]; + float waterFlow = waterHere * n.decline * waterNorm; + float sandAmount = 0.05f * waterFlow * n.decline; + watermap[n.y, n.x] += waterFlow; + sedimentmap[y, x] -= sandAmount; + sedimentmap[n.y, n.x] += sandAmount; + } + } + watermap[y, x] = 0; + } + + private void OnGUI() + { + scrollPosition = EditorGUILayout.BeginScrollView(scrollPosition); + + target = EditorGUILayout.ObjectField("Target", target, typeof(RealWorldTerrainMonoBase), true) as RealWorldTerrainMonoBase; + + iterations = EditorGUILayout.IntField("Erosion iterations", iterations); + rainfall = EditorGUILayout.FloatField("Rain fall", rainfall); + coneThreshold = EditorGUILayout.FloatField("Cone threshold", coneThreshold); + flowIterations = EditorGUILayout.IntField("Flow iterations", flowIterations); + + EditorGUILayout.EndScrollView(); + + if (GUILayout.Button("Apply")) Apply(); + } + + public static void OpenWindow(RealWorldTerrainMonoBase target) + { + RealWorldTerrainErosionFilter wnd = GetWindow(true, "Erosion Filter"); + wnd.target = target; + } + + private bool WaterErosion() + { + for (int i = 0; i < iterations; i++) + { + if (EditorUtility.DisplayCancelableProgressBar("Applying erosion", "Please wait...", (float) i / iterations)) + { + EditorUtility.ClearProgressBar(); + return false; + } + + for (int y = 0; y < height; y++) + { + for (int x = 0; x < width; x++) + { + watermap[y, x] = rainfall; + sedimentmap[y, x] = 0; + } + } + + for (int j = 0; j < flowIterations; j++) + { + for (int y = 0; y < height; y++) + { + for (int x = 0; x < width; x++) + { + MoveWater(x, y); + } + } + } + + for (int y = 0; y < height; y++) + { + for (int x = 0; x < width; x++) + { + AddSediment(x, y); + } + } + } + + EditorUtility.ClearProgressBar(); + + return true; + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainErosionFilter.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainErosionFilter.cs.meta new file mode 100644 index 000000000..0f99021a7 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainErosionFilter.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ff771e2b6cc0d9b45949373ba16854e9 +timeCreated: 1547585956 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainGeocodingWindow.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainGeocodingWindow.cs new file mode 100644 index 000000000..d819826e4 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainGeocodingWindow.cs @@ -0,0 +1,111 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using InfinityCode.RealWorldTerrain.Webservices; +using InfinityCode.RealWorldTerrain.Webservices.Results; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Tools +{ + public class RealWorldTerrainGeocodingWindow : EditorWindow + { + private static RealWorldTerrainGeocodingWindow wnd; + private RealWorldTerrainMonoBase target; + + private string response; + private Vector2 scrollPosition; + private string address; + private string languageCode = "en"; + private string key; + private GameObject resultGameObject; + + private void OnDestroy() + { + wnd = null; + } + + private void OnGUI() + { + target = EditorGUILayout.ObjectField("Container", target, typeof(RealWorldTerrainContainer), true) as RealWorldTerrainContainer; + + address = EditorGUILayout.TextField("Location Name", address); + key = EditorGUILayout.TextField("Google API key", key); + EditorGUILayout.BeginHorizontal(); + languageCode = EditorGUILayout.TextField("Language Code", languageCode); + RealWorldTerrainWindowUI.DrawHelpButton("List of Languages", "https://developers.google.com/maps/faq?hl=en#languagesupport"); + EditorGUILayout.EndHorizontal(); + + if (GUILayout.Button("Search")) + { + RealWorldTerrainGoogleGeocoding.Find( + new RealWorldTerrainGoogleGeocoding.GeocodingParams(address) + { + language = languageCode, + key = key + } + ).OnComplete += OnRequestComplete; + } + + EditorGUILayout.Space(); + + if (!string.IsNullOrEmpty(response)) + { + GUILayout.Label("Full Response: "); + scrollPosition = EditorGUILayout.BeginScrollView(scrollPosition); + EditorGUILayout.TextArea(response); + EditorGUILayout.EndScrollView(); + } + } + + private void OnRequestComplete(string response) + { + this.response = response; + try + { + RealWorldTerrainGoogleGeocodingResult[] result = RealWorldTerrainGoogleGeocoding.GetResults(response); + if (result.Length > 0) + { + Vector3 pos; + target.GetWorldPosition(result[0].geometry_location, out pos); + if (pos != default(Vector3)) + { + resultGameObject = GameObject.CreatePrimitive(PrimitiveType.Cube); + resultGameObject.name = "Geocoding Result"; + resultGameObject.transform.position = pos; + resultGameObject.GetComponent().sharedMaterial.color = Color.red; + RealWorldTerrainGeocodingObject geocodingObject = resultGameObject.AddComponent(); + geocodingObject.info = result[0]; + SceneView.duringSceneGui += OnSceneGUI; + } + } + } + catch + { + + } + Repaint(); + } + + private void OnSceneGUI(SceneView view) + { + view.LookAt(resultGameObject.transform.position, view.camera.transform.rotation, 100); + SceneView.duringSceneGui -= OnSceneGUI; + } + + [MenuItem("Window/Infinity Code/Real World Terrain/Tools/Geocoder")] + public static void OpenWindow() + { + OpenWindow(null); + } + + public static void OpenWindow(RealWorldTerrainMonoBase target) + { + if (wnd != null) wnd.Close(); + + wnd = GetWindow(true, "Geocoder"); + if (target == null) wnd.target = RealWorldTerrainUtils.FindObjectOfType(); + else wnd.target = target; + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainGeocodingWindow.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainGeocodingWindow.cs.meta new file mode 100644 index 000000000..c942565e6 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainGeocodingWindow.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d60df1f6c4e69234ba43aab3c8338a3b +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainGrassGeneratorWindow.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainGrassGeneratorWindow.cs new file mode 100644 index 000000000..d5073a947 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainGrassGeneratorWindow.cs @@ -0,0 +1,259 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Xml; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Tools +{ + public class RealWorldTerrainGrassGeneratorWindow : EditorWindow + { + private static RealWorldTerrainGrassGeneratorWindow wnd; + + private List colors; + private Color dryColor = new Color32(205, 188, 26, 255); + private Color healthyColor = new Color32(67, 249, 42, 255); + private RealWorldTerrainItem item; + private int maxHeight = 2; + private int maxWidth = 2; + private int minHeight = 1; + private int minWidth = 1; + private float noiseSpread = 0.1f; + private Texture2D previewTexture; + private Vector2 scrollPosition; + private Texture2D texture; + + private void DrawPreview() + { + TerrainData tdata = item.terrainData; + Texture2D originalTexture = item.texture; + float[,,] alphamap = tdata.GetAlphamaps(0, 0, tdata.alphamapWidth, tdata.alphamapHeight); + Color[] originalColors = originalTexture.GetPixels(); + int w = originalTexture.width; + int h = originalTexture.height; + float sw = w / (float)tdata.alphamapWidth; + float sh = h / (float)tdata.alphamapHeight; + int l = alphamap.GetLength(2) - 1; + float step = 1 / (sw * sh); + + for (int x = 0; x < w; x++) + { + int fx = Mathf.FloorToInt(x / sw); + bool isFirstX = x % sw == 0; + for (int y = 0; y < h; y++) + { + int fy = Mathf.FloorToInt(y / sh); + bool isFirstY = y % sh == 0; + Color clr = originalColors[x * w + y]; + if (isFirstX && isFirstY) alphamap[fx, fy, l] = 0; + alphamap[fx, fy, l] += colors.Any(c => c.EqualWithRange(clr)) ? step : 0; + } + } + tdata.SetAlphamaps(0, 0, alphamap); + } + + private void ExportSettings() + { + string path = EditorUtility.SaveFilePanel("Export settings", Application.dataPath, "GrassGeneratorSettings.xml", "xml"); + if (string.IsNullOrEmpty(path)) return; + + XmlDocument doc = new XmlDocument(); + XmlElement firstElement = (XmlElement)doc.AppendChild(doc.CreateElement("GrassGenerator")); + firstElement.SetAttribute("dryColor", RealWorldTerrainUtils.ColorToHex(dryColor)); + firstElement.SetAttribute("healthyColor", RealWorldTerrainUtils.ColorToHex(healthyColor)); + firstElement.SetAttribute("minWidth", minWidth.ToString()); + firstElement.SetAttribute("maxWidth", maxWidth.ToString()); + firstElement.SetAttribute("minHeight", minHeight.ToString()); + firstElement.SetAttribute("maxHeight", maxHeight.ToString()); + firstElement.SetAttribute("noiseSpread", noiseSpread.ToString()); + firstElement.SetAttribute("textureID", (texture != null) ? texture.GetInstanceID().ToString() : "-1"); + + foreach (RealWorldTerrainColorItem color in colors) firstElement.AppendChild(color.GetNode(doc)); + + doc.Save(path); + } + + private void GenerateGrass() + { + DetailPrototype prototype = new DetailPrototype + { + prototypeTexture = texture, + renderMode = DetailRenderMode.GrassBillboard, + minWidth = minWidth, + minHeight = minHeight, + maxHeight = maxHeight, + maxWidth = maxWidth, + dryColor = dryColor, + healthyColor = healthyColor, + noiseSpread = noiseSpread + }; + + TerrainData tdata = item.terrainData; + Texture2D originalTexture = item.texture; + int[,] detailmap = new int[tdata.detailResolution, tdata.detailResolution]; + Color[] originalColors = originalTexture.GetPixels(); + int w = originalTexture.width; + int h = originalTexture.height; + float sw = w / (float)tdata.detailResolution; + float sh = h / (float)tdata.detailResolution; + + for (int x = 0; x < w; x++) + { + int fx = Mathf.FloorToInt(x / sw); + bool isFirstX = x % sw == 0; + for (int y = 0; y < h; y++) + { + int fy = Mathf.FloorToInt(y / sh); + bool isFirstY = y % sh == 0; + Color clr = originalColors[x * w + y]; + if (isFirstX && isFirstY) detailmap[fx, fy] = 0; + detailmap[fx, fy] += colors.Any(c => c.EqualWithRange(clr)) ? 1 : 0; + } + } + + List prototypes = tdata.detailPrototypes.ToList(); + prototypes.Add(prototype); + tdata.detailPrototypes = prototypes.ToArray(); + tdata.SetDetailLayer(0, 0, tdata.detailPrototypes.Length - 1, detailmap); + } + + private void GeneratePreview() + { + TerrainData tdata = item.terrainData; + + RealWorldTerrainEditorUtils.GeneratePreviewTexture(tdata, ref previewTexture); + + DrawPreview(); + GC.Collect(); + } + + private void ImportSettings() + { + string path = EditorUtility.OpenFilePanel("Export settings", Application.dataPath, "xml"); + if (string.IsNullOrEmpty(path)) return; + + XmlDocument doc = new XmlDocument(); + doc.Load(path); + + XmlElement firstElement = (XmlElement)doc.FirstChild; + if (firstElement.Name != "GrassGenerator") return; + + dryColor = RealWorldTerrainUtils.HexToColor(firstElement.GetAttribute("dryColor")); + healthyColor = RealWorldTerrainUtils.HexToColor(firstElement.GetAttribute("healthyColor")); + minWidth = int.Parse(firstElement.GetAttribute("minWidth")); + maxWidth = int.Parse(firstElement.GetAttribute("maxWidth")); + minHeight = int.Parse(firstElement.GetAttribute("minHeight")); + maxHeight = int.Parse(firstElement.GetAttribute("maxHeight")); + noiseSpread = float.Parse(firstElement.GetAttribute("noiseSpread")); + int textureID = int.Parse(firstElement.GetAttribute("textureID")); + if (textureID != -1) texture = (Texture2D)EditorUtility.InstanceIDToObject(textureID); + else texture = null; + + colors = new List(); + + foreach (XmlElement node in firstElement.ChildNodes) + { + RealWorldTerrainColorItem color = new RealWorldTerrainColorItem(); + color.SetNode(node); + colors.Add(color); + } + } + + private void OnDestroy() + { + OnDisable(); + wnd = null; + } + + private void OnDisable() + { + if (previewTexture != null) + { + List tls = item.terrainData.terrainLayers.ToList(); + tls.RemoveAll(l => l.diffuseTexture == previewTexture); + item.terrainData.terrainLayers = tls.ToArray(); + previewTexture = null; + EditorUtility.UnloadUnusedAssetsImmediate(); + } + } + + private void OnGUI() + { + OnGUIToolbar(); + + item = EditorGUILayout.ObjectField("Terrain Item: ", item, typeof(RealWorldTerrainItem), true) as RealWorldTerrainItem; + if (item == null) return; + + OnGUIProps(); + + scrollPosition = EditorGUILayout.BeginScrollView(scrollPosition); + for (int i = 0; i < colors.Count; i++) colors[i].OnGUI(i + 1); + EditorGUILayout.EndScrollView(); + + colors.RemoveAll(c => c.deleted); + + GUILayout.BeginHorizontal(); + + if (GUILayout.Button("Add color")) colors.Add(new RealWorldTerrainColorItem()); + if (GUILayout.Button("Generate preview")) GeneratePreview(); + if (GUILayout.Button("Remove preview") && previewTexture != null) OnDisable(); + + if (GUILayout.Button("Generate grass")) + { + GenerateGrass(); + Close(); + GC.Collect(); + } + + GUILayout.EndHorizontal(); + } + + private void OnGUIProps() + { + if (colors == null) colors = new List(); + texture = EditorGUILayout.ObjectField("Grass texture: ", texture, typeof(Texture2D), true) as Texture2D; + + minWidth = EditorGUILayout.IntField("Min width: ", minWidth); + maxWidth = EditorGUILayout.IntField("Max width: ", maxWidth); + minHeight = EditorGUILayout.IntField("Min height: ", minHeight); + maxHeight = EditorGUILayout.IntField("Max height: ", maxHeight); + noiseSpread = EditorGUILayout.FloatField("Noise spread: ", noiseSpread); + healthyColor = EditorGUILayout.ColorField("Healthy color: ", healthyColor); + dryColor = EditorGUILayout.ColorField("Dry color: ", dryColor); + } + + private void OnGUIToolbar() + { + GUILayout.BeginHorizontal(EditorStyles.toolbar); + + GUIStyle toolbarButtonStyle = new GUIStyle(EditorStyles.toolbarButton) { padding = new RectOffset(5, 5, 2, 2) }; + + if (GUILayout.Button(new GUIContent(RealWorldTerrainResources.openIcon, "Import settings"), toolbarButtonStyle, + GUILayout.ExpandWidth(false))) + ImportSettings(); + if (GUILayout.Button(new GUIContent(RealWorldTerrainResources.saveIcon, "Export settings"), toolbarButtonStyle, + GUILayout.ExpandWidth(false))) + ExportSettings(); + + GUILayout.Label("", EditorStyles.toolbarButton); + GUILayout.EndHorizontal(); + } + + public static void OpenWindow() + { + if (wnd != null) wnd.Close(); + + wnd = GetWindow("Grass RealWorldTerrainWindow", true); + } + + public static void OpenWindow(RealWorldTerrainItem item) + { + OpenWindow(); + wnd.item = item; + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainGrassGeneratorWindow.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainGrassGeneratorWindow.cs.meta new file mode 100644 index 000000000..2b2561747 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainGrassGeneratorWindow.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: ca1806edef40ac04b9f74dd29b7996c0 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainHUEWindow.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainHUEWindow.cs new file mode 100644 index 000000000..874feb0dc --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainHUEWindow.cs @@ -0,0 +1,209 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System.IO; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Tools +{ + public class RealWorldTerrainHUEWindow : Base.RealWorldTerrainBaseContainerTool + { + private int brightness; + private int contrast; + private int tone; + private int saturation; + + protected override void Apply() + { + int tick = 0; + + int sx = countX; + int sy = countY; + + for (int ty = 0; ty < sy; ty++) + { + for (int tx = 0; tx < sx; tx++) + { + int tIndex = ty * sx + tx; + + Texture2D texture = terrains[tIndex].texture; + if (texture == null) continue; + Color[] colors = texture.GetPixels(); + + int cl = colors.Length; + for (int i = 0; i < cl; i++) + { + tick++; + + if (tick >= 1000) + { + float progress = ((ty * sx + tx) * cl + i) / (float)(sx * sy * cl); + EditorUtility.DisplayProgressBar("Apply Brightness, Contrast and HUE", Mathf.RoundToInt(progress * 100) + "%", progress); + tick = 0; + } + + colors[i] = ApplyFilters(colors[i]); + } + + Texture2D newTexture = new Texture2D(texture.width, texture.height); + newTexture.SetPixels(colors); + newTexture.Apply(); + + string path = AssetDatabase.GetAssetPath(texture); + File.WriteAllBytes(path, newTexture.EncodeToPNG()); + } + } + + AssetDatabase.Refresh(ImportAssetOptions.ForceUpdate); + Close(); + EditorUtility.ClearProgressBar(); + } + + protected override Color ApplyFilters(Color color) + { + if (brightness < 0) color = Color.Lerp(color, Color.black, (float)brightness / -150); + else if (brightness > 0) color = Color.Lerp(color, Color.white, (float)brightness / 150); + + if (contrast != 0) + { + float c = Mathf.Pow((contrast + 100f) / 100, 2); + + float r = (color.r - 0.5f) * c + 0.5f; + float g = (color.g - 0.5f) * c + 0.5f; + float b = (color.b - 0.5f) * c + 0.5f; + + color.r = Mathf.Clamp01(r); + color.g = Mathf.Clamp01(g); + color.b = Mathf.Clamp01(b); + } + + if (tone != 0) + { + float t = tone >= 0 ? tone : tone + 360; + float rt = t / 120; + rt = rt - (int)rt; + + float r = color.r; + float g = color.g; + float b = color.b; + + float nr, ng, nb; + + if (t < 120) + { + nr = Mathf.Lerp(r, b, rt); + ng = Mathf.Lerp(g, r, rt); + nb = Mathf.Lerp(b, g, rt); + } + else if (t < 240) + { + nr = Mathf.Lerp(b, g, rt); + ng = Mathf.Lerp(r, b, rt); + nb = Mathf.Lerp(g, r, rt); + } + else + { + nr = Mathf.Lerp(g, r, rt); + ng = Mathf.Lerp(b, g, rt); + nb = Mathf.Lerp(r, b, rt); + } + + color.r = nr; + color.g = ng; + color.b = nb; + } + + if (saturation != 0) + { + float s = Mathf.Pow((saturation + 100f) / 100, 2); + float averageColor = color.grayscale; + float difR = color.r - averageColor; + float difG = color.g - averageColor; + float difB = color.b - averageColor; + color.r = averageColor + difR * s; + color.g = averageColor + difG * s; + color.b = averageColor + difB * s; + } + + return color; + } + + protected override void OnContentGUI() + { + EditorGUI.BeginChangeCheck(); + + bool reset = false; + + EditorGUILayout.BeginHorizontal(); + brightness = EditorGUILayout.IntSlider("Brightness", brightness, -150, 150); + if (GUILayout.Button("Reset", GUILayout.ExpandWidth(false))) + { + brightness = 0; + reset = true; + } + EditorGUILayout.EndHorizontal(); + + EditorGUILayout.BeginHorizontal(); + contrast = EditorGUILayout.IntSlider("Contrast", contrast, -100, 100); + if (GUILayout.Button("Reset", GUILayout.ExpandWidth(false))) + { + contrast = 0; + reset = true; + } + EditorGUILayout.EndHorizontal(); + + EditorGUILayout.BeginHorizontal(); + tone = EditorGUILayout.IntSlider("Tone", tone, -180, 180); + if (GUILayout.Button("Reset", GUILayout.ExpandWidth(false))) + { + tone = 0; + reset = true; + } + EditorGUILayout.EndHorizontal(); + + EditorGUILayout.BeginHorizontal(); + saturation = EditorGUILayout.IntSlider("Saturation", saturation, -100, 100); + if (GUILayout.Button("Reset", GUILayout.ExpandWidth(false))) + { + saturation = 0; + reset = true; + } + EditorGUILayout.EndHorizontal(); + + if (EditorGUI.EndChangeCheck() || reset) UpdatePreview(); + + if (image != null && preview != null) + { + int width = (int)position.width; + + GUILayout.Box("", GUILayout.Height(width / 2), GUILayout.ExpandWidth(true)); + Rect lastRect = GUILayoutUtility.GetLastRect(); + + if (Event.current.type != EventType.Layout) + { + float imgWidth = lastRect.width / 2 - 10; + EditorGUI.DrawPreviewTexture(new Rect(lastRect.x + 5, lastRect.y + 5, imgWidth, lastRect.height - 10), image, null, ScaleMode.ScaleToFit); + EditorGUI.DrawPreviewTexture(new Rect(lastRect.x + 5 + lastRect.width / 2, lastRect.y + 5, imgWidth, lastRect.height - 10), preview, null, ScaleMode.ScaleToFit); + } + } + } + + protected override void UpdatePreview() + { + for (int i = 0; i < originalColors.Length; i++) previewColors[i] = ApplyFilters(originalColors[i]); + + preview.SetPixels(previewColors); + preview.Apply(); + } + + public static void OpenWindow(RealWorldTerrainMonoBase item) + { + if (wnd != null) wnd.Close(); + + wnd = GetWindow(true, "Brightness, Contrast and HUE", true); + wnd.item = item; + wnd.GetImage(); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainHUEWindow.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainHUEWindow.cs.meta new file mode 100644 index 000000000..98e170fb2 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainHUEWindow.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: bdd9aef836e10144b820eacfa7c98d8d +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainHeightmapExporter.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainHeightmapExporter.cs new file mode 100644 index 000000000..1c76cfa3a --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainHeightmapExporter.cs @@ -0,0 +1,129 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System.IO; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Tools +{ + public class RealWorldTerraiHeightmapExporter : EditorWindow + { + private RealWorldTerrainMonoBase target; + private int depth = 16; + private RealWorldTerrainByteOrder order = RealWorldTerrainByteOrder.Windows; + private GUIContent[] depthLabels; + private int[] depthValues; + + private void OnEnable() + { + depthLabels = new[] {new GUIContent("8"), new GUIContent("16")}; + depthValues = new[] { 8, 16 }; + } + + private void OnGUI() + { + target = EditorGUILayout.ObjectField("Target", target, typeof(RealWorldTerrainMonoBase), true) as RealWorldTerrainMonoBase; + depth = EditorGUILayout.IntPopup(new GUIContent("Depth"), depth, depthLabels, depthValues); + order = (RealWorldTerrainByteOrder) EditorGUILayout.EnumPopup("Byte Order", order); + bool disabled = target == null || target.prefs.resultType != RealWorldTerrainResultType.terrain; + EditorGUI.BeginDisabledGroup(disabled); + if (GUILayout.Button("Export")) ExportHeightmap(); + EditorGUI.EndDisabledGroup(); + + if (target != null) + { + RealWorldTerrainContainer container = target as RealWorldTerrainContainer; + int cx = container != null ? container.terrainCount.x : 1; + int cy = container != null ? container.terrainCount.y : 1; + + RealWorldTerrainItem item = target as RealWorldTerrainItem; + RealWorldTerrainItem[] terrains = container != null ? container.terrains : new[] { item }; + + int heightmapResolution = terrains[0].terrainData.heightmapResolution; + + int textureWidth = cx * heightmapResolution; + int textureHeight = cy * heightmapResolution; + EditorGUILayout.HelpBox("Width: " + textureWidth + "px, height: " + textureHeight + "px, channel: 1", MessageType.Info); + } + } + + private void ExportHeightmap() + { + string filename = EditorUtility.SaveFilePanel("Export RAW Heightmap", Application.dataPath, "heightmap.raw", "raw"); + if (string.IsNullOrEmpty(filename)) return; + + int heightmapResolution = -1; + + RealWorldTerrainContainer container = target as RealWorldTerrainContainer; + RealWorldTerrainItem item = target as RealWorldTerrainItem; + + int cx = container != null ? container.terrainCount.x : 1; + int cy = container != null ? container.terrainCount.y : 1; + + RealWorldTerrainItem[] terrains = container != null ? container.terrains : new[] { item }; + + foreach (RealWorldTerrainItem terrain in terrains) + { + if (heightmapResolution == -1) heightmapResolution = terrain.terrainData.heightmapResolution; + else if (heightmapResolution != terrain.terrainData.heightmapResolution) + { + EditorUtility.DisplayDialog("Error", "Terrains have different heightmap resolution.", "OK"); + return; + } + } + + FileStream stream = new FileStream(filename, FileMode.Create); + BinaryWriter writer = new BinaryWriter(stream); + + int textureWidth = cx * heightmapResolution; + int coof = depth == 8 ? 1 : 2; + + for (int y = 0; y < cy; y++) + { + for (int x = 0; x < cx; x++) + { + int tIndex = y * cx + x; + float[,] heightmap = terrains[tIndex].terrainData.GetHeights(0, 0, heightmapResolution, heightmapResolution); + + for (int dy = 0; dy < heightmapResolution; dy++) + { + float progress = (tIndex * heightmapResolution + dy) / (float)(cx * cy * heightmapResolution); + EditorUtility.DisplayProgressBar("Export RAW Heightmap", Mathf.RoundToInt(progress * 100) + "%", progress); + + int row = cy * heightmapResolution - (y * heightmapResolution + dy) - 1; + int seek = (row * textureWidth + x * heightmapResolution) * coof; + + stream.Seek(seek, SeekOrigin.Begin); + + for (int dx = 0; dx < heightmapResolution; dx++) + { + if (depth == 8) writer.Write((byte) Mathf.RoundToInt(heightmap[dy, dx] * 255)); + else + { + short v = (short)Mathf.RoundToInt(heightmap[dy, dx] * 65536); + if (order == RealWorldTerrainByteOrder.Windows) writer.Write(v); + else + { + writer.Write((byte)(v / 256)); + writer.Write((byte)(v % 256)); + } + } + } + } + } + } + + stream.Close(); + EditorUtility.ClearProgressBar(); + + EditorUtility.RevealInFinder(filename); + } + + public static void OpenWindow(RealWorldTerrainMonoBase target) + { + RealWorldTerraiHeightmapExporter wnd = GetWindow(true, "Heightmap Exporter"); + wnd.target = target; + } + } +} diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainHeightmapExporter.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainHeightmapExporter.cs.meta new file mode 100644 index 000000000..3a2b58c38 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainHeightmapExporter.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d284ef9aabf0c25429ec762b595c58fa +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainHeightmapImporter.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainHeightmapImporter.cs new file mode 100644 index 000000000..175a3828d --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainHeightmapImporter.cs @@ -0,0 +1,125 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System.IO; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Tools +{ + public class RealWorldTerrainHeightmapImporter : EditorWindow + { + private RealWorldTerrainMonoBase target; + private int depth = 16; + private RealWorldTerrainByteOrder order = RealWorldTerrainByteOrder.Windows; + private GUIContent[] depthLabels; + private int[] depthValues; + + private void OnEnable() + { + depthLabels = new[] { new GUIContent("8"), new GUIContent("16") }; + depthValues = new[] { 8, 16 }; + } + + private void OnGUI() + { + target = EditorGUILayout.ObjectField("Target: ", target, typeof(RealWorldTerrainMonoBase), true) as RealWorldTerrainMonoBase; + + depth = EditorGUILayout.IntPopup(new GUIContent("Depth"), depth, depthLabels, depthValues); + order = (RealWorldTerrainByteOrder)EditorGUILayout.EnumPopup("Byte Order", order); + + bool disabled = target == null || target.prefs.resultType != RealWorldTerrainResultType.terrain; + + EditorGUI.BeginDisabledGroup(disabled); + if (GUILayout.Button("Import")) ImportHeightmap(); + + EditorGUI.EndDisabledGroup(); + } + + private void ImportHeightmap() + { + string filename = EditorUtility.OpenFilePanel("Import RAW Heightmap", Application.dataPath, "raw"); + if (string.IsNullOrEmpty(filename)) return; + + RealWorldTerrainContainer container = target as RealWorldTerrainContainer; + RealWorldTerrainItem item = target as RealWorldTerrainItem; + + int cx = container != null ? container.terrainCount.x : 1; + int cy = container != null ? container.terrainCount.y : 1; + + RealWorldTerrainItem[] terrains = container != null ? container.terrains : new[] { item }; + + long fileSize = new FileInfo(filename).Length; + + if (depth == 16) fileSize /= 2; + fileSize /= cx * cy; + + int heightmapResolution = (int)Mathf.Sqrt(fileSize); + if (heightmapResolution * heightmapResolution != fileSize) + { + EditorUtility.DisplayDialog("Error", "Invalid file size.", "OK"); + return; + } + if (Mathf.ClosestPowerOfTwo(heightmapResolution) != heightmapResolution - 1) + { + EditorUtility.DisplayDialog("Error", "Invalid file size.", "OK"); + return; + } + + int textureWidth = cx * heightmapResolution; + int coof = depth == 8 ? 1 : 2; + + FileStream stream = new FileStream(filename, FileMode.Open); + + for (int y = 0; y < cy; y++) + { + for (int x = 0; x < cx; x++) + { + float[,] heightmap = new float[heightmapResolution, heightmapResolution]; + + for (int dy = 0; dy < heightmapResolution; dy++) + { + float progress = ((y * cx + x) * heightmapResolution + dy) / (float)(cx * cy * heightmapResolution); + EditorUtility.DisplayProgressBar("Import RAW Heightmap", Mathf.RoundToInt(progress * 100) + "%", progress); + + int row = cy * heightmapResolution - (y * heightmapResolution + dy) - 1; + int seek = (row * textureWidth + x * heightmapResolution) * coof; + + stream.Seek(seek, SeekOrigin.Begin); + + for (int dx = 0; dx < heightmapResolution; dx++) + { + if (depth == 8) heightmap[dy, dx] = stream.ReadByte() / 256f; + else + { + int b1 = stream.ReadByte(); + int b2 = stream.ReadByte(); + + if (order == RealWorldTerrainByteOrder.Windows) heightmap[dy, dx] = (b2 * 256 + b1) / 65536f; + else heightmap[dy, dx] = (b1 * 256 + b2) / 65536f; + } + } + } + + int tIndex = y * cx + x; + if (terrains[tIndex].terrainData.heightmapResolution != heightmapResolution) + { + Vector3 size = terrains[tIndex].terrainData.size; + terrains[tIndex].terrainData.heightmapResolution = heightmapResolution; + terrains[tIndex].terrainData.size = size; + } + terrains[tIndex].terrainData.SetHeights(0, 0, heightmap); + } + } + + stream.Close(); + EditorUtility.ClearProgressBar(); + } + + public static void OpenWindow(RealWorldTerrainMonoBase target) + { + RealWorldTerrainHeightmapImporter wnd = GetWindow(true, "Heightmap Importer"); + wnd.target = target; + } + } +} diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainHeightmapImporter.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainHeightmapImporter.cs.meta new file mode 100644 index 000000000..ca18ab5d5 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainHeightmapImporter.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 372c3c85d760fdb438fff5e09ca50ed3 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainMeshOBJExporter.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainMeshOBJExporter.cs new file mode 100644 index 000000000..0867732cb --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainMeshOBJExporter.cs @@ -0,0 +1,103 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System.IO; +using System.Text; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Tools +{ + public static class RealWorldTerrainMeshOBJExporter + { + private static int index = 0; + + public static void Export(RealWorldTerrainMonoBase item) + { + string meshName = item.gameObject.name; + string filename = EditorUtility.SaveFilePanel("Export .obj file", "", meshName, "obj"); + if (string.IsNullOrEmpty(filename)) return; + + StringBuilder meshString = new StringBuilder(); + + meshString.Append("#").Append(meshName).Append(".obj") + .Append("\n#").Append(System.DateTime.Now.ToLongDateString()) + .Append("\n#").Append(System.DateTime.Now.ToLongTimeString()) + .Append("\n#-------") + .Append("\n\n"); + + meshString.Append("g ").Append(meshName).Append("\n"); + + MeshFilter[] filters = item.GetComponentsInChildren(); + index = 0; + + for (int i = 0; i < filters.Length; i++) + { + MeshFilter filter = filters[i]; + if (EditorUtility.DisplayCancelableProgressBar("Export OBJ", "Please wait", i / (float) filters.Length)) + { + EditorUtility.ClearProgressBar(); + return; + } + MeshToString(filter, meshString); + } + + StreamWriter sw = new StreamWriter(filename); + sw.Write(meshString.ToString()); + sw.Close(); + + EditorUtility.ClearProgressBar(); + + EditorUtility.RevealInFinder(filename); + } + + private static void MeshToString(MeshFilter mf, StringBuilder meshString) + { + Transform t = mf.transform; + Quaternion r = t.localRotation; + + meshString.Append("g ").Append(t.name).Append("\n"); + + int numVertices = 0; + Mesh m = mf.sharedMesh; + Material[] mats = mf.GetComponent().sharedMaterials; + + foreach (Vector3 vv in m.vertices) + { + Vector3 v = t.TransformPoint(vv); + numVertices++; + meshString.Append("v ").Append(v.x).Append(" ").Append(v.y).Append(" ").Append(-v.z).Append("\n"); + } + meshString.Append("\n"); + foreach (Vector3 nn in m.normals) + { + Vector3 v = r * nn; + meshString.Append("vn ").Append(-v.x).Append(" ").Append(-v.y).Append(" ").Append(v.z).Append("\n"); + } + meshString.Append("\n"); + foreach (Vector3 v in m.uv) + { + meshString.Append("vt ").Append(v.x).Append(" ").Append(v.y).Append("\n"); + } + for (int material = 0; material < m.subMeshCount; material++) + { + meshString.Append("\n"); + meshString.Append("usemtl ").Append(mats[material].name).Append("\n"); + meshString.Append("usemap ").Append(mats[material].name).Append("\n"); + + int[] triangles = m.GetTriangles(material); + for (int i = 0; i < triangles.Length; i += 3) + { + int ti1 = triangles[i] + 1 + index; + int ti2 = triangles[i + 1] + 1 + index; + int ti3 = triangles[i + 2] + 1 + index; + meshString.Append("f ").Append(ti1).Append("/").Append(ti1).Append("/").Append(ti1).Append(" "). + Append(ti2).Append("/").Append(ti2).Append("/").Append(ti2).Append(" "). + Append(ti3).Append("/").Append(ti3).Append("/").Append(ti3).Append(" ").Append("\n"); + } + } + + index += numVertices; + } + } +} diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainMeshOBJExporter.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainMeshOBJExporter.cs.meta new file mode 100644 index 000000000..38853b494 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainMeshOBJExporter.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 9164dc2fc4e1c114ba7da1b68a6c9bfa +timeCreated: 1523353454 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainObjectPlacerWindow.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainObjectPlacerWindow.cs new file mode 100644 index 000000000..c1793ad2c --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainObjectPlacerWindow.cs @@ -0,0 +1,341 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.IO; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Tools +{ + public class RealWorldTerrainObjectPlacerWindow : EditorWindow + { + private static string[] gridLabels = { "Place New Object", "Update Position" }; + + private static RealWorldTerrainObjectPlacerWindow wnd; + private int isNewGameobject = 0; + private GameObject obj; + private double latitude; + private double longitude; + private double altitude; + private RealWorldTerrainContainer container; + private bool selectGameObject = true; + private PlaceMode placeMode = PlaceMode.singleLocation; + private double[] locations; + private string multipleLocations; + private string multipleLocationsFile; + + private bool hasCoordinates = false; + private bool useAltitude = false; + private double cursorLongitude; + private double cursorLatitude; + private double cursorAltitude; + private Vector2 scrollPosition; + + private void DrawCursorLocation() + { + if (!hasCoordinates) return; + + EditorGUILayout.LabelField("Cursor Coordinates:"); + EditorGUILayout.LabelField("Latitude: ", cursorLatitude.ToString()); + EditorGUILayout.LabelField("Longitude: ", cursorLongitude.ToString()); + EditorGUILayout.LabelField("Altitude: ", cursorAltitude.ToString("F2") + " meters"); + EditorGUILayout.LabelField("Use CTRL+SHIFT to insert the coordinates."); + + if (Event.current.control && Event.current.shift) + { + latitude = cursorLatitude; + longitude = cursorLongitude; + altitude = cursorAltitude; + } + } + + private void DrawMultipleLocations() + { + EditorGUILayout.HelpBox("Use one location in decimal per line in \"latitude;longitude\" format without quotes.\n", MessageType.None); + scrollPosition = EditorGUILayout.BeginScrollView(scrollPosition, GUILayout.MaxHeight(200)); + multipleLocations = EditorGUILayout.TextArea(multipleLocations, GUILayout.ExpandHeight(true)); + EditorGUILayout.EndScrollView(); + } + + private void DrawMultipleLocationsFromFile() + { + EditorGUILayout.HelpBox("Use one location in decimal per line in \"latitude;longitude\" format without quotes.\n", MessageType.None); + EditorGUILayout.BeginHorizontal(); + multipleLocationsFile = EditorGUILayout.TextField("File: ", multipleLocationsFile); + if (GUILayout.Button("...", GUILayout.ExpandWidth(false))) + { + multipleLocationsFile = EditorUtility.OpenFilePanel("Select Input File", multipleLocationsFile, "txt"); + } + EditorGUILayout.EndHorizontal(); + } + + private void DrawNewUI() + { + obj = EditorGUILayout.ObjectField("Prefab: ", obj, typeof(GameObject), true) as GameObject; + + placeMode = (PlaceMode)EditorGUILayout.EnumPopup("Place Mode", placeMode); + if (placeMode == PlaceMode.singleLocation) DrawSingleLocation(); + else if (placeMode == PlaceMode.multipleLocations) DrawMultipleLocations(); + else if (placeMode == PlaceMode.multipleLocationsFromFile) DrawMultipleLocationsFromFile(); + + selectGameObject = EditorGUILayout.Toggle("Select GameObject(s)?", selectGameObject); + + if (GUILayout.Button("Place") && ValidateFields()) PlaceItems(); + } + + private void DrawSingleLocation() + { + latitude = EditorGUILayout.DoubleField("Latitude", latitude); + longitude = EditorGUILayout.DoubleField("Longitude", longitude); + EditorGUILayout.BeginHorizontal(); + + useAltitude = GUILayout.Toggle(useAltitude, GUIContent.none, GUILayout.Width(16)); + EditorGUI.BeginDisabledGroup(!useAltitude); + altitude = EditorGUILayout.DoubleField("Altitude", altitude); + EditorGUI.EndDisabledGroup(); + + EditorGUILayout.EndHorizontal(); + } + + private void DrawUpdateUI() + { + obj = EditorGUILayout.ObjectField("GameObject: ", obj, typeof(GameObject), true) as GameObject; + + DrawSingleLocation(); + selectGameObject = EditorGUILayout.Toggle("Select GameObject?", selectGameObject); + + if (GUILayout.Button("Update") && ValidateFields()) + { + UpdateGameObjectPosition(obj, longitude, latitude, altitude); + if (selectGameObject) SelectGameObject(obj); + } + } + + private bool LoadMultipleLocations(string content) + { + if (string.IsNullOrEmpty(content)) + { + ShowError("List of locations is empty."); + return false; + } + + string[] lines = content.Split(new[] { "\r\n", "\r", "\n" }, StringSplitOptions.RemoveEmptyEntries); + if (lines.Length == 0) + { + ShowError("List of locations is empty."); + return false; + } + + locations = new double[lines.Length * 2]; + for (int i = 0; i < lines.Length; i++) + { + string[] coordinates = lines[i].Split(';'); + if (coordinates.Length != 2) + { + ShowError(string.Format("Invalid coordinates in line {0}.", i + 1)); + return false; + } + + double lng, lat; + if (!double.TryParse(coordinates[0].Trim(), out lat) || !double.TryParse(coordinates[1].Trim(), out lng)) + { + ShowError(string.Format("Invalid coordinates in line {0}.", i + 1)); + return false; + } + + locations[i * 2] = lng; + locations[i * 2 + 1] = lat; + } + + return true; + } + + private bool LoadMultipleLocationsFromFile() + { + if (!File.Exists(multipleLocationsFile)) + { + ShowError("Input file does not exist."); + return false; + } + + try + { + string content = File.ReadAllText(multipleLocationsFile); + return LoadMultipleLocations(content); + } + catch (Exception e) + { + ShowError("Exception: " + e.Message); + return false; + } + } + + private void OnDestroy() + { + EditorApplication.update -= OnUpdate; + SceneView.duringSceneGui -= OnSceneGUI; + wnd = null; + } + + private void OnEnable() + { + OnDestroy(); + + wnd = this; + EditorApplication.update += OnUpdate; + SceneView.duringSceneGui += OnSceneGUI; + } + + private void OnGUI() + { + EditorGUI.BeginChangeCheck(); + isNewGameobject = GUILayout.SelectionGrid(isNewGameobject, gridLabels, 2); + if (EditorGUI.EndChangeCheck()) obj = null; + + container = EditorGUILayout.ObjectField("Container", container, typeof(RealWorldTerrainContainer), true) as RealWorldTerrainContainer; + + if (isNewGameobject == 0) DrawNewUI(); + else DrawUpdateUI(); + + DrawCursorLocation(); + } + + private void OnSceneGUI(SceneView view) + { + if (container == null) return; + + Vector2 mp = Event.current.mousePosition; + mp.y = view.camera.pixelHeight - mp.y; + + Ray ray = HandleUtility.GUIPointToWorldRay(Event.current.mousePosition); + RaycastHit hit; + hasCoordinates = Physics.Raycast(ray, out hit); + if (hasCoordinates) container.GetCoordinatesByWorldPosition(hit.point, out cursorLongitude, out cursorLatitude, out cursorAltitude); + } + + private void OnUpdate() + { + Repaint(); + } + + [MenuItem("Window/Infinity Code/Real World Terrain/Tools/Object Placer")] + public static void OpenWindow() + { + OpenWindow(null); + } + + public static void OpenWindow(RealWorldTerrainContainer container) + { + if (wnd != null) wnd.Close(); + + wnd = GetWindow(false, "Object Placer", true); + if (container == null) + { + wnd.container = RealWorldTerrainUtils.FindObjectOfType(); + } + else wnd.container = container; + } + + public static void OpenWindow(RealWorldTerrainContainer container, double lng, double lat) + { + OpenWindow(container); + wnd.latitude = lat; + wnd.longitude = lng; + } + + private void PlaceItems() + { + if (placeMode == PlaceMode.singleLocation) + { + GameObject go = Instantiate(obj); + UpdateGameObjectPosition(go, longitude, latitude, altitude); + if (selectGameObject) SelectGameObject(go); + } + else + { + int count = locations.Length / 2; + GameObject[] gos = new GameObject[count]; + + for (int i = 0; i < count; i++) + { + GameObject go = Instantiate(obj); + double lng = locations[i * 2]; + double lat = locations[i * 2 + 1]; + + UpdateGameObjectPosition(go, lng, lat); + gos[i] = go; + } + + if (selectGameObject) + { + Selection.objects = gos; + EditorGUIUtility.PingObject(gos[0]); + } + } + } + + private void SelectGameObject(GameObject go) + { + if (!selectGameObject) return; + + Selection.activeGameObject = go; + EditorGUIUtility.PingObject(go); + } + + private static void ShowError(string message) + { + EditorUtility.DisplayDialog("Error", message, "OK"); + } + + private void UpdateGameObjectPosition(GameObject go, double lng, double lat, double alt = 0) + { + Vector3 worldPosition; + bool status = false; + + if (useAltitude) status = container.GetWorldPosition(lng, lat, alt, out worldPosition); + else status = container.GetWorldPosition(lng, lat, out worldPosition); + + if (status) go.transform.position = worldPosition; + } + + private bool ValidateFields() + { + if (container == null) + { + ShowError("Please select Real World Terrain Container."); + return false; + } + + if (obj == null) + { + ShowError(string.Format("Please select {0}.", isNewGameobject == 0 ? "Prefab" : "GameObject")); + return false; + } + + if (!container.Contains(longitude, latitude)) + { + ShowError("These the coordinates outside terrain."); + return false; + } + + if (placeMode == PlaceMode.multipleLocations) + { + if (!LoadMultipleLocations(multipleLocations)) return false; + } + else if (placeMode == PlaceMode.multipleLocationsFromFile) + { + if (!LoadMultipleLocationsFromFile()) return false; + } + + return true; + } + + private enum PlaceMode + { + singleLocation, + multipleLocations, + multipleLocationsFromFile + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainObjectPlacerWindow.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainObjectPlacerWindow.cs.meta new file mode 100644 index 000000000..0afca70ad --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainObjectPlacerWindow.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 38b1145c4205f9147998fd1fa6c2baea +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainPOIManager.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainPOIManager.cs new file mode 100644 index 000000000..01754baef --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainPOIManager.cs @@ -0,0 +1,74 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Tools +{ + public class RealWorldTerrainPOIManager : EditorWindow + { + private static RealWorldTerrainPOIManager wnd; + private RealWorldTerrainContainer container; + private RealWorldTerrainPOIItem[] items; + private Vector2 scrollPosition; + + private void OnDestroy() + { + wnd = null; + } + + private void OnGUI() + { + container = EditorGUILayout.ObjectField("Container", container, typeof(RealWorldTerrainContainer), true) as RealWorldTerrainContainer; + + if (container == null) return; + if (GUILayout.Button("Update POI") || items == null) UpdatePOI(); + + GUILayout.Label("POI:"); + if (items == null || items.Length == 0) + { + GUILayout.Label("No POI."); + return; + } + + int index = 0; + scrollPosition = EditorGUILayout.BeginScrollView(scrollPosition); + foreach (RealWorldTerrainPOIItem item in items) + { + index++; + EditorGUILayout.BeginHorizontal(); + + EditorGUILayout.LabelField(index + ": " + item.title); + EditorGUILayout.LabelField("lat: " + item.y, GUILayout.Width(90)); + EditorGUILayout.LabelField("lng: " + item.x, GUILayout.Width(90)); + + if (GUILayout.Button(new GUIContent("S", "Select GameObject"), GUILayout.ExpandWidth(false))) Selection.activeGameObject = item.gameObject; + if (GUILayout.Button(new GUIContent("P", "Open in Object Placer"), GUILayout.ExpandWidth(false))) RealWorldTerrainObjectPlacerWindow.OpenWindow(container, item.x, item.y); + + EditorGUILayout.EndHorizontal(); + } + + EditorGUILayout.EndScrollView(); + } + + private void UpdatePOI() + { + items = container.GetComponentsInChildren(); + } + + [MenuItem("Window/Infinity Code/Real World Terrain/Tools/POI Manager")] + public static void OpenWindow() + { + if (wnd != null) wnd.Close(); + + wnd = GetWindow(false, "POI Manager"); + wnd.container = RealWorldTerrainUtils.FindObjectOfType(); + } + public static void OpenWindow(RealWorldTerrainContainer container) + { + OpenWindow(); + wnd.container = container; + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainPOIManager.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainPOIManager.cs.meta new file mode 100644 index 000000000..d18c6b967 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainPOIManager.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: f26fd24d069ba9347b8f71938f38563c +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainReverseGeocodingWindow.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainReverseGeocodingWindow.cs new file mode 100644 index 000000000..23797a457 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainReverseGeocodingWindow.cs @@ -0,0 +1,146 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using InfinityCode.RealWorldTerrain.Webservices; +using InfinityCode.RealWorldTerrain.Webservices.Results; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Tools +{ + public class RealWorldTerrainReverseGeocodingWindow: EditorWindow + { + private static RealWorldTerrainReverseGeocodingWindow wnd; + private RealWorldTerrainMonoBase target; + private double cursorLatitude; + private double cursorLongitude; + private double cursorAltitude; + private float lat; + private float lng; + private bool hasCoordinates = false; + private string languageCode = "en"; + + private string formattedAddress; + private string response; + private Vector2 scrollPosition; + private string key; + + private void OnDestroy() + { + EditorApplication.update -= OnUpdate; + SceneView.duringSceneGui -= OnSceneGUI; + wnd = null; + } + + private void OnEnable() + { + EditorApplication.update += OnUpdate; + SceneView.duringSceneGui += OnSceneGUI; + } + + private void OnGUI() + { + target = EditorGUILayout.ObjectField("Container", target, typeof(RealWorldTerrainContainer), true) as RealWorldTerrainContainer; + + lat = EditorGUILayout.FloatField("Latitude", lat); + lng = EditorGUILayout.FloatField("Longitude", lng); + key = EditorGUILayout.TextField("Google API key", key); + + EditorGUILayout.BeginHorizontal(); + languageCode = EditorGUILayout.TextField("Language Code", languageCode); + RealWorldTerrainWindowUI.DrawHelpButton("List of Languages", "https://developers.google.com/maps/faq?hl=en#languagesupport"); + EditorGUILayout.EndHorizontal(); + + if (GUILayout.Button("What's here?")) + { + RealWorldTerrainGoogleGeocoding.Find( + new RealWorldTerrainGoogleGeocoding.ReverseGeocodingParams(lng, lat) + { + language = languageCode, + key = key + } + ).OnComplete += OnRequestComplete; + } + + if (hasCoordinates) + { + EditorGUILayout.LabelField("Cursor Coordinates:"); + EditorGUILayout.LabelField("Latitude: ", cursorLatitude.ToString()); + EditorGUILayout.LabelField("Longitude: ", cursorLongitude.ToString()); + EditorGUILayout.LabelField("Altitude: ", cursorAltitude.ToString("F2") + " meters"); + EditorGUILayout.LabelField("Use CTRL+SHIFT to insert the coordinates."); + + if (Event.current.control && Event.current.shift) + { + lat = (float)cursorLatitude; + lng = (float)cursorLongitude; + } + } + + EditorGUILayout.Space(); + + if (!string.IsNullOrEmpty(formattedAddress)) + { + GUILayout.Label("Formatted Address: " + formattedAddress, EditorStyles.wordWrappedLabel); + } + + if (!string.IsNullOrEmpty(response)) + { + GUILayout.Label("Full Response: "); + scrollPosition = EditorGUILayout.BeginScrollView(scrollPosition); + EditorGUILayout.TextArea(response); + EditorGUILayout.EndScrollView(); + } + } + + private void OnRequestComplete(string response) + { + Debug.Log(response); + this.response = response; + try + { + RealWorldTerrainGoogleGeocodingResult[] result = RealWorldTerrainGoogleGeocoding.GetResults(response); + if (result.Length > 0) + { + formattedAddress = result[0].formatted_address; + } + } + catch + { + + } + + } + + private void OnSceneGUI(SceneView view) + { + if (target == null) return; + + Vector2 mp = Event.current.mousePosition; + mp.y = view.camera.pixelHeight - mp.y; + + hasCoordinates = target.GetCoordinatesByScreenPosition(mp, out cursorLongitude, out cursorLatitude, out cursorAltitude, view.camera); + } + + private void OnUpdate() + { + Repaint(); + } + + [MenuItem("Window/Infinity Code/Real World Terrain/Tools/Reverse Geocoder")] + public static void OpenWindow() + { + OpenWindow(null); + } + + + public static void OpenWindow(RealWorldTerrainMonoBase target) + { + if (wnd != null) wnd.Close(); + + wnd = GetWindow(true, "Reverse Geocoder"); + if (target == null) wnd.target = RealWorldTerrainUtils.FindObjectOfType(); + else wnd.target = target; + } + } +} diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainReverseGeocodingWindow.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainReverseGeocodingWindow.cs.meta new file mode 100644 index 000000000..024502b85 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainReverseGeocodingWindow.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ecda3fdeb25a758458c2726a39c0822b +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainScalerWindow.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainScalerWindow.cs new file mode 100644 index 000000000..f13c69ed0 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainScalerWindow.cs @@ -0,0 +1,150 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Tools +{ + public class RealWorldTerrainScalerWindow : EditorWindow + { + private static RealWorldTerrainScalerWindow wnd; + private RealWorldTerrainContainer item; + private Vector3 scale = Vector3.one; + private Vector3 size = Vector3.one; + private SizeType sizeType = SizeType.relative; +#if !RTP + private bool scaleFirstSP = true; +#endif + + private void OnGUI() + { + item = (RealWorldTerrainContainer)EditorGUILayout.ObjectField("Real World Terrain", item, typeof(RealWorldTerrainContainer), true); + if (item == null) return; + + sizeType = (SizeType)EditorGUILayout.EnumPopup("Size Type", sizeType); + if (sizeType == SizeType.relative) scale = EditorGUILayout.Vector3Field("Scale", scale); + else size = EditorGUILayout.Vector3Field("Size", size); + + if (item.prefs.resultType == RealWorldTerrainResultType.terrain) + { +#if !RTP + scaleFirstSP = EditorGUILayout.Toggle("Scale first SplatPrototype", scaleFirstSP); +#endif + } + if (GUILayout.Button("Apply")) Scale(); + } + + [MenuItem("Window/Infinity Code/Real World Terrain/Tools/Scaler")] + public static void OpenWindow() + { + OpenWindow(null); + } + + public static void OpenWindow(RealWorldTerrainContainer item) + { + wnd = GetWindow("Scaler", true); + wnd.item = item; + if (item != null) wnd.size = item.size; + } + + private void Scale() + { + if (sizeType == SizeType.relative) + { + if (!ValidateValue(scale, "Scale")) return; + } + else + { + if (!ValidateValue(size, "Size")) return; + } + + Vector3 originalSize = item.bounds.size; + Vector3 newSize = originalSize; + Vector3 pscale; + + if (sizeType == SizeType.relative) + { + pscale = scale; + newSize.Scale(pscale); + } + else + { + newSize = size; + pscale = new Vector3(newSize.x / originalSize.x, newSize.y / originalSize.y, newSize.z / originalSize.z); + } + + item.size = newSize; + + if (item.prefs.resultType == RealWorldTerrainResultType.mesh) + { + Vector3 localScale = item.transform.localScale; + localScale.Scale(pscale); + item.transform.localScale = localScale; + item.size = newSize; + } + else + { + foreach (RealWorldTerrainItem terrain in item.terrains) + { + Vector3 p = terrain.transform.position; + + p.Scale(pscale); + terrain.transform.position = p; + + Vector3 s = terrain.terrainData.size; + s.Scale(pscale); + terrain.terrainData.size = s; + terrain.size = s; + + TreeInstance[] treeInstances = terrain.terrainData.treeInstances; + for (int i = 0; i < treeInstances.Length; i++) + { + TreeInstance treeInstance = treeInstances[i]; + treeInstance.heightScale *= pscale.y; + treeInstance.widthScale *= (pscale.x + pscale.z) / 2; + treeInstances[i] = treeInstance; + } + terrain.terrain.terrainData.SetTreeInstances(treeInstances, true); +#if !RTP + if (scaleFirstSP && terrain.terrainData.terrainLayers.Length > 0) + { + TerrainLayer[] tls = terrain.terrainData.terrainLayers; + TerrainLayer l = tls[0]; + l.tileSize = new Vector2(l.tileSize.x * pscale.x, l.tileSize.y * pscale.z); + l.tileOffset = new Vector2(l.tileOffset.x * pscale.x, l.tileOffset.y * pscale.z); + l.diffuseTexture = l.diffuseTexture; + terrain.terrainData.terrainLayers = tls; + } +#endif + terrain.terrain.terrainData.RefreshPrototypes(); + EditorUtility.SetDirty(terrain); + } + } + + Close(); + } + + private bool ValidateValue(Vector3 value, string variableName) + { + if (Math.Abs(value.x) < float.Epsilon || Math.Abs(value.y) < float.Epsilon || Math.Abs(value.z) < float.Epsilon) + { + Debug.LogError(variableName + " failed!!! Value can not be zero."); + return false; + } + if (scale.x < 0 || scale.y < 0 || scale.z < 0) + { + Debug.LogError(variableName + " failed!!! Value can not be lower zero."); + return false; + } + return true; + } + + public enum SizeType + { + absolute, + relative + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainScalerWindow.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainScalerWindow.cs.meta new file mode 100644 index 000000000..56e891159 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainScalerWindow.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 8cd7ee0d27213d84a9b17621e123eddf +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainSeamsFixer.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainSeamsFixer.cs new file mode 100644 index 000000000..e6f96cda9 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainSeamsFixer.cs @@ -0,0 +1,114 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Tools +{ + public class RealWorldTerrainSeamsFixer : EditorWindow + { + private bool createUndo = true; + private Terrain terrain1; + private Terrain terrain2; + private Vector2 scrollPosition; + + [MenuItem("Window/Infinity Code/Real World Terrain/Tools/Seams Fixer")] + public static void CreateWizard() + { + GetWindow("Seams Fixer"); + } + + private void FixHeights(float[,] h1, float[,] h2) + { + for (int i = 0; i < h1.GetLength(0); i++) + { + for (int j = 0; j < h1.GetLength(1); j++) + { + h1[i, j] = (h1[i, j] + h2[i, j]) / 2; + } + } + } + + private void OnGUI() + { + scrollPosition = EditorGUILayout.BeginScrollView(scrollPosition); + + EditorGUILayout.HelpBox(@"A tool for repairing seams between adjacent Terrains. +Requirements: +1.Terrains must be located in the correct position to be neighbors. +2.Terrains must have the same heightmap resolution.", MessageType.Info); + + terrain1 = EditorGUILayout.ObjectField("Terrain 1", terrain1, typeof(Terrain), true) as Terrain; + terrain2 = EditorGUILayout.ObjectField("Terrain 2", terrain2, typeof(Terrain), true) as Terrain; + createUndo = EditorGUILayout.ToggleLeft("Create Undo (May take a long time)", createUndo); + EditorGUILayout.EndScrollView(); + EditorGUI.BeginDisabledGroup(terrain1 == null || terrain2 == null); + if (GUILayout.Button("Fix")) + { + OnFix(); + } + EditorGUI.EndDisabledGroup(); + } + + public void OnFix() + { + if (terrain1 == terrain2) + { + EditorUtility.DisplayDialog("Error", "You have selected the same terrain.", "OK"); + return; + } + + TerrainData td1 = terrain1.terrainData; + TerrainData td2 = terrain2.terrainData; + + if (td1.heightmapResolution != td2.heightmapResolution) + { + EditorUtility.DisplayDialog("Error", "Terrains cannot have different heightmap resolution.", "OK"); + return; + } + + if (createUndo) Undo.RecordObjects(new []{td1, td2}, "Fix seams"); + + int r = td1.heightmapResolution; + + if (terrain1.transform.position + new Vector3(td1.size.x, 0, 0) == terrain2.transform.position) // Right + { + float[,] h1 = td1.GetHeights(r - 1, 0, 1, r); + float[,] h2 = td2.GetHeights(0, 0, 1, r); + FixHeights(h1, h2); + td1.SetHeights(r - 1, 0, h1); + td2.SetHeights(0, 0, h1); + } + else if (terrain2.transform.position + new Vector3(td2.size.x, 0, 0) == terrain1.transform.position) // Left + { + float[,] h1 = td2.GetHeights(r - 1, 0, 1, r); + float[,] h2 = td1.GetHeights(0, 0, 1, r); + FixHeights(h1, h2); + td2.SetHeights(r - 1, 0, h1); + td1.SetHeights(0, 0, h1); + } + else if (terrain1.transform.position + new Vector3(0, 0, td1.size.z) == terrain2.transform.position) // Down + { + float[,] h1 = td1.GetHeights(0, r - 1, r, 1); + float[,] h2 = td2.GetHeights(0, 0, r, 1); + FixHeights(h1, h2); + td1.SetHeights(0, r - 1, h1); + td2.SetHeights(0, 0, h1); + } + else if (terrain2.transform.position + new Vector3(0, 0, td2.size.z) == terrain1.transform.position) // Up + { + float[,] h1 = td2.GetHeights(0, r - 1, r, 1); + float[,] h2 = td1.GetHeights(0, 0, r, 1); + FixHeights(h1, h2); + td2.SetHeights(0, r - 1, h1); + td1.SetHeights(0, 0, h1); + } + else + { + EditorUtility.DisplayDialog("Error", "This is not neighboring terrains.", "OK"); + return; + } + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainSeamsFixer.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainSeamsFixer.cs.meta new file mode 100644 index 000000000..73eb5894a --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainSeamsFixer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6c4de5dea82cbaa4b84d1a6cb3b2af86 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainSplatPrototypeGenerator.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainSplatPrototypeGenerator.cs new file mode 100644 index 000000000..5940f30b9 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainSplatPrototypeGenerator.cs @@ -0,0 +1,260 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Xml; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain +{ + public class RealWorldTerrainSplatPrototypeGenerator : EditorWindow + { + private static RealWorldTerrainSplatPrototypeGenerator wnd; + private static Texture2D previewTexture; + + private RealWorldTerrainSplatPrototypeItem baseTexture; + private RealWorldTerrainItem item; + private List prototypes; + private Vector2 scrollPosition; + + private void ExportSettings() + { + string path = EditorUtility.SaveFilePanel("Export settings", Application.dataPath, + "SplatGeneratorSettings.xml", "xml"); + if (string.IsNullOrEmpty(path)) return; + + XmlDocument doc = new XmlDocument(); + XmlElement firstElement = (XmlElement)doc.AppendChild(doc.CreateElement("SplatGenerator")); + + firstElement.AppendChild(baseTexture.GetNode(doc)); + foreach (RealWorldTerrainSplatPrototypeItem sp in prototypes) firstElement.AppendChild(sp.GetNode(doc)); + + doc.Save(path); + } + + public static void GeneratePreview(RealWorldTerrainSplatPrototypeItem sp) + { + TerrainData tdata = wnd.item.terrainData; + + RealWorldTerrainEditorUtils.GeneratePreviewTexture(tdata, ref previewTexture); + + Texture2D originalTexture = tdata.terrainLayers[0].diffuseTexture; + float[,,] alphamap = tdata.GetAlphamaps(0, 0, tdata.alphamapWidth, tdata.alphamapHeight); + Color[] originalColors = originalTexture.GetPixels(); + int w = originalTexture.width; + int h = originalTexture.height; + float sw = w / (float)tdata.alphamapWidth; + float sh = h / (float)tdata.alphamapHeight; + int l = alphamap.GetLength(2) - 1; + float step = 1 / (sw * sh); + + for (int x = 0; x < w; x++) + { + int fx = Mathf.FloorToInt(x / sw); + bool isFirstX = x % sw == 0; + for (int y = 0; y < h; y++) + { + int fy = Mathf.FloorToInt(y / sh); + bool isFirstY = y % sh == 0; + Color clr = originalColors[x * w + y]; + if (isFirstX && isFirstY) alphamap[fx, fy, l] = 0; + alphamap[fx, fy, l] += sp.colors.Any(c => c.EqualWithRange(clr)) ? step : 0; + } + } + tdata.SetAlphamaps(0, 0, alphamap); + alphamap = null; + originalColors = null; + GC.Collect(); + } + + private void GenerateSplatPrototypes() + { + TerrainData tdata = item.terrainData; + List spsList = new List(tdata.terrainLayers); + int startIndex = spsList.Count; + int endIndex = startIndex + prototypes.Count + 1; + spsList.Add(baseTexture.terrainLayer); + + spsList.AddRange(prototypes.Select(prototype => prototype.terrainLayer)); + tdata.terrainLayers = spsList.ToArray(); + tdata.RefreshPrototypes(); + + Texture2D originalTexture = tdata.terrainLayers[0].diffuseTexture; + float[,,] alphamap = tdata.GetAlphamaps(0, 0, tdata.alphamapWidth, tdata.alphamapHeight); + Color[] originalColors = originalTexture.GetPixels(); + int w = originalTexture.width; + int h = originalTexture.height; + float sw = w / (float)tdata.alphamapWidth; + float sh = h / (float)tdata.alphamapHeight; + float step = 1 / (sw * sh); + + for (int x = 0; x < alphamap.GetLength(0); x++) + { + for (int y = 0; y < alphamap.GetLength(1); y++) + alphamap[x, y, startIndex] = 1; + } + + for (int l = startIndex + 1; l < endIndex; l++) + { + RealWorldTerrainSplatPrototypeItem prototype = prototypes[l - startIndex - 1]; + for (int x = 0; x < w; x++) + { + int fx = Mathf.FloorToInt(x / sw); + bool isFirstX = x % sw == 0; + for (int y = 0; y < h; y++) + { + int fy = Mathf.FloorToInt(y / sh); + bool isFirstY = y % sh == 0; + Color clr = originalColors[x * w + y]; + if (isFirstX && isFirstY) alphamap[fx, fy, l] = 0; + alphamap[fx, fy, l] += prototype.colors.Any(c => c.EqualWithRange(clr)) ? step : 0; + } + } + } + + for (int x = 0; x < alphamap.GetLength(0); x++) + { + for (int y = 0; y < alphamap.GetLength(1); y++) + { + float total = 0; + for (int l = startIndex + 1; l < endIndex; l++) total += alphamap[x, y, l]; + for (int l = 0; l < alphamap.GetLength(2); l++) + { + if (l < startIndex || l >= endIndex) alphamap[x, y, l] = 0; + else if (l == startIndex) + { + if (total < 1) alphamap[x, y, l] = 1 - total; + else alphamap[x, y, l] = 0; + } + else if (total != 0) + { + if (total < 1) + alphamap[x, y, l] = total; + else alphamap[x, y, l] /= total; + } + } + } + } + + tdata.SetAlphamaps(0, 0, alphamap); + alphamap = null; + originalColors = null; + GC.Collect(); + } + + private void ImportSettings() + { + string path = EditorUtility.OpenFilePanel("Export settings", Application.dataPath, "xml"); + if (string.IsNullOrEmpty(path)) return; + + XmlDocument doc = new XmlDocument(); + doc.Load(path); + + XmlElement firstElement = (XmlElement)doc.FirstChild; + if (firstElement.Name != "SplatGenerator") return; + + baseTexture = new RealWorldTerrainSplatPrototypeItem(true); + baseTexture.SetNode((XmlElement)firstElement.ChildNodes[0]); + + prototypes = new List(); + + for (int i = 1; i < firstElement.ChildNodes.Count; i++) + { + RealWorldTerrainSplatPrototypeItem sp = new RealWorldTerrainSplatPrototypeItem(); + sp.SetNode((XmlElement)firstElement.ChildNodes[i]); + prototypes.Add(sp); + } + } + + private void OnDestroy() + { + OnDisable(); + wnd = null; + } + + private void OnDisable() + { + if (previewTexture != null) + { + List tls = item.terrainData.terrainLayers.ToList(); + tls.RemoveAll(l => l.diffuseTexture == previewTexture); + item.terrainData.terrainLayers = tls.ToArray(); + previewTexture = null; + EditorUtility.UnloadUnusedAssetsImmediate(); + } + } + + private void OnEnable() + { + wnd = this; + } + + private void OnGUI() + { + if (baseTexture == null) baseTexture = new RealWorldTerrainSplatPrototypeItem(true); + if (prototypes == null) prototypes = new List(); + + OnGUIToolbar(); + + item = EditorGUILayout.ObjectField("Terrain Item: ", item, typeof(RealWorldTerrainItem), true) as RealWorldTerrainItem; + if (item == null) return; + + baseTexture.OnGUI(); + int index = prototypes.Count; + scrollPosition = GUILayout.BeginScrollView(scrollPosition); + foreach (RealWorldTerrainSplatPrototypeItem prototype in prototypes) prototype.OnGUI(index--); + GUILayout.EndScrollView(); + + prototypes.RemoveAll(p => p.deleted); + + GUILayout.BeginHorizontal(); + + if (GUILayout.Button("Add SplatPrototype")) + prototypes.Insert(0, new RealWorldTerrainSplatPrototypeItem()); + + if (GUILayout.Button("Clear preview")) + OnDisable(); + + if (GUILayout.Button("Generate SplatPrototypes")) + { + GenerateSplatPrototypes(); + Close(); + } + + GUILayout.EndHorizontal(); + } + + private void OnGUIToolbar() + { + GUILayout.BeginHorizontal(EditorStyles.toolbar); + + GUIStyle toolbarButtonStyle = new GUIStyle(EditorStyles.toolbarButton) { padding = new RectOffset(5, 5, 2, 2) }; + + if (GUILayout.Button(new GUIContent(RealWorldTerrainResources.openIcon, "Import settings"), toolbarButtonStyle, + GUILayout.ExpandWidth(false))) + ImportSettings(); + if (GUILayout.Button(new GUIContent(RealWorldTerrainResources.saveIcon, "Export settings"), toolbarButtonStyle, + GUILayout.ExpandWidth(false))) + ExportSettings(); + + GUILayout.Label("", EditorStyles.toolbarButton); + GUILayout.EndHorizontal(); + } + + public static void OpenWindow() + { + if (wnd != null) wnd.Close(); + + wnd = GetWindow("SplatPrototype RealWorldTerrainWindow", true); + } + + public static void OpenWindow(RealWorldTerrainItem item) + { + OpenWindow(); + wnd.item = item; + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainSplatPrototypeGenerator.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainSplatPrototypeGenerator.cs.meta new file mode 100644 index 000000000..27fc01040 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainSplatPrototypeGenerator.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: e33f0538f18655141ae46113e4f6af95 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainSplatPrototypeItem.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainSplatPrototypeItem.cs new file mode 100644 index 000000000..4d807d712 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainSplatPrototypeItem.cs @@ -0,0 +1,117 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System; +using System.Collections.Generic; +using System.Xml; +using InfinityCode.RealWorldTerrain.Tools; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain +{ + [Serializable] + public class RealWorldTerrainSplatPrototypeItem + { + public List colors; + public bool deleted; + private readonly bool isBase; + private bool expanded = true; + private Texture2D texture; + private Vector2 tileOffset = Vector2.zero; + private Vector2 tileSize = new Vector2(15, 15); + + public SplatPrototype splat + { + get + { + return new SplatPrototype { texture = texture, tileSize = tileSize, tileOffset = tileOffset }; + } + } + + public TerrainLayer terrainLayer + { + get + { + return new TerrainLayer { diffuseTexture = texture, tileSize = tileSize, tileOffset = tileOffset }; + } + } + + public RealWorldTerrainSplatPrototypeItem(bool isBase = false) + { + this.isBase = isBase; + colors = new List(); + } + + public XmlNode GetNode(XmlDocument doc) + { + XmlElement node = doc.CreateElement("SplatPrototype"); + node.SetAttribute("tileSizeX", tileSize.x.ToString()); + node.SetAttribute("tileSizeY", tileSize.y.ToString()); + node.SetAttribute("tileOffsetX", tileOffset.x.ToString()); + node.SetAttribute("tileOffsetY", tileOffset.y.ToString()); + node.SetAttribute("textureID", (texture != null) ? texture.GetInstanceID().ToString() : "-1"); + + foreach (RealWorldTerrainColorItem color in colors) node.AppendChild(color.GetNode(doc)); + + return node; + } + + public void OnGUI(int index = 0) + { + if (!isBase) + { + expanded = EditorGUILayout.Foldout(expanded, "SplatPrototype " + index); + if (expanded) + { + OnGUIProp("Texture: "); + int colorIndex = 1; + foreach (RealWorldTerrainColorItem color in colors) color.OnGUI(colorIndex++); + colors.RemoveAll(c => c.deleted); + + GUILayout.BeginHorizontal(); + + if (GUILayout.Button("Add color")) + colors.Add(new RealWorldTerrainColorItem()); + + if (GUILayout.Button("Generate preview")) + RealWorldTerrainSplatPrototypeGenerator.GeneratePreview(this); + + if (GUILayout.Button("Remove SplatPrototype")) + deleted = true; + + GUILayout.EndHorizontal(); + } + } + else + OnGUIProp("Base texture: "); + } + + private void OnGUIProp(string label) + { + texture = (Texture2D)EditorGUILayout.ObjectField(label, texture, typeof(Texture2D), false); + tileSize = EditorGUILayout.Vector2Field("Tile size", tileSize); + tileOffset = EditorGUILayout.Vector2Field("Tile offset", tileOffset); + } + + public void SetNode(XmlElement node) + { + tileSize.x = float.Parse(node.GetAttribute("tileSizeX")); + tileSize.y = float.Parse(node.GetAttribute("tileSizeY")); + tileOffset.x = float.Parse(node.GetAttribute("tileOffsetX")); + tileOffset.y = float.Parse(node.GetAttribute("tileOffsetY")); + int textureID = int.Parse(node.GetAttribute("textureID")); + if (textureID != -1) texture = (Texture2D)EditorUtility.InstanceIDToObject(textureID); + else texture = null; + + colors = new List(); + + foreach (XmlElement cNode in node.ChildNodes) + { + RealWorldTerrainColorItem color = new RealWorldTerrainColorItem(); + color.SetNode(cNode); + colors.Add(color); + } + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainSplatPrototypeItem.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainSplatPrototypeItem.cs.meta new file mode 100644 index 000000000..7aae38438 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainSplatPrototypeItem.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: d46b1b68d1798da479475e66ae2877fd +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainUpdateNeighbors.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainUpdateNeighbors.cs new file mode 100644 index 000000000..49716c796 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainUpdateNeighbors.cs @@ -0,0 +1,30 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Tools +{ + public static class RealWorldTerrainUpdateNeighbors + { + public static void Update(RealWorldTerrainContainer container) + { + RealWorldTerrainVector2i terrainCount = container.terrainCount; + RealWorldTerrainItem[] terrains = container.terrains; + for (int x = 0; x < terrainCount.x; x++) + { + for (int y = 0; y < terrainCount.y; y++) + { + int index = y * terrainCount.x + x; + Terrain bottom = y > 0 ? terrains[index - terrainCount.x].terrain : null; + Terrain top = y < terrainCount.y - 1 ? terrains[index + terrainCount.x].terrain : null; + Terrain left = x > 0 ? terrains[index - 1].terrain : null; + Terrain right = x < terrainCount.x - 1 ? terrains[index + 1].terrain : null; + terrains[index].terrain.SetNeighbors(left, top, right, bottom); + } + } + + foreach (RealWorldTerrainItem terrain in terrains) terrain.terrain.Flush(); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainUpdateNeighbors.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainUpdateNeighbors.cs.meta new file mode 100644 index 000000000..506be4879 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Tools/RealWorldTerrainUpdateNeighbors.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 533bd5f8867ea8242aaeca44afe78c04 +timeCreated: 1523353454 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils.meta new file mode 100644 index 000000000..9918d4062 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a05328279c11602429852d3795eda10e +folderAsset: yes +timeCreated: 1470870903 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainEditorUtils.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainEditorUtils.cs new file mode 100644 index 000000000..81a2c00fb --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainEditorUtils.cs @@ -0,0 +1,259 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using InfinityCode.RealWorldTerrain.Generators; +using InfinityCode.RealWorldTerrain.Windows; +using UnityEditor; +using UnityEngine; +using Object = UnityEngine.Object; + +namespace InfinityCode.RealWorldTerrain +{ + public static class RealWorldTerrainEditorUtils + { + public const string MENU_PATH = "Window/Infinity Code/Real World Terrain/"; + + private static string _assetPath; + private static string _cacheFolder; + private static GUIStyle _centeredLabel; + private static string _heightmapCacheFolder; + private static string _historyCacheFolder; + private static string _osmCacheFolder; + private static string _textureCacheFolder; + private static RealWorldTerrainItem lastC2WItem; + + public static string assetPath + { + get + { + if (_assetPath == null) + { + string[] assets = AssetDatabase.FindAssets("RealWorldTerrainEditorUtils"); + FileInfo info = new FileInfo(AssetDatabase.GUIDToAssetPath(assets[0])); + _assetPath = info.Directory.Parent.Parent.Parent.FullName.Substring(Application.dataPath.Length - 6) + "/"; + } + return _assetPath; + } + } + + + public static string cacheFolder + { + get + { + if (String.IsNullOrEmpty(_cacheFolder)) + { + string cache = RealWorldTerrainPrefs.LoadPref("CacheFolder", ""); + if (cache == "") + { + DirectoryInfo parent = new DirectoryInfo(Application.dataPath).Parent; + if (parent != null) _cacheFolder = Path.Combine(parent.ToString(), "RWT_Cache"); + } + else _cacheFolder = cache; + } + if (!Directory.Exists(_cacheFolder)) Directory.CreateDirectory(_cacheFolder); + return _cacheFolder; + } + } + + public static GUIStyle centeredLabel + { + get + { + if (_centeredLabel == null) + { + _centeredLabel = new GUIStyle(EditorStyles.label) + { + alignment = TextAnchor.MiddleCenter + }; + } + + return _centeredLabel; + } + } + + public static string heightmapCacheFolder + { + get + { + if (String.IsNullOrEmpty(_heightmapCacheFolder)) + _heightmapCacheFolder = Path.Combine(cacheFolder, "Heightmaps"); + if (!Directory.Exists(_heightmapCacheFolder)) Directory.CreateDirectory(_heightmapCacheFolder); + return _heightmapCacheFolder; + } + } + + public static string historyCacheFolder + { + get + { + if (String.IsNullOrEmpty(_historyCacheFolder)) + _historyCacheFolder = Path.Combine(cacheFolder, "History"); + if (!Directory.Exists(_historyCacheFolder)) Directory.CreateDirectory(_historyCacheFolder); + return _historyCacheFolder; + } + } + + public static string osmCacheFolder + { + get + { + if (String.IsNullOrEmpty(_osmCacheFolder)) _osmCacheFolder = Path.Combine(cacheFolder, "OSM"); + if (!Directory.Exists(_osmCacheFolder)) Directory.CreateDirectory(_osmCacheFolder); + return _osmCacheFolder; + } + } + + public static string textureCacheFolder + { + get + { + if (String.IsNullOrEmpty(_textureCacheFolder)) _textureCacheFolder = Path.Combine(cacheFolder, "Textures"); + if (!Directory.Exists(_textureCacheFolder)) Directory.CreateDirectory(_textureCacheFolder); + return _textureCacheFolder; + } + } + + + public static void ClearFoldersCache() + { + _cacheFolder = String.Empty; + _heightmapCacheFolder = String.Empty; + _osmCacheFolder = String.Empty; + _textureCacheFolder = String.Empty; + } + + public static Vector3 CoordsToWorld(double mx, float y, double mz, RealWorldTerrainContainer globalContainer) + { + mx = (mx - globalContainer.leftMercator) / (globalContainer.rightMercator - globalContainer.leftMercator) * globalContainer.size.x; + mz = (1 - (mz - globalContainer.topMercator) / (globalContainer.bottomMercator - globalContainer.topMercator)) * globalContainer.size.z; + + return new Vector3((float)mx, y * globalContainer.scale.y, (float)mz) + globalContainer.transform.position; + } + + public static Vector3 CoordsToWorldWithElevation(Vector3 point, RealWorldTerrainContainer globalContainer, Vector3 offset = default(Vector3)) + { + bool success; + return CoordsToWorldWithElevation(point, globalContainer, offset, out success); + } + + public static Vector3 CoordsToWorldWithElevation(Vector3 point, RealWorldTerrainContainer globalContainer, Vector3 offset, out bool success) + { + return CoordsToWorldWithElevation(point.x, point.z, point.y, globalContainer, offset, out success); + } + + public static Vector3 CoordsToWorldWithElevation(double longitude, double latitude, float altitude, RealWorldTerrainContainer globalContainer, Vector3 offset, out bool success) + { + double mx, my; + RealWorldTerrainGeo.LatLongToMercat(longitude, latitude, out mx, out my); + success = false; + + if (globalContainer.prefs.elevationType == RealWorldTerrainElevationType.realWorld) + { + double elevation = RealWorldTerrainElevationGenerator.GetElevation(mx, my, false); + success = Math.Abs(elevation - double.MinValue) > double.Epsilon; + if (success) return CoordsToWorld(mx, (float) (elevation - globalContainer.minElevation), my, globalContainer) - offset; + } + + Vector3 v = CoordsToWorld(mx, RealWorldTerrainWindow.prefs.nodataValue, my, globalContainer) - offset; + + if (lastC2WItem == null || !lastC2WItem.Contains(longitude, latitude)) + { + lastC2WItem = null; + for (int i = 0; i < globalContainer.terrains.Length; i++) + { + if (globalContainer.terrains[i].Contains(longitude, latitude)) + { + lastC2WItem = globalContainer.terrains[i]; + break; + } + } + } + + if (lastC2WItem != null) + { + v.y = lastC2WItem.GetHeightmapValueByMercator(mx, my) + lastC2WItem.transform.position.y; + success = true; + } + + return v; + } + + public static Object FindAndLoad(string filename, Type type) + { + string[] files = Directory.GetFiles("Assets", filename, SearchOption.AllDirectories); + if (files.Length > 0) return AssetDatabase.LoadAssetAtPath(files[0], type); + return null; + } + + public static Material FindMaterial(string materialName) + { + try + { + string materialPath = "Assets" + + Directory.GetFiles(Application.dataPath, materialName, SearchOption.AllDirectories)[0] + .Substring(Application.dataPath.Length).Replace('\\', '/'); + return AssetDatabase.LoadAssetAtPath(materialPath); + } + catch + { + Debug.LogWarning("Can not find the material: " + materialName); + return new Material(Shader.Find("Diffuse")); + } + } + + public static void GeneratePreviewTexture(TerrainData tdata, ref Texture2D previewTexture) + { + if (previewTexture != null) return; + + previewTexture = new Texture2D(1, 1); + previewTexture.SetPixel(0, 0, Color.red); + previewTexture.Apply(); + List tls = tdata.terrainLayers.ToList(); + TerrainLayer previewTl = new TerrainLayer + { + diffuseTexture = previewTexture, + tileSize = new Vector2(tdata.size.x, tdata.size.z) + }; + tls.Add(previewTl); + tdata.terrainLayers = tls.ToArray(); + } + + public static void ImportPackage(string path, Warning warning = null, string errorMessage = null) + { + if (warning != null && !warning.Show()) return; + if (string.IsNullOrEmpty(assetPath)) + { + if (!string.IsNullOrEmpty(errorMessage)) Debug.LogError(errorMessage); + return; + } + + string filaname = assetPath + "\\" + path; + if (!File.Exists(filaname)) + { + if (!string.IsNullOrEmpty(errorMessage)) Debug.LogError(errorMessage); + return; + } + + AssetDatabase.ImportPackage(filaname, true); + } + + public class Warning + { + public string title = "Warning"; + public string message; + public string ok = "OK"; + public string cancel = "Cancel"; + + public bool Show() + { + return EditorUtility.DisplayDialog(title, message, ok, cancel); + } + } + + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainEditorUtils.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainEditorUtils.cs.meta new file mode 100644 index 000000000..66fc30523 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainEditorUtils.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: c0f5f7bbc7ec933428d58a6129cf8f6e +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainGUIUtils.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainGUIUtils.cs new file mode 100644 index 000000000..fa0819985 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainGUIUtils.cs @@ -0,0 +1 @@ +/* Dummy file for correct asset update */ \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainGUIUtils.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainGUIUtils.cs.meta new file mode 100644 index 000000000..56a8c0bf6 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainGUIUtils.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 695cbd1d7f6f27442b12864c557388bd +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainImporter.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainImporter.cs new file mode 100644 index 000000000..c801198bc --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainImporter.cs @@ -0,0 +1,2 @@ +/* Removed. The file exists to update correctly. */ +/* TODO: Remove this file in Real World Terrain v4.8 */ \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainImporter.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainImporter.cs.meta new file mode 100644 index 000000000..55fc66f57 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainImporter.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: bec61fb5e91aef34fbb4b10bf429d269 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainLinks.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainLinks.cs new file mode 100644 index 000000000..ef752f5e4 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainLinks.cs @@ -0,0 +1,85 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using InfinityCode.RealWorldTerrain.Windows; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Editors +{ + public static class RealWorldTerrainLinks + { + public const string assetStore = "https://assetstore.unity.com/packages/tools/terrain/real-world-terrain-8752"; + public const string changelog = "https://infinity-code.com/products_update/get-changelog.php?asset=Real%20World%20Terrain&from=1.0"; + public const string discord = "https://discord.gg/2XRWwPgZK4"; + public const string documentation = "https://infinity-code.com/documentation/real-world-terrain.html"; + public const string forum = "https://forum.infinity-code.com"; + public const string homepage = "https://infinity-code.com/assets/real-world-terrain"; + public const string reviews = assetStore + "/reviews"; + public const string support = "mailto:support@infinity-code.com?subject=Real%20World%20Terrain"; + public const string youtube = "https://www.youtube.com/playlist?list=PL2QU1uhBMew9F_7iwf_gKjuenEpQcYD-K"; + + public static void Open(string url) + { + Application.OpenURL(url); + } + + public static void OpenAssetStore() + { + Open(assetStore); + } + + public static void OpenChangelog() + { + Open(changelog); + } + + public static void OpenDiscord() + { + Open(discord); + } + + public static void OpenDocumentation() + { + OpenDocumentation(null); + } + + public static void OpenDocumentation(string anchor) + { + string url = documentation; + if (!string.IsNullOrEmpty(anchor)) url += "#" + anchor; + Open(url); + } + + public static void OpenForum() + { + Open(forum); + } + + public static void OpenHomepage() + { + Open(homepage); + } + + public static void OpenLocalDocumentation() + { + string url = RealWorldTerrainEditorUtils.assetPath + "Documentation/Content/Documentation-Content.html"; + Application.OpenURL(url); + } + + public static void OpenReviews() + { + Open(reviews); + } + + public static void OpenSupport() + { + Open(support); + } + + public static void OpenYouTube() + { + Open(youtube); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainLinks.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainLinks.cs.meta new file mode 100644 index 000000000..1ea568323 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainLinks.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0fcce066ebd63c94d825d3cfbf963661 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainOSMUtils.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainOSMUtils.cs new file mode 100644 index 000000000..37bfd6e5b --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainOSMUtils.cs @@ -0,0 +1,301 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Xml; +using InfinityCode.RealWorldTerrain.OSM; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain +{ + public static class RealWorldTerrainOSMUtils + { + public static object _OSMLocker; + + public static object OSMLocker + { + get + { + if (_OSMLocker == null) _OSMLocker = new object(); + return _OSMLocker; + } + } + + public static string osmURL = "https://overpass-api.de/api/interpreter?data="; + + public static string[] projectMaterials; + + public static MeshFilter AppendMesh(GameObject gameObject, Mesh mesh, Material material, string assetName) + { + MeshFilter meshFilter = gameObject.AddComponent(); + meshFilter.sharedMesh = mesh; + meshFilter.mesh = mesh; + + MeshRenderer renderer = gameObject.AddComponent(); + renderer.materials = new[] { material }; + renderer.sharedMaterials = new[] { material }; + + return meshFilter; + } + + public static void GenerateCompressedFile(byte[] data, ref Dictionary nodes, ref Dictionary ways, ref List relations, string compressedFilename) + { + XmlDocument document = new XmlDocument(); + document.LoadXml(System.Text.Encoding.UTF8.GetString(data)); + + if (nodes == null) nodes = new Dictionary(); + if (ways == null) ways = new Dictionary(); + if (relations == null) relations = new List(); + + if (document.DocumentElement == null) return; + foreach (XmlNode node in document.DocumentElement.ChildNodes) + { + if (node.Name == "node") + { + RealWorldTerrainOSMNode n = new RealWorldTerrainOSMNode(node); + if (!nodes.ContainsKey(n.id)) nodes.Add(n.id, n); + } + else if (node.Name == "way") + { + RealWorldTerrainOSMWay way = new RealWorldTerrainOSMWay(node); + if (!ways.ContainsKey(way.id)) ways.Add(way.id, way); + } + else if (node.Name == "relation") relations.Add(new RealWorldTerrainOSMRelation(node)); + } + + SaveOSM(compressedFilename, nodes, ways, relations); + + GC.Collect(); + } + + public static List GetGlobalPointsFromWay(RealWorldTerrainOSMWay way, Dictionary _nodes) + { + List points = new List(); + if (way.nodeRefs.Count == 0) return points; + + foreach (string nodeRef in way.nodeRefs) + { + RealWorldTerrainOSMNode node; + if (_nodes.TryGetValue(nodeRef, out node)) points.Add(new Vector3(node.lng, 0, node.lat)); + } + return points; + } + + public static List GetGlobalPointsFromWay(RealWorldTerrainOSMWay way, Dictionary _nodes, out float minLng, out float minLat, out float maxLng, out float maxLat) + { + minLng = minLat = float.MaxValue; + maxLng = maxLat = float.MinValue; + List points = new List(); + if (way.nodeRefs.Count == 0) return points; + + foreach (string nodeRef in way.nodeRefs) + { + RealWorldTerrainOSMNode node; + if (_nodes.TryGetValue(nodeRef, out node)) + { + if (minLng > node.lng) minLng = node.lng; + if (minLat > node.lat) minLat = node.lat; + if (maxLng < node.lng) maxLng = node.lng; + if (maxLat < node.lat) maxLat = node.lat; + + points.Add(new Vector3(node.lng, 0, node.lat)); + } + } + return points; + } + + public static float GetTriangleDirectionOffset(Vector2 rp, ref Vector2 vp1, ref Vector2 vp2, float angle) + { + rp *= 100; + if (vp1 == Vector2.zero) + { + vp1 = rp; + return 0; + } + if (vp2 == Vector2.zero) + { + vp2 = vp1; + vp1 = rp; + return RealWorldTerrainMath.Angle2D(vp2, vp1); + } + + vp2 = vp1; + vp1 = rp; + float a = RealWorldTerrainMath.Angle2D(vp2, vp1); + if (a - angle > 180) a -= 360; + else if (angle - a > 180) a += 360; + return a - angle; + } + + public static List GetWorldPointsFromWay(RealWorldTerrainOSMWay way, Dictionary _nodes, RealWorldTerrainContainer container) + { + List points = new List(); + if (way.nodeRefs.Count == 0) return points; + + foreach (string nodeRef in way.nodeRefs) + { + RealWorldTerrainOSMNode node; + if (_nodes.TryGetValue(nodeRef, out node)) points.Add(RealWorldTerrainEditorUtils.CoordsToWorldWithElevation(new Vector3(node.lng, 0, node.lat), container)); + } + return points; + } + + public static void InitOSMServer() + { + RealWorldTerrainOSMOverpassServer osmServer = (RealWorldTerrainOSMOverpassServer)RealWorldTerrainPrefs.LoadPref("OSMServer", 0); + + if (osmServer == RealWorldTerrainOSMOverpassServer.main) osmURL = "https://overpass-api.de/api/interpreter?data="; + else if (osmServer == RealWorldTerrainOSMOverpassServer.main2) osmURL = "https://z.overpass-api.de/api/interpreter?data="; + else if (osmServer == RealWorldTerrainOSMOverpassServer.french) osmURL = "https://overpass.openstreetmap.fr/api/interpreter?data="; + else if (osmServer == RealWorldTerrainOSMOverpassServer.taiwan) osmURL = "https://overpass.nchc.org.tw/api/interpreter?data="; + else if (osmServer == RealWorldTerrainOSMOverpassServer.kumiSystems) osmURL = "https://overpass.kumi.systems/api/interpreter?data="; + } + + public static void LoadOSM(string _filename, out Dictionary _nodes, out Dictionary _ways, out List _relations, bool moveRelationsToWays = true) + { + _nodes = new Dictionary(); + _relations = new List(); + _ways = new Dictionary(); + + if (!File.Exists(_filename)) return; + + FileStream fs = File.OpenRead(_filename); + BinaryReader br = new BinaryReader(fs); + + int nodesCount = br.ReadInt32(); + + for (int i = 0; i < nodesCount; i++) + { + RealWorldTerrainOSMNode node = new RealWorldTerrainOSMNode(br); + _nodes.Add(node.id, node); + } + int wayCount = br.ReadInt32(); + for (int i = 0; i < wayCount; i++) + { + RealWorldTerrainOSMWay way = new RealWorldTerrainOSMWay(br); + if (!_ways.ContainsKey(way.id)) _ways.Add(way.id, way); + } + int relationCount = br.ReadInt32(); + for (int i = 0; i < relationCount; i++) _relations.Add(new RealWorldTerrainOSMRelation(br)); + + if (moveRelationsToWays) MoveRelationsToWays(_relations, _ways, _nodes); + } + + private static void MoveRelationToWay(RealWorldTerrainOSMRelation relation, Dictionary ways, List waysInRelation, Dictionary nodes) + { + if (relation.members.Count == 0) return; + + List nodeRefs = new List(); + + List members = relation.members.Where(m => m.type == "way" && m.role == "outer").ToList(); + if (members.Count == 0) return; + + RealWorldTerrainOSMWay relationWay; + if (!ways.TryGetValue(members[0].reference, out relationWay) || relationWay == null) return; + + nodeRefs.AddRange(relationWay.nodeRefs); + members.RemoveAt(0); + + while (members.Count > 0) + { + if (!MoveRelationMemberToWay(nodeRefs, members, ways)) break; + } + + RealWorldTerrainOSMWay way = new RealWorldTerrainOSMWay(); + + members = relation.members.Where(m => m.type == "way" && m.role == "inner").ToList(); + if (members.Count > 0) + { + way.holes = new List(); + + foreach (RealWorldTerrainOSMRelationMember member in members) + { + RealWorldTerrainOSMWay holeWay; + if (ways.TryGetValue(member.reference, out holeWay)) way.holes.Add(holeWay); + } + } + + waysInRelation.AddRange(relation.members.Select(m => m.reference)); + way.nodeRefs = nodeRefs; + way.id = relation.id; + way.tags = relation.tags; + ways.Add(way.id, way); + } + + private static bool MoveRelationMemberToWay(List nodeRefs, List members, Dictionary ways) + { + string lastRef = nodeRefs[nodeRefs.Count - 1]; + + int memberIndex = -1; + for (int i = 0; i < members.Count; i++) + { + RealWorldTerrainOSMRelationMember member = members[i]; + RealWorldTerrainOSMWay w = ways[member.reference]; + if (w.nodeRefs[0] == lastRef) + { + nodeRefs.AddRange(w.nodeRefs.Skip(1)); + memberIndex = i; + break; + } + if (w.nodeRefs[w.nodeRefs.Count - 1] == lastRef) + { + List refs = w.nodeRefs; + refs.Reverse(); + nodeRefs.AddRange(refs.Skip(1)); + memberIndex = i; + break; + } + } + + if (memberIndex != -1) members.RemoveAt(memberIndex); + else return false; + return true; + } + + private static void MoveRelationsToWays(List relations, Dictionary ways, Dictionary nodes) + { + List waysInRelation = new List(); + + foreach (RealWorldTerrainOSMRelation relation in relations) MoveRelationToWay(relation, ways, waysInRelation, nodes); + + foreach (string id in waysInRelation) + { + if (!ways.ContainsKey(id)) continue; + ways.Remove(id); + } + } + + public static void SaveOSM(string _filename, Dictionary _nodes, Dictionary _ways, List _relations) + { + FileStream fs = File.OpenWrite(_filename); + BinaryWriter bw = new BinaryWriter(fs); + + if (_nodes != null) + { + bw.Write(_nodes.Count); + foreach (KeyValuePair pair in _nodes) pair.Value.Write(bw); + } + else bw.Write(0); + + if (_ways != null) + { + bw.Write(_ways.Count); + foreach (KeyValuePair pair in _ways) pair.Value.Write(bw); + } + else bw.Write(0); + + if (_relations != null) + { + _relations = new List(_relations.Distinct()); + bw.Write(_relations.Count); + foreach (RealWorldTerrainOSMRelation relation in _relations) relation.Write(bw); + } + else bw.Write(0); + + bw.Close(); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainOSMUtils.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainOSMUtils.cs.meta new file mode 100644 index 000000000..d34425272 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainOSMUtils.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 3462da1dfb27887498e88e5be425f98c +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainPackageManager.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainPackageManager.cs new file mode 100644 index 000000000..9c0dcd8d8 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainPackageManager.cs @@ -0,0 +1,25 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using UnityEditor; + +namespace InfinityCode.RealWorldTerrain +{ + public static class RealWorldTerrainPackageManager + { + [MenuItem("Window/Infinity Code/Real World Terrain/Packages/Playmaker Integration Kit")] + public static void ImportPlayMakerIntegrationKit() + { + RealWorldTerrainEditorUtils.ImportPackage("Packages\\RWT-Playmaker-Integration-Kit.unitypackage", + new RealWorldTerrainEditorUtils.Warning + { + title = "Playmaker Integration Kit", + message = "You have Playmaker in your project?", + ok = "Yes, I have a Playmaker" + }, + "Could not find Playmaker Integration Kit." + ); + } + + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainPackageManager.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainPackageManager.cs.meta new file mode 100644 index 000000000..0322afd50 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainPackageManager.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 4047bcd92287ca84ab65fbbf81b5d136 +timeCreated: 1523353454 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainPrefs.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainPrefs.cs new file mode 100644 index 000000000..0ceacc1cc --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainPrefs.cs @@ -0,0 +1,479 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.Collections; +using System.Globalization; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Xml; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain +{ + public class RealWorldTerrainPrefs : RealWorldTerrainPrefsBase + { + public const string prefsFilename = "RealWorldTerrainPrefs.xml"; + + private const string prefix = "RWT_"; + + private static string _mapboxAccessToken; + + [IgnoreInXML] + public bool allowChange = true; + + [IgnoreInXML] + public Vector2 coordinatesFrom = new Vector2(-113.6438f, 36.0358f); + + [IgnoreInXML] + public Vector2 coordinatesTo = new Vector2(-113.0670f, 35.5680f); + + public double leftLongitude = -113.6438; + public double rightLongitude = -113.0670; + public double topLatitude = 36.0358; + public double bottomLatitude = 35.5680; + + public bool useAnchor; + public double anchorLatitude; + public double anchorLongitude; + + public bool generateBuildings; + public bool generateGrass; + public bool generateRivers; + public bool generateRoads; + public bool generateTextures = false; + public bool generateTrees; + public RealWorldTerrainVector2i terrainCount = RealWorldTerrainVector2i.one; + + [IgnoreInXML] + private RealWorldTerrainTextureProviderManager.MapType _mapType; + + public static string mapboxAccessToken + { + get + { + if (_mapboxAccessToken == null) _mapboxAccessToken = LoadPref("MapboxAPI", ""); + return _mapboxAccessToken; + } + } + + public RealWorldTerrainTextureProviderManager.MapType mapType + { + get + { + if (_mapType == null) + { + _mapType = RealWorldTerrainTextureProviderManager.FindMapType(mapTypeID); + _mapType.LoadSettings(mapTypeExtraFields); + } + return _mapType; + } + set { _mapType = value; } + } + + public void Apply(RealWorldTerrainMonoBase target) + { + target.prefs = new RealWorldTerrainPrefsBase(); + FieldInfo[] fieldInfos = typeof(RealWorldTerrainPrefsBase).GetFields(BindingFlags.Instance | BindingFlags.Public); + foreach (FieldInfo info in fieldInfos) info.SetValue(target.prefs, info.GetValue(this)); + + target.generatedBuildings = target.generatedBuildings || generateBuildings; + target.generateGrass = target.generateGrass || generateGrass; + target.generateRoads = target.generateRoads || generateRoads; + target.generateTextures = generateTextures; + target.generateTrees = target.generateTrees || generateTrees; + } + + private void CreateChildNode(XmlNode node, string name, object value) + { + if (value == null) return; + + if (value is string) CreateNode(node, name, value as string, true); + else if (value is bool || value is int || value is long || value is short || value is Enum) CreateNode(node, name, value); + else if (value is float) CreateNode(node, name, ((float)value).ToString(RealWorldTerrainCultureInfo.numberFormat)); + else if (value is double) CreateNode(node, name, ((double)value).ToString(RealWorldTerrainCultureInfo.numberFormat)); + else if (value is UnityEngine.Object) CreateNode(node, name, AssetDatabase.GetAssetPath(value as UnityEngine.Object), true); + else if (value is IEnumerable) + { + IEnumerable v = (IEnumerable)value; + XmlNode n = CreateNode(node, name); + foreach (var item in v) CreateChildNode(n, "Item", item); + } + else + { + XmlNode n = CreateNode(node, name); + FieldInfo[] fields = value.GetType().GetFields(BindingFlags.Instance | BindingFlags.Public); + foreach (FieldInfo field in fields) CreateChildNode(n, field.Name, field.GetValue(value)); + } + } + + private XmlNode CreateNode(XmlNode node, string nodeName) + { + XmlDocument doc = node.OwnerDocument; + if (doc == null) return null; + XmlNode newNode = doc.CreateElement(nodeName); + node.AppendChild(newNode); + return newNode; + } + + private XmlNode CreateNode(XmlNode node, string nodeName, object value) + { + if (value != null) return CreateNode(node, nodeName, value.ToString(), false); + return null; + } + + private XmlNode CreateNode(XmlNode node, string nodeName, string value, bool wrapCData) + { + XmlDocument doc = node.OwnerDocument; + if (doc == null) return null; + XmlNode newNode = doc.CreateElement(nodeName); + if (!wrapCData) newNode.AppendChild(doc.CreateTextNode(value)); + else newNode.AppendChild(doc.CreateCDataSection(value)); + node.AppendChild(newNode); + return newNode; + } + + public static void DeletePref(string id) + { + EditorPrefs.DeleteKey(prefix + id); + } + + public static RealWorldTerrainPrefs GetPrefs(RealWorldTerrainMonoBase item, bool isNew = false) + { + RealWorldTerrainPrefs prefs = new RealWorldTerrainPrefs + { + leftLongitude = item.leftLongitude, + topLatitude = item.topLatitude, + rightLongitude = item.rightLongitude, + bottomLatitude = item.bottomLatitude, + generateGrass = item.generateGrass, + generateRoads = item.generateRoads, + generateTextures = item.generateTextures, + generateTrees = item.generateTrees, + }; + + FieldInfo[] fieldInfos = typeof(RealWorldTerrainPrefsBase).GetFields(BindingFlags.Instance | BindingFlags.Public); + foreach (FieldInfo info in fieldInfos) info.SetValue(prefs, info.GetValue(item.prefs)); + + if (item is RealWorldTerrainContainer) prefs.terrainCount = ((RealWorldTerrainContainer)item).terrainCount; + else prefs.terrainCount = RealWorldTerrainVector2i.one; + + if (!isNew) prefs.allowChange = false; + + if (string.IsNullOrEmpty(prefs.mapTypeID)) prefs.mapTypeID = RealWorldTerrainTextureProviderManager.Upgrade(prefs.textureProvider); + prefs.mapType = RealWorldTerrainTextureProviderManager.FindMapType(prefs.mapTypeID); + prefs.mapType.LoadSettings(prefs.mapTypeExtraFields); + + return prefs; + } + + public void Load() + { + if (!allowChange) return; + + LoadFromXML(prefsFilename); + + if (string.IsNullOrEmpty(mapTypeID)) mapTypeID = RealWorldTerrainTextureProviderManager.Upgrade(textureProvider); + mapType = RealWorldTerrainTextureProviderManager.FindMapType(mapTypeID); + mapType.LoadSettings(mapTypeExtraFields); + } + + public void LoadField(FieldInfo field, object target, XmlNode node) + { + if (node == null) return; + + string value = node.InnerXml; + if (string.IsNullOrEmpty(value)) return; + + Type type = field.FieldType; + if (type == typeof(string)) field.SetValue(target, node.InnerText.Trim()); + else if (type.IsEnum) + { + try + { + field.SetValue(target, Enum.Parse(type, value)); + } + catch + { + } + } + else if (type == typeof(int) || type == typeof(long) || type == typeof(short) || + type == typeof(float) || type == typeof(double) || + type == typeof(bool)) + + { + PropertyInfo[] properties = type.GetProperties(); + Type underlyingType = type; + + if (properties.Length == 2 && string.Equals(properties[0].Name, "HasValue", StringComparison.InvariantCultureIgnoreCase)) underlyingType = properties[1].PropertyType; + + try + { + MethodInfo method = underlyingType.GetMethod("Parse", new[] { typeof(string), typeof(IFormatProvider) }); + object obj; + if (method != null) obj = method.Invoke(null, new object[] {value, RealWorldTerrainCultureInfo.numberFormat}); + else + { + method = underlyingType.GetMethod("Parse", new[] {typeof(string)}); + obj = method.Invoke(null, new[] {value}); + } + + field.SetValue(target, obj); + } + catch (Exception exception) + { + Debug.Log(exception.Message + "\n" + exception.StackTrace); + throw; + } + } + else if (type.IsSubclassOf(typeof(UnityEngine.Object))) + { + object v = AssetDatabase.LoadAssetAtPath(node.InnerText.Trim(), typeof(UnityEngine.Object)); + field.SetValue(target, v); + } + else if (type.IsArray) + { + Array v = Array.CreateInstance(type.GetElementType(), node.ChildNodes.Count); + + int index = 0; + foreach (XmlNode itemNode in node.ChildNodes) + { + Type elementType = type.GetElementType(); + + if (elementType == typeof(string)) + { + v.SetValue(itemNode.FirstChild.Value, index); + } + else + { + object item = Activator.CreateInstance(elementType); + + FieldInfo[] fields = elementType.GetFields(BindingFlags.Public | BindingFlags.Instance); + foreach (XmlNode fieldNode in itemNode.ChildNodes) + { + FieldInfo fieldInfo = fields.FirstOrDefault(f => f.Name == fieldNode.Name); + if (fieldInfo == null) + { + Debug.Log("No info for " + fieldNode.Name); + continue; + } + + LoadField(fieldInfo, item, fieldNode); + } + + v.SetValue(item, index); + } + + index++; + } + + field.SetValue(target, v); + } + else if (type.IsGenericType) + { + Type listType = type.GetGenericArguments()[0]; + object v = type.Assembly.CreateInstance(type.FullName); + + foreach (XmlNode itemNode in node.ChildNodes) + { + object item = null; + + if (listType.IsSubclassOf(typeof(UnityEngine.Object))) + { + item = AssetDatabase.LoadAssetAtPath(itemNode.FirstChild.InnerText, listType); + if (item == null) continue; + } + else if (listType.IsValueType) + { + try + { + MethodInfo method = listType.GetMethod("Parse", new[] {typeof(string), typeof(IFormatProvider)}); + if (method != null) item = method.Invoke(null, new object[] { itemNode.FirstChild.InnerText, RealWorldTerrainCultureInfo.numberFormat}); + else + { + method = listType.GetMethod("Parse", new[] {typeof(string)}); + item = method.Invoke(null, new[] { itemNode.FirstChild.InnerText }); + } + } + catch { } + } + else + { + item = listType.Assembly.CreateInstance(listType.FullName); + FieldInfo[] fields = listType.GetFields(BindingFlags.Public | BindingFlags.Instance); + foreach (XmlNode fieldNode in itemNode.ChildNodes) + { + FieldInfo fieldInfo = fields.FirstOrDefault(f => f.Name == fieldNode.Name); + if (fieldInfo == null) + { + Debug.Log("No info for " + fieldNode.Name); + continue; + } + + LoadField(fieldInfo, item, fieldNode); + } + } + + try + { + type.GetMethod("Add").Invoke(v, new[] { item }); + } + catch (Exception exception) + { + Debug.LogError(exception.Message + "\n" + exception.StackTrace); + } + } + + field.SetValue(target, v); + } + else + { + try + { + object v = type.Assembly.CreateInstance(type.FullName); + FieldInfo[] fields = type.GetFields(BindingFlags.Instance | BindingFlags.Public); + foreach (XmlNode childNode in node.ChildNodes) + { + FieldInfo fieldInfo = fields.FirstOrDefault(f => f.Name == childNode.Name); + if (fieldInfo == null) continue; + LoadField(fieldInfo, v, childNode); + } + field.SetValue(target, v); + } + catch (Exception) + { + Debug.Log(type.FullName); + Debug.Log(node.Name); + throw; + } + } + } + + public void LoadFromXML(string filename) + { + if (!File.Exists(filename)) return; + XmlDocument doc = new XmlDocument(); + doc.Load(filename); + + XmlNode node = doc.FirstChild; + Type type = GetType(); + FieldInfo[] fields = type.GetFields(BindingFlags.Instance | BindingFlags.Public); + + foreach (XmlNode childNode in node.ChildNodes) + { + FieldInfo field = fields.FirstOrDefault(f => f.Name == childNode.Name); + + if (field == null) + { + Debug.Log("Cannot find field: " + childNode.Name); + continue; + } + + LoadField(field, this, childNode); + + if (field.Name == "coordinatesFrom") + { + leftLongitude = coordinatesFrom.x; + topLatitude = coordinatesFrom.y; + } + else if (field.Name == "coordinatesTo") + { + rightLongitude = coordinatesTo.x; + bottomLatitude = coordinatesTo.y; + } + } + } + + public static bool LoadPref(string id, bool defVal) + { + string key = prefix + id; + if (EditorPrefs.HasKey(key)) return EditorPrefs.GetBool(key); + return defVal; + } + + public static int LoadPref(string id, int defVal) + { + string key = prefix + id; + if (EditorPrefs.HasKey(key)) return EditorPrefs.GetInt(key); + return defVal; + } + + public static string LoadPref(string id, string defVal) + { + string key = prefix + id; + if (EditorPrefs.HasKey(key)) return EditorPrefs.GetString(key); + return defVal; + } + + public void Save() + { + if (!allowChange) return; + + File.WriteAllText(prefsFilename, ToXML(new XmlDocument()).OuterXml, Encoding.UTF8); + string coordsScript = "var Coords = {" + string.Format(RealWorldTerrainCultureInfo.numberFormat, "tlx: {0}, tly: {1}, brx: {2}, bry: {3}", leftLongitude, topLatitude, rightLongitude, bottomLatitude) + "};"; + + if (POI != null) + { + coordsScript += "var POI = ["; + + for (int i = 0; i < POI.Count; i++) + { + RealWorldTerrainPOI poi = POI[i]; + if (i > 0) coordsScript += ", "; + coordsScript += "{x: " + poi.x.ToString(RealWorldTerrainCultureInfo.numberFormat) + ", y:" + poi.y.ToString(RealWorldTerrainCultureInfo.numberFormat) + ", title: \"" + poi.title + "\"}"; + } + + coordsScript += "];"; + } + + string coordPath = Directory.GetFiles(Application.dataPath, "RWT_Coords.jscript", SearchOption.AllDirectories)[0].Replace('\\', '/'); + File.WriteAllText(coordPath, coordsScript); + } + + public static void SetPref(string id, bool val) + { + EditorPrefs.SetBool(prefix + id, val); + } + + public static void SetPref(string id, int val) + { + EditorPrefs.SetInt(prefix + id, val); + } + + public static void SetPref(string id, string val) + { + EditorPrefs.SetString(prefix + id, val); + } + + public XmlNode ToXML(XmlDocument document) + { + XmlNode node = document.CreateElement("Prefs"); + + mapTypeID = mapType.fullID; + mapTypeExtraFields = mapType.GetSettings(); + + FieldInfo[] fields = GetType().GetFields(BindingFlags.Instance | BindingFlags.Public); + foreach (FieldInfo field in fields) + { + if (field.IsDefined(typeof(IgnoreInXMLAttribute), false)) continue; + try + { + CreateChildNode(node, field.Name, field.GetValue(this)); + } + catch (Exception exception) + { + Debug.Log(exception.Message + "\n" + exception.StackTrace); + } + } + + return node; + } + + private class IgnoreInXMLAttribute : Attribute + { + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainPrefs.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainPrefs.cs.meta new file mode 100644 index 000000000..b7177e39c --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainPrefs.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 9ae69c0d23d3db24cb1b9db1df27a8a1 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainResources.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainResources.cs new file mode 100644 index 000000000..e9b52b90a --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainResources.cs @@ -0,0 +1,141 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain +{ + public static class RealWorldTerrainResources + { + private static Texture2D _deleteIcon; + private static Texture2D _finishIcon; + private static Texture2D _helpIcon; + private static GUIStyle _helpStyle; + private static Texture2D _openIcon; + private static Texture2D _saveIcon; + private static Texture2D _rawIcon; + private static Texture2D _refreshIcon; + private static Texture2D _utilsIcon; + private static Texture2D _resizeIcon; + private static Texture2D _warningIcon; + private static Texture2D _wizardIcon; + + public static Texture2D deleteIcon + { + get + { + if (_deleteIcon == null) _deleteIcon = GetIcon("TrashIcon"); + return _deleteIcon; + } + } + + public static Texture2D finishIcon + { + get + { + if (_finishIcon == null) _finishIcon = GetIcon("FinishIcon"); + return _finishIcon; + } + } + + public static Texture2D helpIcon + { + get + { + if (_helpIcon == null) _helpIcon = GetIcon("HelpIcon"); + return _helpIcon; + } + } + + public static GUIStyle helpStyle + { + get + { + if (_helpStyle == null) + { + _helpStyle = new GUIStyle(); + _helpStyle.margin = new RectOffset(0, 0, 2, 0); + } + return _helpStyle; + } + } + + public static Texture2D openIcon + { + get + { + if (_openIcon == null) _openIcon = GetIcon("OpenIcon"); + return _openIcon; + } + } + + public static Texture2D saveIcon + { + get + { + if (_saveIcon == null) _saveIcon = GetIcon("SaveIcon"); + return _saveIcon; + } + } + + public static Texture2D rawIcon + { + get + { + if (_rawIcon == null) _rawIcon = GetIcon("RawIcon"); + return _rawIcon; + } + } + + public static Texture2D refreshIcon + { + get + { + if (_refreshIcon == null) _refreshIcon = GetIcon("RWT"); + return _refreshIcon; + } + } + + public static Texture2D utilsIcon + { + get + { + if (_utilsIcon == null) _utilsIcon = GetIcon("UtilsIcon"); + return _utilsIcon; + } + } + + public static Texture2D resizeIcon + { + get + { + if (_resizeIcon == null) _resizeIcon = GetIcon("ResizeIcon"); + return _resizeIcon; + } + } + + public static Texture2D warningIcon + { + get + { + if (_warningIcon == null) _warningIcon = GetIcon("WarningIcon"); + return _warningIcon; + } + } + + public static Texture2D wizardIcon + { + get + { + if (_wizardIcon == null) _wizardIcon = GetIcon("WizardIcon"); + return _wizardIcon; + } + } + + public static Texture2D GetIcon(string name) + { + return AssetDatabase.LoadAssetAtPath(RealWorldTerrainEditorUtils.assetPath + "Icons/" + name + ".png", typeof(Texture2D)) as Texture2D; + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainResources.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainResources.cs.meta new file mode 100644 index 000000000..342c606a8 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainResources.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 59e0c5821cbbc144eae7023b8d9adcbe +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainWaterMask.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainWaterMask.cs new file mode 100644 index 000000000..e6d95f169 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainWaterMask.cs @@ -0,0 +1,127 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.IO; +using InfinityCode.RealWorldTerrain.Generators; +using InfinityCode.RealWorldTerrain.Windows; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain +{ + public static class RealWorldTerrainWaterMask + { + private static bool hasMercatorBounds; + private static double mx1, my1, mx2, my2; + private static byte[] waterMask; + private static int waterMaskWidth; + private static int waterMaskHeight; + + private static RealWorldTerrainPrefs prefs + { + get { return RealWorldTerrainWindow.prefs; } + } + + public static void Dispose() + { + hasMercatorBounds = false; + waterMask = null; + } + + public static bool Get(double x, double y, out double value) + { + try + { + if (!hasMercatorBounds) + { + RealWorldTerrainGeo.LatLongToMercat(prefs.leftLongitude, prefs.topLatitude, out mx1, out my1); + RealWorldTerrainGeo.LatLongToMercat(prefs.rightLongitude, prefs.bottomLatitude, out mx2, out my2); + hasMercatorBounds = true; + } + + if (IsWater(x, y)) + { + if (RealWorldTerrainElevationGenerator.OnElevationRetrieved != null) + { + double? nv = RealWorldTerrainElevationGenerator.OnElevationRetrieved(x, y, double.MinValue); + if (nv.HasValue) + { + value = nv.Value; + return true; + } + } + + value = double.MinValue; + return true; + } + } + catch + { + + } + + value = 0; + return false; + } + + private static bool IsWater(double x, double y) + { + double rx = (x - mx1) / (mx2 - mx1); + if (prefs.waterDetectionSource == RealWorldTerrainWaterDetectionSource.texture) + { + double ry = (my2 - y) / (my2 - my1); + Color c = prefs.waterDetectionTexture.GetPixelBilinear((float)rx, (float)ry); + if (c.grayscale > 0.5f) return true; + } + else if (prefs.waterDetectionSource == RealWorldTerrainWaterDetectionSource.bitMask) + { + double ry = (y - my1) / (my2 - my1); + if (waterMask == null) LoadWaterMask(); + + int ix = (int)Math.Round(waterMaskWidth * rx); + int iy = (int)Math.Round(waterMaskHeight * ry); + + if (ix < 0) ix = 0; + else if (ix >= waterMaskWidth) ix = waterMaskWidth - 1; + + if (iy < 0) iy = 0; + else if (iy >= waterMaskHeight) iy = waterMaskHeight - 1; + + int index = iy * waterMaskWidth + ix; + int bitIndex = index % 8; + byte b = waterMask[index / 8]; + + return (b & (1 << bitIndex)) != 0; + } + + return false; + } + + public static bool IsUsed(bool allowWaterTexture = true) + { + if (!allowWaterTexture || !prefs.generateUnderWater) return false; + + if (prefs.waterDetectionSource == RealWorldTerrainWaterDetectionSource.texture) + { + return prefs.waterDetectionTexture != null; + } + + if (prefs.waterDetectionSource == RealWorldTerrainWaterDetectionSource.bitMask) + { + return prefs.waterDetectionBitMask != null; + } + + return true; + } + + private static void LoadWaterMask() + { + byte[] bytes = prefs.waterDetectionBitMask.bytes; + MemoryStream stream = new MemoryStream(bytes); + BinaryReader reader = new BinaryReader(stream); + waterMaskWidth = reader.ReadInt32(); + waterMaskHeight = reader.ReadInt32(); + waterMask = reader.ReadBytes(bytes.Length - 8); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainWaterMask.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainWaterMask.cs.meta new file mode 100644 index 000000000..be090c3c4 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainWaterMask.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b9e03fa55bd85d542b55b8e5eed2ce5e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainZipDecompressor.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainZipDecompressor.cs new file mode 100644 index 000000000..804d4b147 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainZipDecompressor.cs @@ -0,0 +1,1102 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.IO; + +namespace InfinityCode.RealWorldTerrain +{ + /// + /// Implements decompression of Zip archives + /// + public static class RealWorldTerrainZipDecompressor + { + /// + /// Decompression zip + /// + /// Zip archive bytes + /// Uncompressed bytes + public static byte[] Decompress(byte[] bytes) + { + if (bytes.Length < 2 || bytes[0] != 0x1f || bytes[1] != 0x8b) return bytes; + + InputStream stream = new InputStream(bytes); + const int SIZE = 4096; + byte[] buffer = new byte[SIZE]; + MemoryStream memory = new MemoryStream(); + + try + { + int count; + do + { + count = stream.Read(buffer, 0, SIZE); + if (count > 0) memory.Write(buffer, 0, count); + } while (count > 0); + } + catch + { + return bytes; + } + + return memory.ToArray(); + } + + internal class Buffer + { + internal int available; + private byte[] clearText; + private int clearTextLength; + private Stream inputStream; + private byte[] rawData; + private int rawLength; + + internal Buffer(Stream stream, int bufferSize) + { + inputStream = stream; + if (bufferSize < 1024) bufferSize = 1024; + rawData = new byte[bufferSize]; + clearText = rawData; + } + + internal void Fill() + { + rawLength = 0; + int toRead = rawData.Length; + + while (toRead > 0) + { + int count = inputStream.Read(rawData, rawLength, toRead); + if (count <= 0) break; + rawLength += count; + toRead -= count; + } + + clearTextLength = rawLength; + available = clearTextLength; + } + + internal int ReadClearTextBuffer(byte[] outBuffer, int offset, int length) + { + int currentOffset = offset; + int currentLength = length; + + while (currentLength > 0) + { + if (available <= 0) + { + Fill(); + if (available <= 0) return 0; + } + + int toCopy = Math.Min(currentLength, available); + Array.Copy(clearText, clearTextLength - available, outBuffer, currentOffset, toCopy); + currentOffset += toCopy; + currentLength -= toCopy; + available -= toCopy; + } + return length; + } + + internal int ReadLeByte() + { + if (available <= 0) Fill(); + byte result = rawData[rawLength - available]; + available -= 1; + return result; + } + + internal void SetInflaterInput(Inflater inflater) + { + if (available <= 0) return; + + inflater.input.SetInput(clearText, clearTextLength - available, available); + available = 0; + } + } + + internal class Crc32 + { + private static readonly uint[] crcTable = { + 0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA, 0x076DC419, + 0x706AF48F, 0xE963A535, 0x9E6495A3, 0x0EDB8832, 0x79DCB8A4, + 0xE0D5E91E, 0x97D2D988, 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, + 0x90BF1D91, 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE, + 0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7, 0x136C9856, + 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC, 0x14015C4F, 0x63066CD9, + 0xFA0F3D63, 0x8D080DF5, 0x3B6E20C8, 0x4C69105E, 0xD56041E4, + 0xA2677172, 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B, + 0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940, 0x32D86CE3, + 0x45DF5C75, 0xDCD60DCF, 0xABD13D59, 0x26D930AC, 0x51DE003A, + 0xC8D75180, 0xBFD06116, 0x21B4F4B5, 0x56B3C423, 0xCFBA9599, + 0xB8BDA50F, 0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924, + 0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D, 0x76DC4190, + 0x01DB7106, 0x98D220BC, 0xEFD5102A, 0x71B18589, 0x06B6B51F, + 0x9FBFE4A5, 0xE8B8D433, 0x7807C9A2, 0x0F00F934, 0x9609A88E, + 0xE10E9818, 0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01, + 0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E, 0x6C0695ED, + 0x1B01A57B, 0x8208F4C1, 0xF50FC457, 0x65B0D9C6, 0x12B7E950, + 0x8BBEB8EA, 0xFCB9887C, 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, + 0xFBD44C65, 0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2, + 0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB, 0x4369E96A, + 0x346ED9FC, 0xAD678846, 0xDA60B8D0, 0x44042D73, 0x33031DE5, + 0xAA0A4C5F, 0xDD0D7CC9, 0x5005713C, 0x270241AA, 0xBE0B1010, + 0xC90C2086, 0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F, + 0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4, 0x59B33D17, + 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD, 0xEDB88320, 0x9ABFB3B6, + 0x03B6E20C, 0x74B1D29A, 0xEAD54739, 0x9DD277AF, 0x04DB2615, + 0x73DC1683, 0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8, + 0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1, 0xF00F9344, + 0x8708A3D2, 0x1E01F268, 0x6906C2FE, 0xF762575D, 0x806567CB, + 0x196C3671, 0x6E6B06E7, 0xFED41B76, 0x89D32BE0, 0x10DA7A5A, + 0x67DD4ACC, 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5, + 0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252, 0xD1BB67F1, + 0xA6BC5767, 0x3FB506DD, 0x48B2364B, 0xD80D2BDA, 0xAF0A1B4C, + 0x36034AF6, 0x41047A60, 0xDF60EFC3, 0xA867DF55, 0x316E8EEF, + 0x4669BE79, 0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236, + 0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F, 0xC5BA3BBE, + 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04, 0xC2D7FFA7, 0xB5D0CF31, + 0x2CD99E8B, 0x5BDEAE1D, 0x9B64C2B0, 0xEC63F226, 0x756AA39C, + 0x026D930A, 0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713, + 0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38, 0x92D28E9B, + 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21, 0x86D3D2D4, 0xF1D4E242, + 0x68DDB3F8, 0x1FDA836E, 0x81BE16CD, 0xF6B9265B, 0x6FB077E1, + 0x18B74777, 0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C, + 0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45, 0xA00AE278, + 0xD70DD2EE, 0x4E048354, 0x3903B3C2, 0xA7672661, 0xD06016F7, + 0x4969474D, 0x3E6E77DB, 0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, + 0x37D83BF0, 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9, + 0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6, 0xBAD03605, + 0xCDD70693, 0x54DE5729, 0x23D967BF, 0xB3667A2E, 0xC4614AB8, + 0x5D681B02, 0x2A6F2B94, 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, + 0x2D02EF8D + }; + + private uint checkValue; + + internal Crc32() + { + checkValue = 0xFFFFFFFF; + } + + internal void Update(int bval) + { + checkValue = crcTable[(checkValue ^ bval) & 0xFF] ^ (checkValue >> 8); + } + } + + internal class Header + { + private static readonly int[] BL_ORDER = { 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 }; + private static readonly int[] repBits = { 2, 3, 7 }; + private static readonly int[] repMin = { 3, 3, 11 }; + + private byte[] blLens; + private HuffmanTree blTree; + private int blnum; + private int dnum; + private byte lastLen; + private byte[] litdistLens; + private int lnum; + private int mode; + private int num; + private int ptr; + private int repSymbol; + + internal HuffmanTree BuildDistTree() + { + byte[] distLens = new byte[dnum]; + Array.Copy(litdistLens, lnum, distLens, 0, dnum); + return new HuffmanTree(distLens); + } + + internal HuffmanTree BuildLitLenTree() + { + byte[] litlenLens = new byte[lnum]; + Array.Copy(litdistLens, 0, litlenLens, 0, lnum); + return new HuffmanTree(litlenLens); + } + + internal bool Decode(StreamManipulator input) + { + decode_loop: + while (true) + { + switch (mode) + { + case 0: + lnum = input.PeekBits(5); + if (lnum < 0) return false; + lnum += 257; + input.DropBits(5); + mode = 1; + goto case 1; + case 1: + dnum = input.PeekBits(5); + if (dnum < 0) return false; + dnum++; + input.DropBits(5); + num = lnum + dnum; + litdistLens = new byte[num]; + mode = 2; + goto case 2; + case 2: + blnum = input.PeekBits(4); + if (blnum < 0) return false; + blnum += 4; + input.DropBits(4); + blLens = new byte[19]; + ptr = 0; + mode = 3; + goto case 3; + case 3: + while (ptr < blnum) + { + int len = input.PeekBits(3); + if (len < 0) return false; + input.DropBits(3); + blLens[BL_ORDER[ptr]] = (byte)len; + ptr++; + } + blTree = new HuffmanTree(blLens); + blLens = null; + ptr = 0; + mode = 4; + goto case 4; + case 4: + int symbol; + while (((symbol = blTree.GetSymbol(input)) & ~15) == 0) + { + litdistLens[ptr++] = lastLen = (byte)symbol; + if (ptr == num) return true; + } + + if (symbol < 0) return false; + + if (symbol >= 17) lastLen = 0; + repSymbol = symbol - 16; + mode = 5; + goto case 5; + case 5: + int bits = repBits[repSymbol]; + int count = input.PeekBits(bits); + if (count < 0) return false; + input.DropBits(bits); + count += repMin[repSymbol]; + while (count-- > 0) litdistLens[ptr++] = lastLen; + + if (ptr == num) return true; + mode = 4; + goto decode_loop; + } + } + } + } + + internal class HuffmanTree + { + private const int MAX_BITLEN = 15; + private static readonly byte[] bit4Reverse = { 0, 8, 4, 12, 2, 10, 6, 14, 1, 9, 5, 13, 3, 11, 7, 15 }; + + private short[] tree; + + internal HuffmanTree(byte[] codeLengths) + { + int[] blCount = new int[MAX_BITLEN + 1]; + int[] nextCode = new int[MAX_BITLEN + 1]; + + for (int i = 0; i < codeLengths.Length; i++) + { + int bits = codeLengths[i]; + if (bits > 0) blCount[bits]++; + } + + int code = 0; + int treeSize = 512; + for (int bits = 1; bits <= MAX_BITLEN; bits++) + { + nextCode[bits] = code; + code += blCount[bits] << (16 - bits); + if (bits >= 10) + { + int start = nextCode[bits] & 0x1ff80; + int end = code & 0x1ff80; + treeSize += (end - start) >> (16 - bits); + } + } + + tree = new short[treeSize]; + int treePtr = 512; + for (int bits = MAX_BITLEN; bits >= 10; bits--) + { + int end = code & 0x1ff80; + code -= blCount[bits] << (16 - bits); + int start = code & 0x1ff80; + for (int i = start; i < end; i += 1 << 7) + { + tree[BitReverse(i)] = (short)((-treePtr << 4) | bits); + treePtr += 1 << (bits - 9); + } + } + + for (int i = 0; i < codeLengths.Length; i++) + { + int bits = codeLengths[i]; + if (bits == 0) continue; + code = nextCode[bits]; + int revcode = BitReverse(code); + if (bits <= 9) + { + do + { + tree[revcode] = (short)((i << 4) | bits); + revcode += 1 << bits; + } while (revcode < 512); + } + else + { + int subTree = tree[revcode & 511]; + int treeLen = 1 << (subTree & 15); + subTree = -(subTree >> 4); + do + { + tree[subTree | (revcode >> 9)] = (short)((i << 4) | bits); + revcode += 1 << bits; + } while (revcode < treeLen); + } + nextCode[bits] = code + (1 << (16 - bits)); + } + } + + internal static short BitReverse(int toReverse) + { + return (short)(bit4Reverse[toReverse & 0xF] << 12 | + bit4Reverse[(toReverse >> 4) & 0xF] << 8 | + bit4Reverse[(toReverse >> 8) & 0xF] << 4 | + bit4Reverse[toReverse >> 12]); + } + + internal int GetSymbol(StreamManipulator input) + { + int lookahead, symbol; + if ((lookahead = input.PeekBits(9)) >= 0) + { + if ((symbol = tree[lookahead]) >= 0) + { + input.DropBits(symbol & 15); + return symbol >> 4; + } + int subtree = -(symbol >> 4); + int bitlen = symbol & 15; + if ((lookahead = input.PeekBits(bitlen)) >= 0) + { + symbol = tree[subtree | (lookahead >> 9)]; + input.DropBits(symbol & 15); + return symbol >> 4; + } + int bits = input.availableBits; + lookahead = input.PeekBits(bits); + symbol = tree[subtree | (lookahead >> 9)]; + if ((symbol & 15) <= bits) + { + input.DropBits(symbol & 15); + return symbol >> 4; + } + return -1; + } + else + { + int bits = input.availableBits; + lookahead = input.PeekBits(bits); + symbol = tree[lookahead]; + if (symbol >= 0 && (symbol & 15) <= bits) + { + input.DropBits(symbol & 15); + return symbol >> 4; + } + return -1; + } + } + } + + internal class Inflater + { + private static readonly int[] CPDEXT = { + 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, + 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, + 12, 12, 13, 13 + }; + + private static readonly int[] CPDIST = { + 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, + 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, + 8193, 12289, 16385, 24577 + }; + + private static readonly int[] CPLENS = { + 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, + 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258 + }; + + private static readonly int[] CPLEXT = { + 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, + 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0 + }; + + internal readonly StreamManipulator input; + + private uint adler = 1; + private HuffmanTree distTree; + private Header dynHeader; + private bool isLastBlock; + private HuffmanTree litlenTree; + private int mode; + private int neededBits; + private Output output; + private int readAdler; + private int repDist; + private int repLength; + private int uncomprLen; + + internal bool IsFinished + { + get { return mode == 12 && output.available == 0; } + } + + internal Inflater() + { + input = new StreamManipulator(); + output = new Output(); + mode = 2; + } + + private bool Decode() + { + switch (mode) + { + case 0: + return DecodeHeader(); + + case 1: + return DecodeDict(); + + case 11: + return DecodeChecksum(); + + case 2: + if (isLastBlock) + { + mode = 12; + return false; + } + + int type = input.PeekBits(3); + if (type < 0) return false; + input.DropBits(3); + + isLastBlock |= (type & 1) != 0; + switch (type >> 1) + { + case 0: + input.SkipToByteBoundary(); + mode = 3; + break; + case 1: + litlenTree = null; + distTree = null; + mode = 7; + break; + case 2: + dynHeader = new Header(); + mode = 6; + break; + } + return true; + + case 3: + { + if ((uncomprLen = input.PeekBits(16)) < 0) return false; + input.DropBits(16); + mode = 4; + } + goto case 4; + + case 4: + { + int nlen = input.PeekBits(16); + if (nlen < 0) return false; + input.DropBits(16); + mode = 5; + } + goto case 5; + + case 5: + { + int more = output.CopyStored(input, uncomprLen); + uncomprLen -= more; + if (uncomprLen == 0) + { + mode = 2; + return true; + } + return !input.isNeedingInput; + } + + case 6: + if (!dynHeader.Decode(input)) return false; + + litlenTree = dynHeader.BuildLitLenTree(); + distTree = dynHeader.BuildDistTree(); + mode = 7; + goto case 7; + + case 7: + case 8: + case 9: + case 10: + return DecodeHuffman(); + + case 12: + return false; + + default: + throw new Exception("Inflater.Decode unknown mode"); + } + } + + private bool DecodeChecksum() + { + while (neededBits > 0) + { + int chkByte = input.PeekBits(8); + if (chkByte < 0) return false; + input.DropBits(8); + readAdler = (readAdler << 8) | chkByte; + neededBits -= 8; + } + + mode = 12; + return false; + } + + private bool DecodeDict() + { + while (neededBits > 0) + { + int dictByte = input.PeekBits(8); + if (dictByte < 0) return false; + input.DropBits(8); + readAdler = (readAdler << 8) | dictByte; + neededBits -= 8; + } + return false; + } + + private bool DecodeHeader() + { + int header = input.PeekBits(16); + if (header < 0) return false; + input.DropBits(16); + + header = ((header << 8) | (header >> 8)) & 0xffff; + + if ((header & 0x0020) == 0) mode = 2; + else + { + mode = 1; + neededBits = 32; + } + return true; + } + + private bool DecodeHuffman() + { + int free = output.freeSpace; + while (free >= 258) + { + int symbol; + switch (mode) + { + case 7: + while (((symbol = litlenTree.GetSymbol(input)) & ~0xff) == 0) + { + output.Write(symbol); + if (--free < 258) return true; + } + + if (symbol < 257) + { + if (symbol < 0) return false; + distTree = null; + litlenTree = null; + mode = 2; + return true; + } + + int s = symbol - 257; + if (s < 29) + { + repLength = CPLENS[s]; + neededBits = CPLEXT[s]; + } + + goto case 8; + + case 8: + if (neededBits > 0) + { + mode = 8; + int i = input.PeekBits(neededBits); + if (i < 0) return false; + input.DropBits(neededBits); + repLength += i; + } + mode = 9; + goto case 9; + + case 9: + symbol = distTree.GetSymbol(input); + if (symbol < 0) return false; + + if (symbol < 30) + { + repDist = CPDIST[symbol]; + neededBits = CPDEXT[symbol]; + } + + goto case 10; + + case 10: + if (neededBits > 0) + { + mode = 10; + int i = input.PeekBits(neededBits); + if (i < 0) return false; + input.DropBits(neededBits); + repDist += i; + } + + output.Repeat(repLength, repDist); + free -= repLength; + mode = 7; + break; + } + } + return true; + } + + internal int Inflate(byte[] buffer, int offset, int count) + { + if (count == 0) + { + if (!IsFinished) Decode(); + return 0; + } + + int bytesCopied = 0; + + do + { + if (mode == 11) continue; + + int more = output.CopyOutput(buffer, offset, count); + if (more <= 0) continue; + + UpdateAdler(buffer, offset, more); + offset += more; + bytesCopied += more; + count -= more; + if (count == 0) return bytesCopied; + } while (Decode() || output.available > 0 && mode != 11); + return bytesCopied; + } + + internal void Reset() + { + mode = 2; + input.Reset(); + output.Reset(); + dynHeader = null; + litlenTree = null; + distTree = null; + isLastBlock = false; + adler = 1; + } + + internal void UpdateAdler(byte[] buffer, int offset, int count) + { + uint s1 = adler & 0xFFFF; + uint s2 = adler >> 16; + + while (count > 0) + { + int n = 3800; + if (n > count) n = count; + count -= n; + while (--n >= 0) + { + s1 = s1 + (uint)(buffer[offset++] & 0xff); + s2 = s2 + s1; + } + s1 %= 65521; + s2 %= 65521; + } + + adler = (s2 << 16) | s1; + } + } + + internal class InputStream : IDisposable + { + private Buffer buffer; + private Crc32 crc; + private Inflater inflater; + private bool readHeader; + private Stream stream; + + internal InputStream(byte[] bytes) + { + stream = new MemoryStream(bytes); + inflater = new Inflater(); + + buffer = new Buffer(stream, 4096); + } + + public void Dispose() + { + stream.Dispose(); + } + + internal int Read(byte[] bytes, int offset, int count) + { + while (true) + { + if (!readHeader) + { + try + { + if (!ReadHeader()) return 0; + } + catch + { + return 0; + } + } + + int bytesRead = ReadBody(bytes, offset, count); + if (bytesRead > 0) + { + int o = offset; + for (int i = 0; i < bytesRead; ++i) crc.Update(bytes[o++]); + } + if (inflater.IsFinished) ReadFooter(); + if (bytesRead > 0) return bytesRead; + } + } + + internal int ReadBody(byte[] bytes, int offset, int count) + { + int remainingBytes = count; + while (true) + { + int bytesRead = inflater.Inflate(bytes, offset, remainingBytes); + offset += bytesRead; + remainingBytes -= bytesRead; + + if (remainingBytes == 0 || inflater.IsFinished) break; + if (!inflater.input.isNeedingInput) continue; + + if (buffer.available <= 0) buffer.Fill(); + buffer.SetInflaterInput(inflater); + } + return count - remainingBytes; + } + + private void ReadFooter() + { + byte[] footer = new byte[8]; + + buffer.available += inflater.input.availableBytes; + inflater.Reset(); + + int needed = 8; + while (needed > 0) + { + int count = buffer.ReadClearTextBuffer(footer, 8 - needed, needed); + needed -= count; + } + + readHeader = false; + } + + private bool ReadHeader() + { + crc = new Crc32(); + + if (buffer.available <= 0) + { + buffer.Fill(); + if (buffer.available <= 0) return false; + } + + Crc32 headCRC = new Crc32(); + int magic = buffer.ReadLeByte(); + + headCRC.Update(magic); + magic = buffer.ReadLeByte(); + + headCRC.Update(magic); + + int compressionType = buffer.ReadLeByte(); + + headCRC.Update(compressionType); + + int flags = buffer.ReadLeByte(); + headCRC.Update(flags); + + for (int i = 0; i < 6; i++) + { + int readByte = buffer.ReadLeByte(); + headCRC.Update(readByte); + } + + if ((flags & 0x4) != 0) + { + int len1 = buffer.ReadLeByte(); + int len2 = buffer.ReadLeByte(); + headCRC.Update(len1); + headCRC.Update(len2); + + int extraLen = (len2 << 8) | len1; + for (int i = 0; i < extraLen; i++) + { + int readByte = buffer.ReadLeByte(); + headCRC.Update(readByte); + } + } + + if ((flags & 0x8) != 0) + { + int readByte; + while ((readByte = buffer.ReadLeByte()) > 0) headCRC.Update(readByte); + headCRC.Update(readByte); + } + + if ((flags & 0x10) != 0) + { + int readByte; + while ((readByte = buffer.ReadLeByte()) > 0) headCRC.Update(readByte); + headCRC.Update(readByte); + } + + if ((flags & 0x2) != 0) + { + buffer.ReadLeByte(); + buffer.ReadLeByte(); + } + + readHeader = true; + return true; + } + } + + internal class Output + { + private const int MASK = SIZE - 1; + private const int SIZE = 1 << 15; + + private int end; + private int filled; + private byte[] window = new byte[SIZE]; + + internal int available + { + get { return filled; } + } + + internal int freeSpace + { + get { return SIZE - filled; } + } + + internal int CopyOutput(byte[] output, int offset, int len) + { + int copyEnd = end; + if (len > filled) len = filled; + else copyEnd = (end - filled + len) & MASK; + + int copied = len; + int tailLen = len - copyEnd; + + if (tailLen > 0) + { + Array.Copy(window, SIZE - tailLen, output, offset, tailLen); + offset += tailLen; + len = copyEnd; + } + + Array.Copy(window, copyEnd - len, output, offset, len); + filled -= copied; + return copied; + } + + internal int CopyStored(StreamManipulator input, int length) + { + length = Math.Min(Math.Min(length, SIZE - filled), input.availableBytes); + int copied; + + int tailLen = SIZE - end; + if (length > tailLen) + { + copied = input.CopyBytes(window, end, tailLen); + if (copied == tailLen) copied += input.CopyBytes(window, 0, length - tailLen); + } + else copied = input.CopyBytes(window, end, length); + + end = (end + copied) & MASK; + filled += copied; + return copied; + } + + internal void Repeat(int length, int distance) + { + filled += length; + + int repStart = (end - distance) & MASK; + int border = SIZE - length; + if (repStart <= border && end < border) + { + if (length <= distance) + { + Array.Copy(window, repStart, window, end, length); + end += length; + } + else + { + while (length-- > 0) window[end++] = window[repStart++]; + } + } + else SlowRepeat(repStart, length); + } + + internal void Reset() + { + filled = end = 0; + } + + private void SlowRepeat(int repStart, int length) + { + while (length-- > 0) + { + window[end++] = window[repStart++]; + end &= MASK; + repStart &= MASK; + } + } + + internal void Write(int value) + { + filled++; + window[end++] = (byte)value; + end &= MASK; + } + } + + internal class StreamManipulator + { + private int bitsInBuffer; + private uint buffer; + private byte[] window; + private int windowEnd; + private int windowStart; + + internal int availableBits + { + get { return bitsInBuffer; } + } + + internal int availableBytes + { + get { return windowEnd - windowStart + (bitsInBuffer >> 3); } + } + + internal bool isNeedingInput + { + get { return windowStart == windowEnd; } + } + + internal int CopyBytes(byte[] output, int offset, int length) + { + int count = 0; + while (bitsInBuffer > 0 && length > 0) + { + output[offset++] = (byte)buffer; + buffer >>= 8; + bitsInBuffer -= 8; + length--; + count++; + } + + if (length == 0) return count; + + int avail = windowEnd - windowStart; + if (length > avail) length = avail; + + Array.Copy(window, windowStart, output, offset, length); + windowStart += length; + + if (((windowStart - windowEnd) & 1) != 0) + { + buffer = (uint)(window[windowStart++] & 0xff); + bitsInBuffer = 8; + } + return count + length; + } + + internal void DropBits(int bitCount) + { + buffer >>= bitCount; + bitsInBuffer -= bitCount; + } + + internal int PeekBits(int bitCount) + { + if (bitsInBuffer < bitCount) + { + if (windowStart == windowEnd) return -1; + buffer |= (uint)((window[windowStart++] & 0xff | + (window[windowStart++] & 0xff) << 8) << bitsInBuffer); + bitsInBuffer += 16; + } + return (int)(buffer & ((1 << bitCount) - 1)); + } + + internal void Reset() + { + buffer = 0; + windowStart = windowEnd = bitsInBuffer = 0; + } + + internal void SetInput(byte[] bytes, int offset, int count) + { + int end = offset + count; + + if ((count & 1) != 0) + { + buffer |= (uint)((bytes[offset++] & 0xff) << bitsInBuffer); + bitsInBuffer += 8; + } + + window = bytes; + windowStart = offset; + windowEnd = end; + } + + internal void SkipToByteBoundary() + { + buffer >>= bitsInBuffer & 7; + bitsInBuffer &= ~7; + } + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainZipDecompressor.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainZipDecompressor.cs.meta new file mode 100644 index 000000000..25c1fd3bf --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Utils/RealWorldTerrainZipDecompressor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: abc6dba226114584bbb5219647a5d577 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Vector.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Vector.meta new file mode 100644 index 000000000..ef6909dcf --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Vector.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: faf3bb64527953048bf918c3ab4b0612 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Vector/RealWorldTerrainMapboxClipper.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Vector/RealWorldTerrainMapboxClipper.cs new file mode 100644 index 000000000..1c6a722b4 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Vector/RealWorldTerrainMapboxClipper.cs @@ -0,0 +1,2959 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.Collections.Generic; + +namespace InfinityCode.RealWorldTerrain.Vector +{ + using LPoint = RealWorldTerrainVectorTile.LPoint; + using LPoints = List; + + public class RealWorldTerrainMapboxClipper + { + public class PolyNode + { + internal LPoints polygon = new LPoints(); + internal List children = new List(); + public bool isOpen; + } + + public class PolyTree : PolyNode + { + internal List polygons = new List(); + + public void Clear() + { + for (int i = 0; i < polygons.Count; i++) polygons[i] = null; + polygons.Clear(); + children.Clear(); + } + + public int Total + { + get + { + int result = polygons.Count; + if (result > 0 && children[0] != polygons[0]) result--; + return result; + } + } + } + + public enum ClipType { ctIntersection, ctUnion, ctDifference, ctXor }; + public enum PolyType { ptSubject, ptClip }; + public enum PolyFillType { pftEvenOdd, pftNonZero, pftPositive, pftNegative }; + internal enum EdgeSide { esLeft, esRight }; + internal enum Direction { dRightToLeft, dLeftToRight }; + + internal class TEdge + { + internal LPoint Bot; + internal LPoint Curr; + internal LPoint Top; + internal LPoint Delta; + internal double Dx; + internal PolyType PolyTyp; + internal EdgeSide Side; + internal int WindDelta; + internal int WindCnt; + internal int WindCnt2; + internal int OutIdx; + internal TEdge Next; + internal TEdge Prev; + internal TEdge NextInLML; + internal TEdge NextInAEL; + internal TEdge PrevInAEL; + internal TEdge NextInSEL; + internal TEdge PrevInSEL; + }; + + public class IntersectNode + { + internal TEdge Edge1; + internal TEdge Edge2; + internal LPoint Pt; + }; + + internal class LocalMinima + { + internal long Y; + internal TEdge LeftBound; + internal TEdge RightBound; + internal LocalMinima Next; + }; + + internal class Scanbeam + { + internal long Y; + internal Scanbeam Next; + }; + + internal class Maxima + { + internal long X; + internal Maxima Next; + internal Maxima Prev; + }; + + internal class OutRec + { + internal int Idx; + internal bool IsHole; + internal bool IsOpen; + internal OutRec FirstLeft; + internal OutPt Pts; + internal OutPt BottomPt; + internal PolyNode PolyNode; + }; + + internal class OutPt + { + internal int Idx; + internal LPoint Pt; + internal OutPt Next; + internal OutPt Prev; + }; + + internal class Join + { + internal OutPt OutPt1; + internal OutPt OutPt2; + internal LPoint OffPt; + }; + + public class Clipper + { + public const int ioReverseSolution = 1; + public const int ioStrictlySimple = 2; + public const int ioPreserveCollinear = 4; + + private ClipType m_ClipType; + private Maxima m_Maxima; + private TEdge m_SortedEdges; + private List m_IntersectList; + private bool m_ExecuteLocked; + private PolyFillType m_ClipFillType; + private PolyFillType m_SubjFillType; + private List m_Joins; + private List m_GhostJoins; + private bool m_UsingPolyTree; + internal const double horizontal = -3.4E+38; + internal const int Skip = -2; + internal const int Unassigned = -1; + internal LocalMinima m_MinimaList; + internal LocalMinima m_CurrentLM; + internal Scanbeam m_Scanbeam; + internal List m_PolyOuts; + internal TEdge m_ActiveEdges; + internal bool m_HasOpenPaths; + + public Clipper(int InitOptions = 0) + { + m_Scanbeam = null; + m_Maxima = null; + m_ActiveEdges = null; + m_SortedEdges = null; + m_IntersectList = new List(); + m_ExecuteLocked = false; + m_UsingPolyTree = false; + m_PolyOuts = new List(); + m_Joins = new List(); + m_GhostJoins = new List(); + ReverseSolution = (ioReverseSolution & InitOptions) != 0; + StrictlySimple = (ioStrictlySimple & InitOptions) != 0; + PreserveCollinear = (ioPreserveCollinear & InitOptions) != 0; + } + + public bool PreserveCollinear { get; set; } + + public void Swap(ref long val1, ref long val2) + { + long tmp = val1; + val1 = val2; + val2 = tmp; + } + + internal static bool IsHorizontal(TEdge e) + { + return e.Delta.y == 0; + } + + internal static bool SlopesEqual(TEdge e1, TEdge e2) + { + return e1.Delta.y * e2.Delta.x == e1.Delta.x * e2.Delta.y; + } + + internal static bool SlopesEqual(LPoint pt1, LPoint pt2, LPoint pt3) + { + return (pt1.y - pt2.y) * (pt2.x - pt3.x) - (pt1.x - pt2.x) * (pt2.y - pt3.y) == 0; + } + + internal static bool SlopesEqual(LPoint pt1, LPoint pt2, LPoint pt3, LPoint pt4) + { + return (pt1.y - pt2.y) * (pt3.x - pt4.x) - (pt1.x - pt2.x) * (pt3.y - pt4.y) == 0; + } + + private void InitEdge(TEdge e, TEdge eNext, TEdge ePrev, LPoint pt) + { + e.Next = eNext; + e.Prev = ePrev; + e.Curr = pt; + e.OutIdx = Unassigned; + } + + private void InitEdge2(TEdge e, PolyType polyType) + { + if (e.Curr.y >= e.Next.Curr.y) + { + e.Bot = e.Curr; + e.Top = e.Next.Curr; + } + else + { + e.Top = e.Curr; + e.Bot = e.Next.Curr; + } + SetDx(e); + e.PolyTyp = polyType; + } + + private TEdge FindNextLocMin(TEdge E) + { + while (true) + { + while (E.Bot != E.Prev.Bot || E.Curr == E.Top) E = E.Next; + if (E.Dx != horizontal && E.Prev.Dx != horizontal) break; + while (E.Prev.Dx == horizontal) E = E.Prev; + TEdge E2 = E; + while (E.Dx == horizontal) E = E.Next; + if (E.Top.y == E.Prev.Bot.y) continue; + if (E2.Prev.Bot.x < E.Bot.x) E = E2; + break; + } + return E; + } + + private TEdge ProcessBound(TEdge E, bool LeftBoundIsForward) + { + TEdge EStart, Result = E; + TEdge Horz; + + if (Result.OutIdx == Skip) + { + E = Result; + if (LeftBoundIsForward) + { + while (E.Top.y == E.Next.Bot.y) E = E.Next; + while (E != Result && E.Dx == horizontal) E = E.Prev; + } + else + { + while (E.Top.y == E.Prev.Bot.y) E = E.Prev; + while (E != Result && E.Dx == horizontal) E = E.Next; + } + if (E == Result) + { + Result = LeftBoundIsForward ? E.Next : E.Prev; + } + else + { + E = LeftBoundIsForward ? Result.Next : Result.Prev; + LocalMinima locMin = new LocalMinima + { + Next = null, + Y = E.Bot.y, + LeftBound = null, + RightBound = E + }; + E.WindDelta = 0; + Result = ProcessBound(E, LeftBoundIsForward); + InsertLocalMinima(locMin); + } + return Result; + } + + if (E.Dx == horizontal) + { + if (LeftBoundIsForward) EStart = E.Prev; + else EStart = E.Next; + if (EStart.Dx == horizontal) + { + if (EStart.Bot.x != E.Bot.x && EStart.Top.x != E.Bot.x) ReverseHorizontal(E); + } + else if (EStart.Bot.x != E.Bot.x) ReverseHorizontal(E); + } + + EStart = E; + if (LeftBoundIsForward) + { + while (Result.Top.y == Result.Next.Bot.y && Result.Next.OutIdx != Skip) Result = Result.Next; + if (Result.Dx == horizontal && Result.Next.OutIdx != Skip) + { + Horz = Result; + while (Horz.Prev.Dx == horizontal) Horz = Horz.Prev; + if (Horz.Prev.Top.x > Result.Next.Top.x) Result = Horz.Prev; + } + while (E != Result) + { + E.NextInLML = E.Next; + if (E.Dx == horizontal && E != EStart && E.Bot.x != E.Prev.Top.x) ReverseHorizontal(E); + E = E.Next; + } + if (E.Dx == horizontal && E != EStart && E.Bot.x != E.Prev.Top.x) ReverseHorizontal(E); + Result = Result.Next; + } + else + { + while (Result.Top.y == Result.Prev.Bot.y && Result.Prev.OutIdx != Skip) Result = Result.Prev; + if (Result.Dx == horizontal && Result.Prev.OutIdx != Skip) + { + Horz = Result; + while (Horz.Next.Dx == horizontal) Horz = Horz.Next; + if (Horz.Next.Top.x == Result.Prev.Top.x || Horz.Next.Top.x > Result.Prev.Top.x) Result = Horz.Next; + } + + while (E != Result) + { + E.NextInLML = E.Prev; + if (E.Dx == horizontal && E != EStart && E.Bot.x != E.Next.Top.x) ReverseHorizontal(E); + E = E.Prev; + } + if (E.Dx == horizontal && E != EStart && E.Bot.x != E.Next.Top.x) ReverseHorizontal(E); + Result = Result.Prev; + } + return Result; + } + + public bool AddPath(LPoints pg, PolyType polyType, bool Closed) + { + int highI = pg.Count - 1; + if (Closed) + { + while (highI > 0 && pg[highI] == pg[0]) --highI; + } + while (highI > 0 && pg[highI] == pg[highI - 1]) --highI; + if (Closed && highI < 2 || !Closed && highI < 1) return false; + + List edges = new List(highI + 1); + for (int i = 0; i <= highI; i++) edges.Add(new TEdge()); + + bool IsFlat = true; + + edges[1].Curr = pg[1]; + InitEdge(edges[0], edges[1], edges[highI], pg[0]); + InitEdge(edges[highI], edges[0], edges[highI - 1], pg[highI]); + for (int i = highI - 1; i >= 1; --i) InitEdge(edges[i], edges[i + 1], edges[i - 1], pg[i]); + TEdge eStart = edges[0]; + + TEdge E = eStart, eLoopStop = eStart; + while (true) + { + if (E.Curr == E.Next.Curr && (Closed || E.Next != eStart)) + { + if (E == E.Next) break; + if (E == eStart) eStart = E.Next; + E = RemoveEdge(E); + eLoopStop = E; + continue; + } + if (E.Prev == E.Next) break; + if (Closed && SlopesEqual(E.Prev.Curr, E.Curr, E.Next.Curr) && + (!PreserveCollinear || !Pt2IsBetweenPt1AndPt3(E.Prev.Curr, E.Curr, E.Next.Curr))) + { + if (E == eStart) eStart = E.Next; + E = RemoveEdge(E); + E = E.Prev; + eLoopStop = E; + continue; + } + E = E.Next; + if (E == eLoopStop || !Closed && E.Next == eStart) break; + } + + if (!Closed && E == E.Next || Closed && E.Prev == E.Next) return false; + + if (!Closed) + { + m_HasOpenPaths = true; + eStart.Prev.OutIdx = Skip; + } + + E = eStart; + do + { + InitEdge2(E, polyType); + E = E.Next; + if (IsFlat && E.Curr.y != eStart.Curr.y) IsFlat = false; + } + while (E != eStart); + + if (IsFlat) + { + if (Closed) return false; + E.Prev.OutIdx = Skip; + LocalMinima locMin = new LocalMinima + { + Next = null, + Y = E.Bot.y, + LeftBound = null, + RightBound = E + }; + locMin.RightBound.Side = EdgeSide.esRight; + locMin.RightBound.WindDelta = 0; + while (true) + { + if (E.Bot.x != E.Prev.Top.x) ReverseHorizontal(E); + if (E.Next.OutIdx == Skip) break; + E.NextInLML = E.Next; + E = E.Next; + } + InsertLocalMinima(locMin); + return true; + } + + TEdge EMin = null; + + if (E.Prev.Bot == E.Prev.Top) E = E.Next; + + while (true) + { + E = FindNextLocMin(E); + if (E == EMin) break; + if (EMin == null) EMin = E; + + LocalMinima locMin = new LocalMinima + { + Next = null, + Y = E.Bot.y + }; + bool leftBoundIsForward; + if (E.Dx < E.Prev.Dx) + { + locMin.LeftBound = E.Prev; + locMin.RightBound = E; + leftBoundIsForward = false; + } + else + { + locMin.LeftBound = E; + locMin.RightBound = E.Prev; + leftBoundIsForward = true; + } + locMin.LeftBound.Side = EdgeSide.esLeft; + locMin.RightBound.Side = EdgeSide.esRight; + + if (!Closed) locMin.LeftBound.WindDelta = 0; + else if (locMin.LeftBound.Next == locMin.RightBound) locMin.LeftBound.WindDelta = -1; + else locMin.LeftBound.WindDelta = 1; + locMin.RightBound.WindDelta = -locMin.LeftBound.WindDelta; + + E = ProcessBound(locMin.LeftBound, leftBoundIsForward); + if (E.OutIdx == Skip) E = ProcessBound(E, leftBoundIsForward); + + TEdge E2 = ProcessBound(locMin.RightBound, !leftBoundIsForward); + if (E2.OutIdx == Skip) E2 = ProcessBound(E2, !leftBoundIsForward); + + if (locMin.LeftBound.OutIdx == Skip) locMin.LeftBound = null; + else if (locMin.RightBound.OutIdx == Skip) locMin.RightBound = null; + InsertLocalMinima(locMin); + if (!leftBoundIsForward) E = E2; + } + return true; + + } + + public void AddPaths(List ppg, PolyType polyType, bool closed) + { + for (int i = 0; i < ppg.Count; ++i) AddPath(ppg[i], polyType, closed); + } + + internal bool Pt2IsBetweenPt1AndPt3(LPoint pt1, LPoint pt2, LPoint pt3) + { + if (pt1 == pt3 || pt1 == pt2 || pt3 == pt2) return false; + if (pt1.x != pt3.x) return pt2.x > pt1.x == pt2.x < pt3.x; + return pt2.y > pt1.y == pt2.y < pt3.y; + } + + TEdge RemoveEdge(TEdge e) + { + e.Prev.Next = e.Next; + e.Next.Prev = e.Prev; + TEdge result = e.Next; + e.Prev = null; + return result; + } + + private void SetDx(TEdge e) + { + e.Delta.x = e.Top.x - e.Bot.x; + e.Delta.y = e.Top.y - e.Bot.y; + if (e.Delta.y == 0) e.Dx = horizontal; + else e.Dx = (double)e.Delta.x / e.Delta.y; + } + + private void InsertLocalMinima(LocalMinima newLm) + { + if (m_MinimaList == null) m_MinimaList = newLm; + else if (newLm.Y >= m_MinimaList.Y) + { + newLm.Next = m_MinimaList; + m_MinimaList = newLm; + } + else + { + LocalMinima tmpLm = m_MinimaList; + while (tmpLm.Next != null && newLm.Y < tmpLm.Next.Y) tmpLm = tmpLm.Next; + newLm.Next = tmpLm.Next; + tmpLm.Next = newLm; + } + } + + internal bool PopLocalMinima(long Y, out LocalMinima current) + { + current = m_CurrentLM; + if (m_CurrentLM != null && m_CurrentLM.Y == Y) + { + m_CurrentLM = m_CurrentLM.Next; + return true; + } + return false; + } + + private void ReverseHorizontal(TEdge e) + { + Swap(ref e.Top.x, ref e.Bot.x); + } + + protected void Reset() + { + m_CurrentLM = m_MinimaList; + if (m_CurrentLM == null) return; + + m_Scanbeam = null; + LocalMinima lm = m_MinimaList; + while (lm != null) + { + InsertScanbeam(lm.Y); + TEdge e = lm.LeftBound; + if (e != null) + { + e.Curr = e.Bot; + e.OutIdx = Unassigned; + } + e = lm.RightBound; + if (e != null) + { + e.Curr = e.Bot; + e.OutIdx = Unassigned; + } + lm = lm.Next; + } + m_ActiveEdges = null; + } + + internal void InsertScanbeam(long Y) + { + if (m_Scanbeam == null) + { + m_Scanbeam = new Scanbeam + { + Next = null, + Y = Y + }; + } + else if (Y > m_Scanbeam.Y) + { + Scanbeam newSb = new Scanbeam + { + Y = Y, + Next = m_Scanbeam + }; + m_Scanbeam = newSb; + } + else + { + Scanbeam sb2 = m_Scanbeam; + while (sb2.Next != null && Y <= sb2.Next.Y) sb2 = sb2.Next; + if (Y == sb2.Y) return; + Scanbeam newSb = new Scanbeam + { + Y = Y, + Next = sb2.Next + }; + sb2.Next = newSb; + } + } + + internal bool PopScanbeam(out long Y) + { + if (m_Scanbeam == null) + { + Y = 0; + return false; + } + Y = m_Scanbeam.Y; + m_Scanbeam = m_Scanbeam.Next; + return true; + } + + internal OutRec CreateOutRec() + { + OutRec result = new OutRec + { + Idx = Unassigned, + IsHole = false, + IsOpen = false, + FirstLeft = null, + Pts = null, + BottomPt = null, + PolyNode = null + }; + m_PolyOuts.Add(result); + result.Idx = m_PolyOuts.Count - 1; + return result; + } + + internal void UpdateEdgeIntoAEL(ref TEdge e) + { + TEdge AelPrev = e.PrevInAEL; + TEdge AelNext = e.NextInAEL; + e.NextInLML.OutIdx = e.OutIdx; + if (AelPrev != null) AelPrev.NextInAEL = e.NextInLML; + else m_ActiveEdges = e.NextInLML; + if (AelNext != null) AelNext.PrevInAEL = e.NextInLML; + e.NextInLML.Side = e.Side; + e.NextInLML.WindDelta = e.WindDelta; + e.NextInLML.WindCnt = e.WindCnt; + e.NextInLML.WindCnt2 = e.WindCnt2; + e = e.NextInLML; + e.Curr = e.Bot; + e.PrevInAEL = AelPrev; + e.NextInAEL = AelNext; + if (!IsHorizontal(e)) InsertScanbeam(e.Top.y); + } + + internal void SwapPositionsInAEL(TEdge edge1, TEdge edge2) + { + if (edge1.NextInAEL == edge1.PrevInAEL || edge2.NextInAEL == edge2.PrevInAEL) return; + + if (edge1.NextInAEL == edge2) + { + TEdge next = edge2.NextInAEL; + if (next != null) next.PrevInAEL = edge1; + TEdge prev = edge1.PrevInAEL; + if (prev != null) prev.NextInAEL = edge2; + edge2.PrevInAEL = prev; + edge2.NextInAEL = edge1; + edge1.PrevInAEL = edge2; + edge1.NextInAEL = next; + } + else if (edge2.NextInAEL == edge1) + { + TEdge next = edge1.NextInAEL; + if (next != null) next.PrevInAEL = edge2; + TEdge prev = edge2.PrevInAEL; + if (prev != null) prev.NextInAEL = edge1; + edge1.PrevInAEL = prev; + edge1.NextInAEL = edge2; + edge2.PrevInAEL = edge1; + edge2.NextInAEL = next; + } + else + { + TEdge next = edge1.NextInAEL; + TEdge prev = edge1.PrevInAEL; + edge1.NextInAEL = edge2.NextInAEL; + if (edge1.NextInAEL != null) edge1.NextInAEL.PrevInAEL = edge1; + edge1.PrevInAEL = edge2.PrevInAEL; + if (edge1.PrevInAEL != null) edge1.PrevInAEL.NextInAEL = edge1; + edge2.NextInAEL = next; + if (edge2.NextInAEL != null) edge2.NextInAEL.PrevInAEL = edge2; + edge2.PrevInAEL = prev; + if (edge2.PrevInAEL != null) edge2.PrevInAEL.NextInAEL = edge2; + } + + if (edge1.PrevInAEL == null) m_ActiveEdges = edge1; + else if (edge2.PrevInAEL == null) m_ActiveEdges = edge2; + } + + internal void DeleteFromAEL(TEdge e) + { + TEdge AelPrev = e.PrevInAEL; + TEdge AelNext = e.NextInAEL; + if (AelPrev == null && AelNext == null && e != m_ActiveEdges) return; + if (AelPrev != null) AelPrev.NextInAEL = AelNext; + else m_ActiveEdges = AelNext; + if (AelNext != null) AelNext.PrevInAEL = AelPrev; + e.NextInAEL = null; + e.PrevInAEL = null; + } + + private void InsertMaxima(long X) + { + Maxima newMax = new Maxima { X = X }; + if (m_Maxima == null) + { + m_Maxima = newMax; + m_Maxima.Next = null; + m_Maxima.Prev = null; + } + else if (X < m_Maxima.X) + { + newMax.Next = m_Maxima; + newMax.Prev = null; + m_Maxima = newMax; + } + else + { + Maxima m = m_Maxima; + while (m.Next != null && X >= m.Next.X) m = m.Next; + if (X == m.X) return; + newMax.Next = m.Next; + newMax.Prev = m; + if (m.Next != null) m.Next.Prev = newMax; + m.Next = newMax; + } + } + + public bool ReverseSolution; + + public bool StrictlySimple; + + public bool Execute(ClipType clipType, List solution, PolyFillType subjFillType, PolyFillType clipFillType) + { + if (m_ExecuteLocked) return false; + if (m_HasOpenPaths) throw new Exception("Error: PolyTree struct is needed for open path clipping."); + + m_ExecuteLocked = true; + solution.Clear(); + m_SubjFillType = subjFillType; + m_ClipFillType = clipFillType; + m_ClipType = clipType; + m_UsingPolyTree = false; + bool succeeded; + try + { + succeeded = ExecuteInternal(); + if (succeeded) BuildResult(solution); + } + finally + { + DisposeAllPolyPts(); + m_ExecuteLocked = false; + } + return succeeded; + } + + public bool Execute(ClipType clipType, PolyTree polytree, PolyFillType subjFillType, PolyFillType clipFillType) + { + if (m_ExecuteLocked) return false; + m_ExecuteLocked = true; + m_SubjFillType = subjFillType; + m_ClipFillType = clipFillType; + m_ClipType = clipType; + m_UsingPolyTree = true; + bool succeeded; + try + { + succeeded = ExecuteInternal(); + if (succeeded) BuildResult2(polytree); + } + finally + { + DisposeAllPolyPts(); + m_ExecuteLocked = false; + } + return succeeded; + } + + internal void FixHoleLinkage(OutRec outRec) + { + if (outRec.FirstLeft == null || + outRec.IsHole != outRec.FirstLeft.IsHole && outRec.FirstLeft.Pts != null) return; + + OutRec orfl = outRec.FirstLeft; + while (orfl != null && (orfl.IsHole == outRec.IsHole || orfl.Pts == null)) orfl = orfl.FirstLeft; + outRec.FirstLeft = orfl; + } + + private bool ExecuteInternal() + { + try + { + Reset(); + m_SortedEdges = null; + m_Maxima = null; + + long botY, topY; + if (!PopScanbeam(out botY)) return false; + InsertLocalMinimaIntoAEL(botY); + while (PopScanbeam(out topY) || m_CurrentLM != null) + { + ProcessHorizontals(); + m_GhostJoins.Clear(); + if (!ProcessIntersections(topY)) return false; + ProcessEdgesAtTopOfScanbeam(topY); + botY = topY; + InsertLocalMinimaIntoAEL(botY); + } + + foreach (OutRec outRec in m_PolyOuts) + { + if (outRec.Pts == null || outRec.IsOpen) continue; + if ((outRec.IsHole ^ ReverseSolution) == Area(outRec) > 0) ReversePolyPtLinks(outRec.Pts); + } + + JoinCommonEdges(); + + foreach (OutRec outRec in m_PolyOuts) + { + if (outRec.Pts == null) continue; + if (outRec.IsOpen) FixupOutPolyline(outRec); + else FixupOutPolygon(outRec); + } + + if (StrictlySimple) DoSimplePolygons(); + return true; + } + finally + { + m_Joins.Clear(); + m_GhostJoins.Clear(); + } + } + + private void DisposeAllPolyPts() + { + for (int i = 0; i < m_PolyOuts.Count; ++i) + { + OutRec outRec = m_PolyOuts[i]; + outRec.Pts = null; + } + m_PolyOuts.Clear(); + } + + private void AddJoin(OutPt Op1, OutPt Op2, LPoint OffPt) + { + m_Joins.Add(new Join + { + OutPt1 = Op1, + OutPt2 = Op2, + OffPt = OffPt + }); + } + + private void AddGhostJoin(OutPt Op, LPoint OffPt) + { + m_GhostJoins.Add(new Join + { + OutPt1 = Op, + OffPt = OffPt + }); + } + + private void InsertLocalMinimaIntoAEL(long botY) + { + LocalMinima lm; + while (PopLocalMinima(botY, out lm)) + { + TEdge lb = lm.LeftBound; + TEdge rb = lm.RightBound; + + OutPt Op1 = null; + if (lb == null) + { + InsertEdgeIntoAEL(rb, null); + SetWindingCount(rb); + if (IsContributing(rb)) Op1 = AddOutPt(rb, rb.Bot); + } + else if (rb == null) + { + InsertEdgeIntoAEL(lb, null); + SetWindingCount(lb); + if (IsContributing(lb)) Op1 = AddOutPt(lb, lb.Bot); + InsertScanbeam(lb.Top.y); + } + else + { + InsertEdgeIntoAEL(lb, null); + InsertEdgeIntoAEL(rb, lb); + SetWindingCount(lb); + rb.WindCnt = lb.WindCnt; + rb.WindCnt2 = lb.WindCnt2; + if (IsContributing(lb)) Op1 = AddLocalMinPoly(lb, rb, lb.Bot); + InsertScanbeam(lb.Top.y); + } + + if (rb != null) + { + if (IsHorizontal(rb)) + { + if (rb.NextInLML != null) InsertScanbeam(rb.NextInLML.Top.y); + AddEdgeToSEL(rb); + } + else InsertScanbeam(rb.Top.y); + } + + if (lb == null || rb == null) continue; + + if (Op1 != null && IsHorizontal(rb) && m_GhostJoins.Count > 0 && rb.WindDelta != 0) + { + for (int i = 0; i < m_GhostJoins.Count; i++) + { + Join j = m_GhostJoins[i]; + if (HorzSegmentsOverlap(j.OutPt1.Pt.x, j.OffPt.x, rb.Bot.x, rb.Top.x)) AddJoin(j.OutPt1, Op1, j.OffPt); + } + } + + if (lb.OutIdx >= 0 && lb.PrevInAEL != null && + lb.PrevInAEL.Curr.x == lb.Bot.x && + lb.PrevInAEL.OutIdx >= 0 && + SlopesEqual(lb.PrevInAEL.Curr, lb.PrevInAEL.Top, lb.Curr, lb.Top) && + lb.WindDelta != 0 && lb.PrevInAEL.WindDelta != 0) + { + OutPt Op2 = AddOutPt(lb.PrevInAEL, lb.Bot); + AddJoin(Op1, Op2, lb.Top); + } + + if (lb.NextInAEL != rb) + { + if (rb.OutIdx >= 0 && rb.PrevInAEL.OutIdx >= 0 && + SlopesEqual(rb.PrevInAEL.Curr, rb.PrevInAEL.Top, rb.Curr, rb.Top) && + rb.WindDelta != 0 && rb.PrevInAEL.WindDelta != 0) + { + OutPt Op2 = AddOutPt(rb.PrevInAEL, rb.Bot); + AddJoin(Op1, Op2, rb.Top); + } + + TEdge e = lb.NextInAEL; + if (e != null) + { + while (e != rb) + { + IntersectEdges(rb, e, lb.Curr); + e = e.NextInAEL; + } + } + } + } + } + + private void InsertEdgeIntoAEL(TEdge edge, TEdge startEdge) + { + if (m_ActiveEdges == null) + { + edge.PrevInAEL = null; + edge.NextInAEL = null; + m_ActiveEdges = edge; + } + else if (startEdge == null && E2InsertsBeforeE1(m_ActiveEdges, edge)) + { + edge.PrevInAEL = null; + edge.NextInAEL = m_ActiveEdges; + m_ActiveEdges.PrevInAEL = edge; + m_ActiveEdges = edge; + } + else + { + if (startEdge == null) startEdge = m_ActiveEdges; + while (startEdge.NextInAEL != null && !E2InsertsBeforeE1(startEdge.NextInAEL, edge)) startEdge = startEdge.NextInAEL; + edge.NextInAEL = startEdge.NextInAEL; + if (startEdge.NextInAEL != null) startEdge.NextInAEL.PrevInAEL = edge; + edge.PrevInAEL = startEdge; + startEdge.NextInAEL = edge; + } + } + + private bool E2InsertsBeforeE1(TEdge e1, TEdge e2) + { + if (e2.Curr.x == e1.Curr.x) + { + if (e2.Top.y > e1.Top.y) return e2.Top.x < TopX(e1, e2.Top.y); + return e1.Top.x > TopX(e2, e1.Top.y); + } + return e2.Curr.x < e1.Curr.x; + } + + private bool IsEvenOddFillType(TEdge edge) + { + if (edge.PolyTyp == PolyType.ptSubject) return m_SubjFillType == PolyFillType.pftEvenOdd; + return m_ClipFillType == PolyFillType.pftEvenOdd; + } + + private bool IsEvenOddAltFillType(TEdge edge) + { + if (edge.PolyTyp == PolyType.ptSubject) return m_ClipFillType == PolyFillType.pftEvenOdd; + return m_SubjFillType == PolyFillType.pftEvenOdd; + } + + private bool IsContributing(TEdge edge) + { + PolyFillType pft, pft2; + if (edge.PolyTyp == PolyType.ptSubject) + { + pft = m_SubjFillType; + pft2 = m_ClipFillType; + } + else + { + pft = m_ClipFillType; + pft2 = m_SubjFillType; + } + + switch (pft) + { + case PolyFillType.pftEvenOdd: + if (edge.WindDelta == 0 && edge.WindCnt != 1) return false; + break; + case PolyFillType.pftNonZero: + if (Math.Abs(edge.WindCnt) != 1) return false; + break; + case PolyFillType.pftPositive: + if (edge.WindCnt != 1) return false; + break; + default: + if (edge.WindCnt != -1) return false; + break; + } + + switch (m_ClipType) + { + case ClipType.ctIntersection: + switch (pft2) + { + case PolyFillType.pftEvenOdd: + case PolyFillType.pftNonZero: + return edge.WindCnt2 != 0; + case PolyFillType.pftPositive: + return edge.WindCnt2 > 0; + default: + return edge.WindCnt2 < 0; + } + case ClipType.ctUnion: + switch (pft2) + { + case PolyFillType.pftEvenOdd: + case PolyFillType.pftNonZero: + return edge.WindCnt2 == 0; + case PolyFillType.pftPositive: + return edge.WindCnt2 <= 0; + default: + return edge.WindCnt2 >= 0; + } + case ClipType.ctDifference: + if (edge.PolyTyp == PolyType.ptSubject) + { + switch (pft2) + { + case PolyFillType.pftEvenOdd: + case PolyFillType.pftNonZero: + return edge.WindCnt2 == 0; + case PolyFillType.pftPositive: + return edge.WindCnt2 <= 0; + default: + return edge.WindCnt2 >= 0; + } + } + switch (pft2) + { + case PolyFillType.pftEvenOdd: + case PolyFillType.pftNonZero: + return edge.WindCnt2 != 0; + case PolyFillType.pftPositive: + return edge.WindCnt2 > 0; + default: + return edge.WindCnt2 < 0; + } + case ClipType.ctXor: + if (edge.WindDelta == 0) + { + switch (pft2) + { + case PolyFillType.pftEvenOdd: + case PolyFillType.pftNonZero: + return edge.WindCnt2 == 0; + case PolyFillType.pftPositive: + return edge.WindCnt2 <= 0; + default: + return edge.WindCnt2 >= 0; + } + } + return true; + } + return true; + } + + private void SetWindingCount(TEdge edge) + { + TEdge e = edge.PrevInAEL; + while (e != null && (e.PolyTyp != edge.PolyTyp || e.WindDelta == 0)) e = e.PrevInAEL; + if (e == null) + { + PolyFillType pft = edge.PolyTyp == PolyType.ptSubject ? m_SubjFillType : m_ClipFillType; + if (edge.WindDelta == 0) edge.WindCnt = pft == PolyFillType.pftNegative ? -1 : 1; + else edge.WindCnt = edge.WindDelta; + edge.WindCnt2 = 0; + e = m_ActiveEdges; + } + else if (edge.WindDelta == 0 && m_ClipType != ClipType.ctUnion) + { + edge.WindCnt = 1; + edge.WindCnt2 = e.WindCnt2; + e = e.NextInAEL; + } + else if (IsEvenOddFillType(edge)) + { + if (edge.WindDelta == 0) + { + bool Inside = true; + TEdge e2 = e.PrevInAEL; + while (e2 != null) + { + if (e2.PolyTyp == e.PolyTyp && e2.WindDelta != 0) Inside = !Inside; + e2 = e2.PrevInAEL; + } + edge.WindCnt = Inside ? 0 : 1; + } + else edge.WindCnt = edge.WindDelta; + edge.WindCnt2 = e.WindCnt2; + e = e.NextInAEL; + } + else + { + if (e.WindCnt * e.WindDelta < 0) + { + if (Math.Abs(e.WindCnt) > 1) + { + if (e.WindDelta * edge.WindDelta < 0) edge.WindCnt = e.WindCnt; + else edge.WindCnt = e.WindCnt + edge.WindDelta; + } + else edge.WindCnt = edge.WindDelta == 0 ? 1 : edge.WindDelta; + } + else + { + if (edge.WindDelta == 0) edge.WindCnt = e.WindCnt < 0 ? e.WindCnt - 1 : e.WindCnt + 1; + else if (e.WindDelta * edge.WindDelta < 0) edge.WindCnt = e.WindCnt; + else edge.WindCnt = e.WindCnt + edge.WindDelta; + } + edge.WindCnt2 = e.WindCnt2; + e = e.NextInAEL; + } + + if (IsEvenOddAltFillType(edge)) + { + while (e != edge) + { + if (e.WindDelta != 0) edge.WindCnt2 = edge.WindCnt2 == 0 ? 1 : 0; + e = e.NextInAEL; + } + } + else + { + while (e != edge) + { + edge.WindCnt2 += e.WindDelta; + e = e.NextInAEL; + } + } + } + + private void AddEdgeToSEL(TEdge edge) + { + if (m_SortedEdges == null) + { + m_SortedEdges = edge; + edge.PrevInSEL = null; + edge.NextInSEL = null; + } + else + { + edge.NextInSEL = m_SortedEdges; + edge.PrevInSEL = null; + m_SortedEdges.PrevInSEL = edge; + m_SortedEdges = edge; + } + } + + internal bool PopEdgeFromSEL(out TEdge e) + { + e = m_SortedEdges; + if (e == null) return false; + TEdge oldE = e; + m_SortedEdges = e.NextInSEL; + if (m_SortedEdges != null) m_SortedEdges.PrevInSEL = null; + oldE.NextInSEL = null; + oldE.PrevInSEL = null; + return true; + } + + private void SwapPositionsInSEL(TEdge edge1, TEdge edge2) + { + if (edge1.NextInSEL == null && edge1.PrevInSEL == null) return; + if (edge2.NextInSEL == null && edge2.PrevInSEL == null) return; + + if (edge1.NextInSEL == edge2) + { + TEdge next = edge2.NextInSEL; + if (next != null) next.PrevInSEL = edge1; + TEdge prev = edge1.PrevInSEL; + if (prev != null) prev.NextInSEL = edge2; + edge2.PrevInSEL = prev; + edge2.NextInSEL = edge1; + edge1.PrevInSEL = edge2; + edge1.NextInSEL = next; + } + else if (edge2.NextInSEL == edge1) + { + TEdge next = edge1.NextInSEL; + if (next != null) next.PrevInSEL = edge2; + TEdge prev = edge2.PrevInSEL; + if (prev != null) prev.NextInSEL = edge1; + edge1.PrevInSEL = prev; + edge1.NextInSEL = edge2; + edge2.PrevInSEL = edge1; + edge2.NextInSEL = next; + } + else + { + TEdge next = edge1.NextInSEL; + TEdge prev = edge1.PrevInSEL; + edge1.NextInSEL = edge2.NextInSEL; + if (edge1.NextInSEL != null) edge1.NextInSEL.PrevInSEL = edge1; + edge1.PrevInSEL = edge2.PrevInSEL; + if (edge1.PrevInSEL != null) edge1.PrevInSEL.NextInSEL = edge1; + edge2.NextInSEL = next; + if (edge2.NextInSEL != null) edge2.NextInSEL.PrevInSEL = edge2; + edge2.PrevInSEL = prev; + if (edge2.PrevInSEL != null) edge2.PrevInSEL.NextInSEL = edge2; + } + + if (edge1.PrevInSEL == null) m_SortedEdges = edge1; + else if (edge2.PrevInSEL == null) m_SortedEdges = edge2; + } + + private void AddLocalMaxPoly(TEdge e1, TEdge e2, LPoint pt) + { + AddOutPt(e1, pt); + if (e2.WindDelta == 0) AddOutPt(e2, pt); + if (e1.OutIdx == e2.OutIdx) + { + e1.OutIdx = Unassigned; + e2.OutIdx = Unassigned; + } + else if (e1.OutIdx < e2.OutIdx) AppendPolygon(e1, e2); + else AppendPolygon(e2, e1); + } + + private OutPt AddLocalMinPoly(TEdge e1, TEdge e2, LPoint pt) + { + OutPt result; + TEdge e, prevE; + if (IsHorizontal(e2) || e1.Dx > e2.Dx) + { + result = AddOutPt(e1, pt); + e2.OutIdx = e1.OutIdx; + e1.Side = EdgeSide.esLeft; + e2.Side = EdgeSide.esRight; + e = e1; + prevE = e.PrevInAEL == e2 ? e2.PrevInAEL : e.PrevInAEL; + } + else + { + result = AddOutPt(e2, pt); + e1.OutIdx = e2.OutIdx; + e1.Side = EdgeSide.esRight; + e2.Side = EdgeSide.esLeft; + e = e2; + prevE = e.PrevInAEL == e1 ? e1.PrevInAEL : e.PrevInAEL; + } + + if (prevE != null && prevE.OutIdx >= 0) + { + long xPrev = TopX(prevE, pt.y); + long xE = TopX(e, pt.y); + if (xPrev == xE && e.WindDelta != 0 && prevE.WindDelta != 0 && + SlopesEqual(new LPoint(xPrev, pt.y), prevE.Top, new LPoint(xE, pt.y), e.Top)) + { + OutPt outPt = AddOutPt(prevE, pt); + AddJoin(result, outPt, e.Top); + } + } + return result; + } + + private OutPt AddOutPt(TEdge e, LPoint pt) + { + if (e.OutIdx < 0) + { + OutRec outRec = CreateOutRec(); + outRec.IsOpen = e.WindDelta == 0; + OutPt newOp = new OutPt(); + outRec.Pts = newOp; + newOp.Idx = outRec.Idx; + newOp.Pt = pt; + newOp.Next = newOp; + newOp.Prev = newOp; + if (!outRec.IsOpen) SetHoleState(e, outRec); + e.OutIdx = outRec.Idx; + return newOp; + } + else + { + OutRec outRec = m_PolyOuts[e.OutIdx]; + OutPt op = outRec.Pts; + bool ToFront = e.Side == EdgeSide.esLeft; + if (ToFront && pt == op.Pt) return op; + if (!ToFront && pt == op.Prev.Pt) return op.Prev; + + OutPt newOp = new OutPt + { + Idx = outRec.Idx, + Pt = pt, + Next = op, + Prev = op.Prev + }; + newOp.Prev.Next = newOp; + op.Prev = newOp; + if (ToFront) outRec.Pts = newOp; + return newOp; + } + } + + private OutPt GetLastOutPt(TEdge e) + { + OutRec outRec = m_PolyOuts[e.OutIdx]; + if (e.Side == EdgeSide.esLeft) return outRec.Pts; + return outRec.Pts.Prev; + } + + private bool HorzSegmentsOverlap(long seg1a, long seg1b, long seg2a, long seg2b) + { + if (seg1a > seg1b) Swap(ref seg1a, ref seg1b); + if (seg2a > seg2b) Swap(ref seg2a, ref seg2b); + return seg1a < seg2b && seg2a < seg1b; + } + + private void SetHoleState(TEdge e, OutRec outRec) + { + TEdge e2 = e.PrevInAEL; + TEdge eTmp = null; + while (e2 != null) + { + if (e2.OutIdx >= 0 && e2.WindDelta != 0) + { + if (eTmp == null) eTmp = e2; + else if (eTmp.OutIdx == e2.OutIdx) eTmp = null; + } + e2 = e2.PrevInAEL; + } + + if (eTmp == null) + { + outRec.FirstLeft = null; + outRec.IsHole = false; + } + else + { + outRec.FirstLeft = m_PolyOuts[eTmp.OutIdx]; + outRec.IsHole = !outRec.FirstLeft.IsHole; + } + } + + private double GetDx(LPoint pt1, LPoint pt2) + { + if (pt1.y == pt2.y) return horizontal; + return (double)(pt2.x - pt1.x) / (pt2.y - pt1.y); + } + + private bool FirstIsBottomPt(OutPt btmPt1, OutPt btmPt2) + { + OutPt p = btmPt1.Prev; + while (p.Pt == btmPt1.Pt && p != btmPt1) p = p.Prev; + double dx1p = Math.Abs(GetDx(btmPt1.Pt, p.Pt)); + p = btmPt1.Next; + while (p.Pt == btmPt1.Pt && p != btmPt1) p = p.Next; + double dx1n = Math.Abs(GetDx(btmPt1.Pt, p.Pt)); + + p = btmPt2.Prev; + while (p.Pt == btmPt2.Pt && p != btmPt2) p = p.Prev; + double dx2p = Math.Abs(GetDx(btmPt2.Pt, p.Pt)); + p = btmPt2.Next; + while (p.Pt == btmPt2.Pt && p != btmPt2) p = p.Next; + double dx2n = Math.Abs(GetDx(btmPt2.Pt, p.Pt)); + + if (Math.Max(dx1p, dx1n) == Math.Max(dx2p, dx2n) && Math.Min(dx1p, dx1n) == Math.Min(dx2p, dx2n)) return Area(btmPt1) > 0; + return dx1p >= dx2p && dx1p >= dx2n || dx1n >= dx2p && dx1n >= dx2n; + } + + private OutPt GetBottomPt(OutPt pp) + { + OutPt dups = null; + OutPt p = pp.Next; + while (p != pp) + { + if (p.Pt.y > pp.Pt.y) + { + pp = p; + dups = null; + } + else if (p.Pt.y == pp.Pt.y && p.Pt.x <= pp.Pt.x) + { + if (p.Pt.x < pp.Pt.x) + { + dups = null; + pp = p; + } + else if (p.Next != pp && p.Prev != pp) dups = p; + } + p = p.Next; + } + if (dups != null) + { + while (dups != p) + { + if (!FirstIsBottomPt(p, dups)) pp = dups; + dups = dups.Next; + while (dups.Pt != pp.Pt) dups = dups.Next; + } + } + return pp; + } + + private OutRec GetLowermostRec(OutRec outRec1, OutRec outRec2) + { + if (outRec1.BottomPt == null) outRec1.BottomPt = GetBottomPt(outRec1.Pts); + if (outRec2.BottomPt == null) outRec2.BottomPt = GetBottomPt(outRec2.Pts); + OutPt bPt1 = outRec1.BottomPt; + OutPt bPt2 = outRec2.BottomPt; + if (bPt1.Pt.y > bPt2.Pt.y) return outRec1; + if (bPt1.Pt.y < bPt2.Pt.y) return outRec2; + if (bPt1.Pt.x < bPt2.Pt.x) return outRec1; + if (bPt1.Pt.x > bPt2.Pt.x) return outRec2; + if (bPt1.Next == bPt1) return outRec2; + if (bPt2.Next == bPt2) return outRec1; + if (FirstIsBottomPt(bPt1, bPt2)) return outRec1; + return outRec2; + } + + bool OutRec1RightOfOutRec2(OutRec outRec1, OutRec outRec2) + { + do + { + outRec1 = outRec1.FirstLeft; + if (outRec1 == outRec2) return true; + } while (outRec1 != null); + return false; + } + + private OutRec GetOutRec(int idx) + { + OutRec outrec = m_PolyOuts[idx]; + while (outrec != m_PolyOuts[outrec.Idx]) outrec = m_PolyOuts[outrec.Idx]; + return outrec; + } + + private void AppendPolygon(TEdge e1, TEdge e2) + { + OutRec outRec1 = m_PolyOuts[e1.OutIdx]; + OutRec outRec2 = m_PolyOuts[e2.OutIdx]; + + OutRec holeStateRec; + if (OutRec1RightOfOutRec2(outRec1, outRec2)) holeStateRec = outRec2; + else if (OutRec1RightOfOutRec2(outRec2, outRec1)) holeStateRec = outRec1; + else holeStateRec = GetLowermostRec(outRec1, outRec2); + + OutPt p1_lft = outRec1.Pts; + OutPt p1_rt = p1_lft.Prev; + OutPt p2_lft = outRec2.Pts; + OutPt p2_rt = p2_lft.Prev; + + if (e1.Side == EdgeSide.esLeft) + { + if (e2.Side == EdgeSide.esLeft) + { + ReversePolyPtLinks(p2_lft); + p2_lft.Next = p1_lft; + p1_lft.Prev = p2_lft; + p1_rt.Next = p2_rt; + p2_rt.Prev = p1_rt; + outRec1.Pts = p2_rt; + } + else + { + p2_rt.Next = p1_lft; + p1_lft.Prev = p2_rt; + p2_lft.Prev = p1_rt; + p1_rt.Next = p2_lft; + outRec1.Pts = p2_lft; + } + } + else + { + if (e2.Side == EdgeSide.esRight) + { + ReversePolyPtLinks(p2_lft); + p1_rt.Next = p2_rt; + p2_rt.Prev = p1_rt; + p2_lft.Next = p1_lft; + p1_lft.Prev = p2_lft; + } + else + { + p1_rt.Next = p2_lft; + p2_lft.Prev = p1_rt; + p1_lft.Prev = p2_rt; + p2_rt.Next = p1_lft; + } + } + + outRec1.BottomPt = null; + if (holeStateRec == outRec2) + { + if (outRec2.FirstLeft != outRec1) outRec1.FirstLeft = outRec2.FirstLeft; + outRec1.IsHole = outRec2.IsHole; + } + outRec2.Pts = null; + outRec2.BottomPt = null; + + outRec2.FirstLeft = outRec1; + + int OKIdx = e1.OutIdx; + int ObsoleteIdx = e2.OutIdx; + + e1.OutIdx = Unassigned; + e2.OutIdx = Unassigned; + + TEdge e = m_ActiveEdges; + while (e != null) + { + if (e.OutIdx == ObsoleteIdx) + { + e.OutIdx = OKIdx; + e.Side = e1.Side; + break; + } + e = e.NextInAEL; + } + outRec2.Idx = outRec1.Idx; + } + + private void ReversePolyPtLinks(OutPt pp) + { + if (pp == null) return; + OutPt pp1 = pp; + do + { + OutPt pp2 = pp1.Next; + pp1.Next = pp1.Prev; + pp1.Prev = pp2; + pp1 = pp2; + } while (pp1 != pp); + } + + private static void SwapSides(TEdge edge1, TEdge edge2) + { + EdgeSide side = edge1.Side; + edge1.Side = edge2.Side; + edge2.Side = side; + } + + private static void SwapPolyIndexes(TEdge edge1, TEdge edge2) + { + int outIdx = edge1.OutIdx; + edge1.OutIdx = edge2.OutIdx; + edge2.OutIdx = outIdx; + } + + private void IntersectEdges(TEdge e1, TEdge e2, LPoint pt) + { + bool e1Contributing = e1.OutIdx >= 0; + bool e2Contributing = e2.OutIdx >= 0; + + if (e1.WindDelta == 0 || e2.WindDelta == 0) + { + if (e1.WindDelta == 0 && e2.WindDelta == 0) return; + if (e1.PolyTyp == e2.PolyTyp && e1.WindDelta != e2.WindDelta && m_ClipType == ClipType.ctUnion) + { + if (e1.WindDelta == 0) + { + if (e2Contributing) + { + AddOutPt(e1, pt); + if (e1Contributing) e1.OutIdx = Unassigned; + } + } + else + { + if (e1Contributing) + { + AddOutPt(e2, pt); + if (e2Contributing) e2.OutIdx = Unassigned; + } + } + } + else if (e1.PolyTyp != e2.PolyTyp) + { + if (e1.WindDelta == 0 && Math.Abs(e2.WindCnt) == 1 && (m_ClipType != ClipType.ctUnion || e2.WindCnt2 == 0)) + { + AddOutPt(e1, pt); + if (e1Contributing) e1.OutIdx = Unassigned; + } + else if (e2.WindDelta == 0 && Math.Abs(e1.WindCnt) == 1 && (m_ClipType != ClipType.ctUnion || e1.WindCnt2 == 0)) + { + AddOutPt(e2, pt); + if (e2Contributing) e2.OutIdx = Unassigned; + } + } + return; + } + + if (e1.PolyTyp == e2.PolyTyp) + { + if (IsEvenOddFillType(e1)) + { + int oldE1WindCnt = e1.WindCnt; + e1.WindCnt = e2.WindCnt; + e2.WindCnt = oldE1WindCnt; + } + else + { + if (e1.WindCnt + e2.WindDelta == 0) e1.WindCnt = -e1.WindCnt; + else e1.WindCnt += e2.WindDelta; + if (e2.WindCnt - e1.WindDelta == 0) e2.WindCnt = -e2.WindCnt; + else e2.WindCnt -= e1.WindDelta; + } + } + else + { + if (!IsEvenOddFillType(e2)) e1.WindCnt2 += e2.WindDelta; + else e1.WindCnt2 = e1.WindCnt2 == 0 ? 1 : 0; + if (!IsEvenOddFillType(e1)) e2.WindCnt2 -= e1.WindDelta; + else e2.WindCnt2 = e2.WindCnt2 == 0 ? 1 : 0; + } + + PolyFillType e1FillType, e2FillType, e1FillType2, e2FillType2; + if (e1.PolyTyp == PolyType.ptSubject) + { + e1FillType = m_SubjFillType; + e1FillType2 = m_ClipFillType; + } + else + { + e1FillType = m_ClipFillType; + e1FillType2 = m_SubjFillType; + } + if (e2.PolyTyp == PolyType.ptSubject) + { + e2FillType = m_SubjFillType; + e2FillType2 = m_ClipFillType; + } + else + { + e2FillType = m_ClipFillType; + e2FillType2 = m_SubjFillType; + } + + int e1Wc, e2Wc; + switch (e1FillType) + { + case PolyFillType.pftPositive: + e1Wc = e1.WindCnt; + break; + case PolyFillType.pftNegative: + e1Wc = -e1.WindCnt; + break; + default: + e1Wc = Math.Abs(e1.WindCnt); + break; + } + switch (e2FillType) + { + case PolyFillType.pftPositive: + e2Wc = e2.WindCnt; + break; + case PolyFillType.pftNegative: + e2Wc = -e2.WindCnt; + break; + default: + e2Wc = Math.Abs(e2.WindCnt); + break; + } + + if (e1Contributing && e2Contributing) + { + if (e1Wc != 0 && e1Wc != 1 || e2Wc != 0 && e2Wc != 1 || e1.PolyTyp != e2.PolyTyp && m_ClipType != ClipType.ctXor) + { + AddLocalMaxPoly(e1, e2, pt); + } + else + { + AddOutPt(e1, pt); + AddOutPt(e2, pt); + SwapSides(e1, e2); + SwapPolyIndexes(e1, e2); + } + } + else if (e1Contributing) + { + if (e2Wc == 0 || e2Wc == 1) + { + AddOutPt(e1, pt); + SwapSides(e1, e2); + SwapPolyIndexes(e1, e2); + } + } + else if (e2Contributing) + { + if (e1Wc == 0 || e1Wc == 1) + { + AddOutPt(e2, pt); + SwapSides(e1, e2); + SwapPolyIndexes(e1, e2); + } + } + else if ((e1Wc == 0 || e1Wc == 1) && (e2Wc == 0 || e2Wc == 1)) + { + long e1Wc2, e2Wc2; + switch (e1FillType2) + { + case PolyFillType.pftPositive: + e1Wc2 = e1.WindCnt2; + break; + case PolyFillType.pftNegative: + e1Wc2 = -e1.WindCnt2; + break; + default: + e1Wc2 = Math.Abs(e1.WindCnt2); + break; + } + switch (e2FillType2) + { + case PolyFillType.pftPositive: + e2Wc2 = e2.WindCnt2; + break; + case PolyFillType.pftNegative: + e2Wc2 = -e2.WindCnt2; + break; + default: + e2Wc2 = Math.Abs(e2.WindCnt2); + break; + } + + if (e1.PolyTyp != e2.PolyTyp) AddLocalMinPoly(e1, e2, pt); + else if (e1Wc == 1 && e2Wc == 1) + { + switch (m_ClipType) + { + case ClipType.ctIntersection: + if (e1Wc2 > 0 && e2Wc2 > 0) AddLocalMinPoly(e1, e2, pt); + break; + case ClipType.ctUnion: + if (e1Wc2 <= 0 && e2Wc2 <= 0) AddLocalMinPoly(e1, e2, pt); + break; + case ClipType.ctDifference: + if (e1.PolyTyp == PolyType.ptClip && e1Wc2 > 0 && e2Wc2 > 0 || + e1.PolyTyp == PolyType.ptSubject && e1Wc2 <= 0 && e2Wc2 <= 0) + AddLocalMinPoly(e1, e2, pt); + break; + case ClipType.ctXor: + AddLocalMinPoly(e1, e2, pt); + break; + } + } + else SwapSides(e1, e2); + } + } + + private void ProcessHorizontals() + { + TEdge horzEdge; + while (PopEdgeFromSEL(out horzEdge)) ProcessHorizontal(horzEdge); + } + + void GetHorzDirection(TEdge HorzEdge, out Direction Dir, out long Left, out long Right) + { + if (HorzEdge.Bot.x < HorzEdge.Top.x) + { + Left = HorzEdge.Bot.x; + Right = HorzEdge.Top.x; + Dir = Direction.dLeftToRight; + } + else + { + Left = HorzEdge.Top.x; + Right = HorzEdge.Bot.x; + Dir = Direction.dRightToLeft; + } + } + + private void ProcessHorizontal(TEdge horzEdge) + { + Direction dir; + long horzLeft, horzRight; + bool IsOpen = horzEdge.WindDelta == 0; + + GetHorzDirection(horzEdge, out dir, out horzLeft, out horzRight); + + TEdge eLastHorz = horzEdge, eMaxPair = null; + while (eLastHorz.NextInLML != null && IsHorizontal(eLastHorz.NextInLML)) eLastHorz = eLastHorz.NextInLML; + if (eLastHorz.NextInLML == null) eMaxPair = GetMaximaPair(eLastHorz); + + Maxima currMax = m_Maxima; + if (currMax != null) + { + if (dir == Direction.dLeftToRight) + { + while (currMax != null && currMax.X <= horzEdge.Bot.x) currMax = currMax.Next; + if (currMax != null && currMax.X >= eLastHorz.Top.x) currMax = null; + } + else + { + while (currMax.Next != null && currMax.Next.X < horzEdge.Bot.x) currMax = currMax.Next; + if (currMax.X <= eLastHorz.Top.x) currMax = null; + } + } + + OutPt op1 = null; + while (true) + { + bool IsLastHorz = horzEdge == eLastHorz; + TEdge e = GetNextInAEL(horzEdge, dir); + while (e != null) + { + if (currMax != null) + { + if (dir == Direction.dLeftToRight) + { + while (currMax != null && currMax.X < e.Curr.x) + { + if (horzEdge.OutIdx >= 0 && !IsOpen) AddOutPt(horzEdge, new LPoint(currMax.X, horzEdge.Bot.y)); + currMax = currMax.Next; + } + } + else + { + while (currMax != null && currMax.X > e.Curr.x) + { + if (horzEdge.OutIdx >= 0 && !IsOpen) AddOutPt(horzEdge, new LPoint(currMax.X, horzEdge.Bot.y)); + currMax = currMax.Prev; + } + } + } + + if (dir == Direction.dLeftToRight && e.Curr.x > horzRight || dir == Direction.dRightToLeft && e.Curr.x < horzLeft) break; + if (e.Curr.x == horzEdge.Top.x && horzEdge.NextInLML != null && e.Dx < horzEdge.NextInLML.Dx) break; + + if (horzEdge.OutIdx >= 0 && !IsOpen) + { + op1 = AddOutPt(horzEdge, e.Curr); + TEdge eNextHorz = m_SortedEdges; + while (eNextHorz != null) + { + if (eNextHorz.OutIdx >= 0 && HorzSegmentsOverlap(horzEdge.Bot.x, + horzEdge.Top.x, eNextHorz.Bot.x, eNextHorz.Top.x)) + { + OutPt op2 = GetLastOutPt(eNextHorz); + AddJoin(op2, op1, eNextHorz.Top); + } + eNextHorz = eNextHorz.NextInSEL; + } + AddGhostJoin(op1, horzEdge.Bot); + } + + if (e == eMaxPair && IsLastHorz) + { + if (horzEdge.OutIdx >= 0) AddLocalMaxPoly(horzEdge, eMaxPair, horzEdge.Top); + DeleteFromAEL(horzEdge); + DeleteFromAEL(eMaxPair); + return; + } + + if (dir == Direction.dLeftToRight) + { + LPoint Pt = new LPoint(e.Curr.x, horzEdge.Curr.y); + IntersectEdges(horzEdge, e, Pt); + } + else + { + LPoint Pt = new LPoint(e.Curr.x, horzEdge.Curr.y); + IntersectEdges(e, horzEdge, Pt); + } + TEdge eNext = GetNextInAEL(e, dir); + SwapPositionsInAEL(horzEdge, e); + e = eNext; + } + + if (horzEdge.NextInLML == null || !IsHorizontal(horzEdge.NextInLML)) break; + + UpdateEdgeIntoAEL(ref horzEdge); + if (horzEdge.OutIdx >= 0) AddOutPt(horzEdge, horzEdge.Bot); + GetHorzDirection(horzEdge, out dir, out horzLeft, out horzRight); + + } + + if (horzEdge.OutIdx >= 0 && op1 == null) + { + op1 = GetLastOutPt(horzEdge); + TEdge eNextHorz = m_SortedEdges; + while (eNextHorz != null) + { + if (eNextHorz.OutIdx >= 0 && HorzSegmentsOverlap(horzEdge.Bot.x, + horzEdge.Top.x, eNextHorz.Bot.x, eNextHorz.Top.x)) + { + OutPt op2 = GetLastOutPt(eNextHorz); + AddJoin(op2, op1, eNextHorz.Top); + } + eNextHorz = eNextHorz.NextInSEL; + } + AddGhostJoin(op1, horzEdge.Top); + } + + if (horzEdge.NextInLML != null) + { + if (horzEdge.OutIdx >= 0) + { + op1 = AddOutPt(horzEdge, horzEdge.Top); + + UpdateEdgeIntoAEL(ref horzEdge); + if (horzEdge.WindDelta == 0) return; + TEdge ePrev = horzEdge.PrevInAEL; + TEdge eNext = horzEdge.NextInAEL; + if (ePrev != null && ePrev.Curr.x == horzEdge.Bot.x && + ePrev.Curr.y == horzEdge.Bot.y && ePrev.WindDelta != 0 && ePrev.OutIdx >= 0 && + ePrev.Curr.y > ePrev.Top.y && SlopesEqual(horzEdge, ePrev)) + { + OutPt op2 = AddOutPt(ePrev, horzEdge.Bot); + AddJoin(op1, op2, horzEdge.Top); + } + else if (eNext != null && eNext.Curr.x == horzEdge.Bot.x && + eNext.Curr.y == horzEdge.Bot.y && eNext.WindDelta != 0 && + eNext.OutIdx >= 0 && eNext.Curr.y > eNext.Top.y && + SlopesEqual(horzEdge, eNext)) + { + OutPt op2 = AddOutPt(eNext, horzEdge.Bot); + AddJoin(op1, op2, horzEdge.Top); + } + } + else UpdateEdgeIntoAEL(ref horzEdge); + } + else + { + if (horzEdge.OutIdx >= 0) AddOutPt(horzEdge, horzEdge.Top); + DeleteFromAEL(horzEdge); + } + } + + private TEdge GetNextInAEL(TEdge e, Direction Direction) + { + return Direction == Direction.dLeftToRight ? e.NextInAEL : e.PrevInAEL; + } + + private bool IsMaxima(TEdge e, double Y) + { + return e != null && e.Top.y == Y && e.NextInLML == null; + } + + private bool IsIntermediate(TEdge e, double Y) + { + return e.Top.y == Y && e.NextInLML != null; + } + + internal TEdge GetMaximaPair(TEdge e) + { + if (e.Next.Top == e.Top && e.Next.NextInLML == null) return e.Next; + if (e.Prev.Top == e.Top && e.Prev.NextInLML == null) return e.Prev; + return null; + } + + internal TEdge GetMaximaPairEx(TEdge e) + { + TEdge result = GetMaximaPair(e); + if (result == null || result.OutIdx == Skip || result.NextInAEL == result.PrevInAEL && !IsHorizontal(result)) return null; + return result; + } + + private bool ProcessIntersections(long topY) + { + if (m_ActiveEdges == null) return true; + try + { + BuildIntersectList(topY); + if (m_IntersectList.Count == 0) return true; + if (m_IntersectList.Count == 1 || FixupIntersectionOrder()) + { + for (int i = 0; i < m_IntersectList.Count; i++) + { + IntersectNode iNode = m_IntersectList[i]; + IntersectEdges(iNode.Edge1, iNode.Edge2, iNode.Pt); + SwapPositionsInAEL(iNode.Edge1, iNode.Edge2); + } + m_IntersectList.Clear(); + } + else return false; + } + catch + { + m_SortedEdges = null; + m_IntersectList.Clear(); + + } + m_SortedEdges = null; + return true; + } + + private void BuildIntersectList(long topY) + { + if (m_ActiveEdges == null) return; + + TEdge e = m_ActiveEdges; + m_SortedEdges = e; + while (e != null) + { + e.PrevInSEL = e.PrevInAEL; + e.NextInSEL = e.NextInAEL; + e.Curr.x = TopX(e, topY); + e = e.NextInAEL; + } + + bool isModified = true; + while (isModified && m_SortedEdges != null) + { + isModified = false; + e = m_SortedEdges; + while (e.NextInSEL != null) + { + TEdge eNext = e.NextInSEL; + if (e.Curr.x > eNext.Curr.x) + { + LPoint pt; + IntersectPoint(e, eNext, out pt); + if (pt.y < topY) pt = new LPoint(TopX(e, topY), topY); + m_IntersectList.Add(new IntersectNode + { + Edge1 = e, + Edge2 = eNext, + Pt = pt + }); + + SwapPositionsInSEL(e, eNext); + isModified = true; + } + else e = eNext; + } + if (e.PrevInSEL != null) e.PrevInSEL.NextInSEL = null; + else break; + } + m_SortedEdges = null; + } + + private bool EdgesAdjacent(IntersectNode inode) + { + return inode.Edge1.NextInSEL == inode.Edge2 || inode.Edge1.PrevInSEL == inode.Edge2; + } + + private bool FixupIntersectionOrder() + { + m_IntersectList.Sort(delegate (IntersectNode n1, IntersectNode n2) + { + long i = n2.Pt.y - n1.Pt.y; + if (i > 0) return 1; + if (i < 0) return -1; + return 0; + }); + + TEdge e = m_ActiveEdges; + m_SortedEdges = e; + while (e != null) + { + e.PrevInSEL = e.PrevInAEL; + e.NextInSEL = e.NextInAEL; + e = e.NextInAEL; + } + + int cnt = m_IntersectList.Count; + + for (int i = 0; i < cnt; i++) + { + if (!EdgesAdjacent(m_IntersectList[i])) + { + int j = i + 1; + while (j < cnt && !EdgesAdjacent(m_IntersectList[j])) j++; + if (j == cnt) return false; + + IntersectNode tmp = m_IntersectList[i]; + m_IntersectList[i] = m_IntersectList[j]; + m_IntersectList[j] = tmp; + + } + SwapPositionsInSEL(m_IntersectList[i].Edge1, m_IntersectList[i].Edge2); + } + return true; + } + + internal static long Round(double value) + { + return value < 0 ? (long)(value - 0.5) : (long)(value + 0.5); + } + + private static long TopX(TEdge edge, long currentY) + { + if (currentY == edge.Top.y) return edge.Top.x; + return edge.Bot.x + Round(edge.Dx * (currentY - edge.Bot.y)); + } + + private void IntersectPoint(TEdge edge1, TEdge edge2, out LPoint ip) + { + ip = new LPoint(); + double b1, b2; + + if (edge1.Dx == edge2.Dx) + { + ip.y = edge1.Curr.y; + ip.x = TopX(edge1, ip.y); + return; + } + + if (edge1.Delta.x == 0) + { + ip.x = edge1.Bot.x; + if (IsHorizontal(edge2)) ip.y = edge2.Bot.y; + else + { + b2 = edge2.Bot.y - edge2.Bot.x / edge2.Dx; + ip.y = Round(ip.x / edge2.Dx + b2); + } + } + else if (edge2.Delta.x == 0) + { + ip.x = edge2.Bot.x; + if (IsHorizontal(edge1)) ip.y = edge1.Bot.y; + else + { + b1 = edge1.Bot.y - edge1.Bot.x / edge1.Dx; + ip.y = Round(ip.x / edge1.Dx + b1); + } + } + else + { + b1 = edge1.Bot.x - edge1.Bot.y * edge1.Dx; + b2 = edge2.Bot.x - edge2.Bot.y * edge2.Dx; + double q = (b2 - b1) / (edge1.Dx - edge2.Dx); + ip.y = Round(q); + if (Math.Abs(edge1.Dx) < Math.Abs(edge2.Dx)) ip.x = Round(edge1.Dx * q + b1); + else ip.x = Round(edge2.Dx * q + b2); + } + + if (ip.y < edge1.Top.y || ip.y < edge2.Top.y) + { + if (edge1.Top.y > edge2.Top.y) ip.y = edge1.Top.y; + else ip.y = edge2.Top.y; + + if (Math.Abs(edge1.Dx) < Math.Abs(edge2.Dx)) ip.x = TopX(edge1, ip.y); + else ip.x = TopX(edge2, ip.y); + } + + if (ip.y > edge1.Curr.y) + { + ip.y = edge1.Curr.y; + if (Math.Abs(edge1.Dx) > Math.Abs(edge2.Dx)) ip.x = TopX(edge2, ip.y); + else ip.x = TopX(edge1, ip.y); + } + } + + private void ProcessEdgesAtTopOfScanbeam(long topY) + { + TEdge e = m_ActiveEdges; + while (e != null) + { + bool IsMaximaEdge = IsMaxima(e, topY); + + if (IsMaximaEdge) + { + TEdge eMaxPair = GetMaximaPairEx(e); + IsMaximaEdge = eMaxPair == null || !IsHorizontal(eMaxPair); + } + + if (IsMaximaEdge) + { + if (StrictlySimple) InsertMaxima(e.Top.x); + TEdge ePrev = e.PrevInAEL; + DoMaxima(e); + e = ePrev == null ? m_ActiveEdges : ePrev.NextInAEL; + } + else + { + if (IsIntermediate(e, topY) && IsHorizontal(e.NextInLML)) + { + UpdateEdgeIntoAEL(ref e); + if (e.OutIdx >= 0) AddOutPt(e, e.Bot); + AddEdgeToSEL(e); + } + else + { + e.Curr.x = TopX(e, topY); + e.Curr.y = topY; + } + + if (StrictlySimple) + { + TEdge ePrev = e.PrevInAEL; + if (e.OutIdx >= 0 && e.WindDelta != 0 && ePrev != null && + ePrev.OutIdx >= 0 && ePrev.Curr.x == e.Curr.x && + ePrev.WindDelta != 0) + { + LPoint ip = new LPoint(e.Curr); + OutPt op = AddOutPt(ePrev, ip); + OutPt op2 = AddOutPt(e, ip); + AddJoin(op, op2, ip); + } + } + + e = e.NextInAEL; + } + } + + ProcessHorizontals(); + m_Maxima = null; + + e = m_ActiveEdges; + while (e != null) + { + if (IsIntermediate(e, topY)) + { + OutPt op = null; + if (e.OutIdx >= 0) op = AddOutPt(e, e.Top); + UpdateEdgeIntoAEL(ref e); + + TEdge ePrev = e.PrevInAEL; + TEdge eNext = e.NextInAEL; + if (ePrev != null && ePrev.Curr.x == e.Bot.x && + ePrev.Curr.y == e.Bot.y && op != null && + ePrev.OutIdx >= 0 && ePrev.Curr.y > ePrev.Top.y && + SlopesEqual(e.Curr, e.Top, ePrev.Curr, ePrev.Top) && + e.WindDelta != 0 && ePrev.WindDelta != 0) + { + OutPt op2 = AddOutPt(ePrev, e.Bot); + AddJoin(op, op2, e.Top); + } + else if (eNext != null && eNext.Curr.x == e.Bot.x && + eNext.Curr.y == e.Bot.y && op != null && + eNext.OutIdx >= 0 && eNext.Curr.y > eNext.Top.y && + SlopesEqual(e.Curr, e.Top, eNext.Curr, eNext.Top) && + e.WindDelta != 0 && eNext.WindDelta != 0) + { + OutPt op2 = AddOutPt(eNext, e.Bot); + AddJoin(op, op2, e.Top); + } + } + e = e.NextInAEL; + } + } + + private void DoMaxima(TEdge e) + { + TEdge eMaxPair = GetMaximaPairEx(e); + if (eMaxPair == null) + { + if (e.OutIdx >= 0) AddOutPt(e, e.Top); + DeleteFromAEL(e); + return; + } + + TEdge eNext = e.NextInAEL; + while (eNext != null && eNext != eMaxPair) + { + IntersectEdges(e, eNext, e.Top); + SwapPositionsInAEL(e, eNext); + eNext = e.NextInAEL; + } + + if (e.OutIdx == Unassigned && eMaxPair.OutIdx == Unassigned) + { + DeleteFromAEL(e); + DeleteFromAEL(eMaxPair); + } + else if (e.OutIdx >= 0 && eMaxPair.OutIdx >= 0) + { + if (e.OutIdx >= 0) AddLocalMaxPoly(e, eMaxPair, e.Top); + DeleteFromAEL(e); + DeleteFromAEL(eMaxPair); + } + else if (e.WindDelta == 0) + { + if (e.OutIdx >= 0) + { + AddOutPt(e, e.Top); + e.OutIdx = Unassigned; + } + DeleteFromAEL(e); + + if (eMaxPair.OutIdx >= 0) + { + AddOutPt(eMaxPair, e.Top); + eMaxPair.OutIdx = Unassigned; + } + DeleteFromAEL(eMaxPair); + } + } + + private int PointCount(OutPt pts) + { + if (pts == null) return 0; + int result = 0; + OutPt p = pts; + do + { + result++; + p = p.Next; + } + while (p != pts); + return result; + } + + private void BuildResult(List polyg) + { + polyg.Clear(); + polyg.Capacity = m_PolyOuts.Count; + for (int i = 0; i < m_PolyOuts.Count; i++) + { + OutRec outRec = m_PolyOuts[i]; + if (outRec.Pts == null) continue; + OutPt p = outRec.Pts.Prev; + int cnt = PointCount(p); + if (cnt < 2) continue; + LPoints pg = new LPoints(cnt); + for (int j = 0; j < cnt; j++) + { + pg.Add(p.Pt); + p = p.Prev; + } + polyg.Add(pg); + } + } + + private void BuildResult2(PolyTree polytree) + { + polytree.Clear(); + + polytree.polygons.Capacity = m_PolyOuts.Count; + for (int i = 0; i < m_PolyOuts.Count; i++) + { + OutRec outRec = m_PolyOuts[i]; + int cnt = PointCount(outRec.Pts); + if (outRec.IsOpen && cnt < 2 || !outRec.IsOpen && cnt < 3) continue; + FixHoleLinkage(outRec); + PolyNode pn = new PolyNode(); + polytree.polygons.Add(pn); + outRec.PolyNode = pn; + pn.polygon.Capacity = cnt; + OutPt op = outRec.Pts.Prev; + for (int j = 0; j < cnt; j++) + { + pn.polygon.Add(op.Pt); + op = op.Prev; + } + } + + polytree.children.Capacity = m_PolyOuts.Count; + for (int i = 0; i < m_PolyOuts.Count; i++) + { + OutRec outRec = m_PolyOuts[i]; + if (outRec.PolyNode == null) continue; + if (outRec.IsOpen) + { + outRec.PolyNode.isOpen = true; + polytree.children.Add(outRec.PolyNode); + } + else if (outRec.FirstLeft != null && outRec.FirstLeft.PolyNode != null) outRec.FirstLeft.PolyNode.children.Add(outRec.PolyNode); + else polytree.children.Add(outRec.PolyNode); + } + } + + private void FixupOutPolyline(OutRec outrec) + { + OutPt pp = outrec.Pts; + OutPt lastPP = pp.Prev; + while (pp != lastPP) + { + pp = pp.Next; + if (pp.Pt == pp.Prev.Pt) + { + if (pp == lastPP) lastPP = pp.Prev; + OutPt tmpPP = pp.Prev; + tmpPP.Next = pp.Next; + pp.Next.Prev = tmpPP; + pp = tmpPP; + } + } + if (pp == pp.Prev) outrec.Pts = null; + } + + private void FixupOutPolygon(OutRec outRec) + { + OutPt lastOK = null; + outRec.BottomPt = null; + OutPt pp = outRec.Pts; + bool preserveCol = PreserveCollinear || StrictlySimple; + while (true) + { + if (pp.Prev == pp || pp.Prev == pp.Next) + { + outRec.Pts = null; + return; + } + + if (pp.Pt == pp.Next.Pt || pp.Pt == pp.Prev.Pt || + SlopesEqual(pp.Prev.Pt, pp.Pt, pp.Next.Pt) && + (!preserveCol || !Pt2IsBetweenPt1AndPt3(pp.Prev.Pt, pp.Pt, pp.Next.Pt))) + { + lastOK = null; + pp.Prev.Next = pp.Next; + pp.Next.Prev = pp.Prev; + pp = pp.Prev; + } + else if (pp == lastOK) break; + else + { + if (lastOK == null) lastOK = pp; + pp = pp.Next; + } + } + outRec.Pts = pp; + } + + OutPt DupOutPt(OutPt outPt, bool InsertAfter) + { + OutPt result = new OutPt + { + Pt = outPt.Pt, + Idx = outPt.Idx + }; + if (InsertAfter) + { + result.Next = outPt.Next; + result.Prev = outPt; + outPt.Next.Prev = result; + outPt.Next = result; + } + else + { + result.Prev = outPt.Prev; + result.Next = outPt; + outPt.Prev.Next = result; + outPt.Prev = result; + } + return result; + } + + bool GetOverlap(long a1, long a2, long b1, long b2, out long Left, out long Right) + { + if (a1 < a2) + { + if (b1 < b2) + { + Left = Math.Max(a1, b1); + Right = Math.Min(a2, b2); + } + else + { + Left = Math.Max(a1, b2); + Right = Math.Min(a2, b1); + } + } + else + { + if (b1 < b2) + { + Left = Math.Max(a2, b1); + Right = Math.Min(a1, b2); + } + else + { + Left = Math.Max(a2, b2); + Right = Math.Min(a1, b1); + } + } + return Left < Right; + } + + bool JoinHorz(OutPt op1, OutPt op1b, OutPt op2, OutPt op2b, LPoint Pt, bool DiscardLeft) + { + Direction Dir1 = op1.Pt.x > op1b.Pt.x ? Direction.dRightToLeft : Direction.dLeftToRight; + Direction Dir2 = op2.Pt.x > op2b.Pt.x ? Direction.dRightToLeft : Direction.dLeftToRight; + if (Dir1 == Dir2) return false; + + if (Dir1 == Direction.dLeftToRight) + { + while (op1.Next.Pt.x <= Pt.x && op1.Next.Pt.x >= op1.Pt.x && op1.Next.Pt.y == Pt.y) op1 = op1.Next; + if (DiscardLeft && op1.Pt.x != Pt.x) op1 = op1.Next; + op1b = DupOutPt(op1, !DiscardLeft); + if (op1b.Pt != Pt) + { + op1 = op1b; + op1.Pt = Pt; + op1b = DupOutPt(op1, !DiscardLeft); + } + } + else + { + while (op1.Next.Pt.x >= Pt.x && op1.Next.Pt.x <= op1.Pt.x && op1.Next.Pt.y == Pt.y) op1 = op1.Next; + if (!DiscardLeft && op1.Pt.x != Pt.x) op1 = op1.Next; + op1b = DupOutPt(op1, DiscardLeft); + if (op1b.Pt != Pt) + { + op1 = op1b; + op1.Pt = Pt; + op1b = DupOutPt(op1, DiscardLeft); + } + } + + if (Dir2 == Direction.dLeftToRight) + { + while (op2.Next.Pt.x <= Pt.x && op2.Next.Pt.x >= op2.Pt.x && op2.Next.Pt.y == Pt.y) op2 = op2.Next; + if (DiscardLeft && op2.Pt.x != Pt.x) op2 = op2.Next; + op2b = DupOutPt(op2, !DiscardLeft); + if (op2b.Pt != Pt) + { + op2 = op2b; + op2.Pt = Pt; + op2b = DupOutPt(op2, !DiscardLeft); + } + } + else + { + while (op2.Next.Pt.x >= Pt.x && op2.Next.Pt.x <= op2.Pt.x && op2.Next.Pt.y == Pt.y) op2 = op2.Next; + if (!DiscardLeft && op2.Pt.x != Pt.x) op2 = op2.Next; + op2b = DupOutPt(op2, DiscardLeft); + if (op2b.Pt != Pt) + { + op2 = op2b; + op2.Pt = Pt; + op2b = DupOutPt(op2, DiscardLeft); + } + } + + if (Dir1 == Direction.dLeftToRight == DiscardLeft) + { + op1.Prev = op2; + op2.Next = op1; + op1b.Next = op2b; + op2b.Prev = op1b; + } + else + { + op1.Next = op2; + op2.Prev = op1; + op1b.Prev = op2b; + op2b.Next = op1b; + } + return true; + } + + private bool JoinPoints(Join j, OutRec outRec1, OutRec outRec2) + { + OutPt op1 = j.OutPt1, op1b; + OutPt op2 = j.OutPt2, op2b; + + bool isHorizontal = j.OutPt1.Pt.y == j.OffPt.y; + + if (isHorizontal && j.OffPt == j.OutPt1.Pt && j.OffPt == j.OutPt2.Pt) + { + if (outRec1 != outRec2) return false; + op1b = j.OutPt1.Next; + while (op1b != op1 && op1b.Pt == j.OffPt) op1b = op1b.Next; + bool reverse1 = op1b.Pt.y > j.OffPt.y; + op2b = j.OutPt2.Next; + while (op2b != op2 && op2b.Pt == j.OffPt) op2b = op2b.Next; + bool reverse2 = op2b.Pt.y > j.OffPt.y; + if (reverse1 == reverse2) return false; + if (reverse1) + { + op1b = DupOutPt(op1, false); + op2b = DupOutPt(op2, true); + op1.Prev = op2; + op2.Next = op1; + op1b.Next = op2b; + op2b.Prev = op1b; + j.OutPt1 = op1; + j.OutPt2 = op1b; + return true; + } + + op1b = DupOutPt(op1, true); + op2b = DupOutPt(op2, false); + op1.Next = op2; + op2.Prev = op1; + op1b.Prev = op2b; + op2b.Next = op1b; + j.OutPt1 = op1; + j.OutPt2 = op1b; + return true; + } + if (isHorizontal) + { + op1b = op1; + while (op1.Prev.Pt.y == op1.Pt.y && op1.Prev != op1b && op1.Prev != op2) op1 = op1.Prev; + while (op1b.Next.Pt.y == op1b.Pt.y && op1b.Next != op1 && op1b.Next != op2) op1b = op1b.Next; + if (op1b.Next == op1 || op1b.Next == op2) return false; + + op2b = op2; + while (op2.Prev.Pt.y == op2.Pt.y && op2.Prev != op2b && op2.Prev != op1b) op2 = op2.Prev; + while (op2b.Next.Pt.y == op2b.Pt.y && op2b.Next != op2 && op2b.Next != op1) op2b = op2b.Next; + if (op2b.Next == op2 || op2b.Next == op1) return false; + + long Left, Right; + if (!GetOverlap(op1.Pt.x, op1b.Pt.x, op2.Pt.x, op2b.Pt.x, out Left, out Right)) return false; + + LPoint Pt; + bool DiscardLeftSide; + if (op1.Pt.x >= Left && op1.Pt.x <= Right) + { + Pt = op1.Pt; + DiscardLeftSide = op1.Pt.x > op1b.Pt.x; + } + else if (op2.Pt.x >= Left && op2.Pt.x <= Right) + { + Pt = op2.Pt; + DiscardLeftSide = op2.Pt.x > op2b.Pt.x; + } + else if (op1b.Pt.x >= Left && op1b.Pt.x <= Right) + { + Pt = op1b.Pt; + DiscardLeftSide = op1b.Pt.x > op1.Pt.x; + } + else + { + Pt = op2b.Pt; + DiscardLeftSide = op2b.Pt.x > op2.Pt.x; + } + j.OutPt1 = op1; + j.OutPt2 = op2; + return JoinHorz(op1, op1b, op2, op2b, Pt, DiscardLeftSide); + } + + op1b = op1.Next; + while (op1b.Pt == op1.Pt && op1b != op1) op1b = op1b.Next; + bool Reverse1 = op1b.Pt.y > op1.Pt.y || !SlopesEqual(op1.Pt, op1b.Pt, j.OffPt); + if (Reverse1) + { + op1b = op1.Prev; + while (op1b.Pt == op1.Pt && op1b != op1) op1b = op1b.Prev; + if (op1b.Pt.y > op1.Pt.y || !SlopesEqual(op1.Pt, op1b.Pt, j.OffPt)) return false; + } + op2b = op2.Next; + while (op2b.Pt == op2.Pt && op2b != op2) op2b = op2b.Next; + bool Reverse2 = op2b.Pt.y > op2.Pt.y || !SlopesEqual(op2.Pt, op2b.Pt, j.OffPt); + if (Reverse2) + { + op2b = op2.Prev; + while (op2b.Pt == op2.Pt && op2b != op2) op2b = op2b.Prev; + if (op2b.Pt.y > op2.Pt.y || !SlopesEqual(op2.Pt, op2b.Pt, j.OffPt)) return false; + } + + if (op1b == op1 || op2b == op2 || op1b == op2b || outRec1 == outRec2 && Reverse1 == Reverse2) return false; + + if (Reverse1) + { + op1b = DupOutPt(op1, false); + op2b = DupOutPt(op2, true); + op1.Prev = op2; + op2.Next = op1; + op1b.Next = op2b; + op2b.Prev = op1b; + j.OutPt1 = op1; + j.OutPt2 = op1b; + return true; + } + + op1b = DupOutPt(op1, true); + op2b = DupOutPt(op2, false); + op1.Next = op2; + op2.Prev = op1; + op1b.Prev = op2b; + op2b.Next = op1b; + j.OutPt1 = op1; + j.OutPt2 = op1b; + return true; + } + + private static int PointInPolygon(LPoint pt, OutPt op) + { + int result = 0; + OutPt startOp = op; + long ptx = pt.x, pty = pt.y; + long poly0x = op.Pt.x, poly0y = op.Pt.y; + do + { + op = op.Next; + long poly1x = op.Pt.x, poly1y = op.Pt.y; + + if (poly1y == pty) + { + if (poly1x == ptx || poly0y == pty && poly1x > ptx == poly0x < ptx) return -1; + } + if (poly0y < pty != poly1y < pty) + { + if (poly0x >= ptx) + { + if (poly1x > ptx) result = 1 - result; + else + { + double d = (double)(poly0x - ptx) * (poly1y - pty) - (double)(poly1x - ptx) * (poly0y - pty); + if (d == 0) return -1; + if (d > 0 == poly1y > poly0y) result = 1 - result; + } + } + else if (poly1x > ptx) + { + double d = (double)(poly0x - ptx) * (poly1y - pty) - (double)(poly1x - ptx) * (poly0y - pty); + if (d == 0) return -1; + if (d > 0 == poly1y > poly0y) result = 1 - result; + } + } + poly0x = poly1x; + poly0y = poly1y; + } + while (startOp != op); + return result; + } + + private static bool Poly2ContainsPoly1(OutPt outPt1, OutPt outPt2) + { + OutPt op = outPt1; + do + { + int res = PointInPolygon(op.Pt, outPt2); + if (res >= 0) return res > 0; + op = op.Next; + } + while (op != outPt1); + return true; + } + + private void FixupFirstLefts1(OutRec OldOutRec, OutRec NewOutRec) + { + foreach (OutRec outRec in m_PolyOuts) + { + OutRec firstLeft = ParseFirstLeft(outRec.FirstLeft); + if (outRec.Pts != null && firstLeft == OldOutRec) + { + if (Poly2ContainsPoly1(outRec.Pts, NewOutRec.Pts)) outRec.FirstLeft = NewOutRec; + } + } + } + + private void FixupFirstLefts2(OutRec innerOutRec, OutRec outerOutRec) + { + OutRec orfl = outerOutRec.FirstLeft; + foreach (OutRec outRec in m_PolyOuts) + { + if (outRec.Pts == null || outRec == outerOutRec || outRec == innerOutRec) continue; + OutRec firstLeft = ParseFirstLeft(outRec.FirstLeft); + if (firstLeft != orfl && firstLeft != innerOutRec && firstLeft != outerOutRec) continue; + if (Poly2ContainsPoly1(outRec.Pts, innerOutRec.Pts)) outRec.FirstLeft = innerOutRec; + else if (Poly2ContainsPoly1(outRec.Pts, outerOutRec.Pts)) outRec.FirstLeft = outerOutRec; + else if (outRec.FirstLeft == innerOutRec || outRec.FirstLeft == outerOutRec) outRec.FirstLeft = orfl; + } + } + + private void FixupFirstLefts3(OutRec OldOutRec, OutRec NewOutRec) + { + foreach (OutRec outRec in m_PolyOuts) + { + ParseFirstLeft(outRec.FirstLeft); + if (outRec.Pts != null && outRec.FirstLeft == OldOutRec) outRec.FirstLeft = NewOutRec; + } + } + + private static OutRec ParseFirstLeft(OutRec FirstLeft) + { + while (FirstLeft != null && FirstLeft.Pts == null) FirstLeft = FirstLeft.FirstLeft; + return FirstLeft; + } + + private void JoinCommonEdges() + { + for (int i = 0; i < m_Joins.Count; i++) + { + Join join = m_Joins[i]; + + OutRec outRec1 = GetOutRec(join.OutPt1.Idx); + OutRec outRec2 = GetOutRec(join.OutPt2.Idx); + + if (outRec1.Pts == null || outRec2.Pts == null) continue; + if (outRec1.IsOpen || outRec2.IsOpen) continue; + + OutRec holeStateRec; + if (outRec1 == outRec2) holeStateRec = outRec1; + else if (OutRec1RightOfOutRec2(outRec1, outRec2)) holeStateRec = outRec2; + else if (OutRec1RightOfOutRec2(outRec2, outRec1)) holeStateRec = outRec1; + else holeStateRec = GetLowermostRec(outRec1, outRec2); + + if (!JoinPoints(join, outRec1, outRec2)) continue; + + if (outRec1 == outRec2) + { + outRec1.Pts = join.OutPt1; + outRec1.BottomPt = null; + outRec2 = CreateOutRec(); + outRec2.Pts = join.OutPt2; + + UpdateOutPtIdxs(outRec2); + + if (Poly2ContainsPoly1(outRec2.Pts, outRec1.Pts)) + { + outRec2.IsHole = !outRec1.IsHole; + outRec2.FirstLeft = outRec1; + + if (m_UsingPolyTree) FixupFirstLefts2(outRec2, outRec1); + if ((outRec2.IsHole ^ ReverseSolution) == Area(outRec2) > 0) ReversePolyPtLinks(outRec2.Pts); + + } + else if (Poly2ContainsPoly1(outRec1.Pts, outRec2.Pts)) + { + outRec2.IsHole = outRec1.IsHole; + outRec1.IsHole = !outRec2.IsHole; + outRec2.FirstLeft = outRec1.FirstLeft; + outRec1.FirstLeft = outRec2; + + if (m_UsingPolyTree) FixupFirstLefts2(outRec1, outRec2); + if ((outRec1.IsHole ^ ReverseSolution) == Area(outRec1) > 0) ReversePolyPtLinks(outRec1.Pts); + } + else + { + outRec2.IsHole = outRec1.IsHole; + outRec2.FirstLeft = outRec1.FirstLeft; + + if (m_UsingPolyTree) FixupFirstLefts1(outRec1, outRec2); + } + + } + else + { + outRec2.Pts = null; + outRec2.BottomPt = null; + outRec2.Idx = outRec1.Idx; + + outRec1.IsHole = holeStateRec.IsHole; + if (holeStateRec == outRec2) outRec1.FirstLeft = outRec2.FirstLeft; + outRec2.FirstLeft = outRec1; + + if (m_UsingPolyTree) FixupFirstLefts3(outRec2, outRec1); + } + } + } + + private void UpdateOutPtIdxs(OutRec outrec) + { + OutPt op = outrec.Pts; + do + { + op.Idx = outrec.Idx; + op = op.Prev; + } + while (op != outrec.Pts); + } + + private void DoSimplePolygons() + { + int i = 0; + while (i < m_PolyOuts.Count) + { + OutRec outrec = m_PolyOuts[i++]; + OutPt op = outrec.Pts; + if (op == null || outrec.IsOpen) continue; + do + { + OutPt op2 = op.Next; + while (op2 != outrec.Pts) + { + if (op.Pt == op2.Pt && op2.Next != op && op2.Prev != op) + { + OutPt op3 = op.Prev; + OutPt op4 = op2.Prev; + op.Prev = op4; + op4.Next = op; + op2.Prev = op3; + op3.Next = op2; + + outrec.Pts = op; + OutRec outrec2 = CreateOutRec(); + outrec2.Pts = op2; + UpdateOutPtIdxs(outrec2); + if (Poly2ContainsPoly1(outrec2.Pts, outrec.Pts)) + { + outrec2.IsHole = !outrec.IsHole; + outrec2.FirstLeft = outrec; + if (m_UsingPolyTree) FixupFirstLefts2(outrec2, outrec); + } + else if (Poly2ContainsPoly1(outrec.Pts, outrec2.Pts)) + { + outrec2.IsHole = outrec.IsHole; + outrec.IsHole = !outrec2.IsHole; + outrec2.FirstLeft = outrec.FirstLeft; + outrec.FirstLeft = outrec2; + if (m_UsingPolyTree) FixupFirstLefts2(outrec, outrec2); + } + else + { + outrec2.IsHole = outrec.IsHole; + outrec2.FirstLeft = outrec.FirstLeft; + if (m_UsingPolyTree) FixupFirstLefts1(outrec, outrec2); + } + op2 = op; + } + op2 = op2.Next; + } + op = op.Next; + } + while (op != outrec.Pts); + } + } + + internal double Area(OutRec outRec) + { + return Area(outRec.Pts); + } + + internal double Area(OutPt op) + { + OutPt opFirst = op; + if (op == null) return 0; + double a = 0; + do + { + a = a + (op.Prev.Pt.x + op.Pt.x) * (double)(op.Prev.Pt.y - op.Pt.y); + op = op.Next; + } + while (op != opFirst); + return a * 0.5; + } + + internal enum NodeType { ntAny, ntOpen, ntClosed } + + public static List PolyTreeToPaths(PolyTree polytree) + { + List result = new List(polytree.Total); + AddPolyNodeToPaths(polytree, NodeType.ntAny, result); + return result; + } + + internal static void AddPolyNodeToPaths(PolyNode polynode, NodeType nt, List paths) + { + bool match = true; + switch (nt) + { + case NodeType.ntOpen: + return; + case NodeType.ntClosed: + match = !polynode.isOpen; + break; + } + + if (polynode.polygon.Count > 0 && match) paths.Add(polynode.polygon); + foreach (PolyNode pn in polynode.children) AddPolyNodeToPaths(pn, nt, paths); + } + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Vector/RealWorldTerrainMapboxClipper.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Vector/RealWorldTerrainMapboxClipper.cs.meta new file mode 100644 index 000000000..4c76d019e --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Vector/RealWorldTerrainMapboxClipper.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 116f51fd50261c744af2c49b89e66c23 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Vector/RealWorldTerrainPBFReader.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Vector/RealWorldTerrainPBFReader.cs new file mode 100644 index 000000000..590308e1c --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Vector/RealWorldTerrainPBFReader.cs @@ -0,0 +1,132 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.Collections.Generic; +using System.Text; + +namespace InfinityCode.RealWorldTerrain.Vector +{ + public class RealWorldTerrainPBFReader + { + public int tag; + public ulong value; + public WireTypes wireType; + + private byte[] buffer; + private ulong length; + private ulong position; + + public RealWorldTerrainPBFReader(byte[] buffer) + { + this.buffer = buffer; + length = (ulong)this.buffer.Length; + wireType = WireTypes.UNDEFINED; + } + + public double GetDouble() + { + byte[] buf = new byte[8]; + Array.Copy(buffer, (int)position, buf, 0, 8); + position += 8; + double dblVal = BitConverter.ToDouble(buf, 0); + return dblVal; + } + + public float GetFloat() + { + byte[] buf = new byte[4]; + Array.Copy(buffer, (int)position, buf, 0, 4); + position += 4; + float snglVal = BitConverter.ToSingle(buf, 0); + return snglVal; + } + + public List GetPackedUnit32() + { + List values = new List(200); + ulong sizeInByte = (ulong)Varint(); + ulong end = position + sizeInByte; + while (position < end) + { + ulong val = (ulong)Varint(); + values.Add((uint)val); + } + return values; + } + + public string GetString(ulong length) + { + byte[] buf = new byte[length]; + Array.Copy(buffer, (int)position, buf, 0, (int)length); + position += length; + return Encoding.UTF8.GetString(buf, 0, buf.Length); + } + + public bool NextByte() + { + if (position >= length) return false; + + value = (ulong)Varint(); + tag = (int)value >> 3; + wireType = (WireTypes)(value & 0x07); + return true; + } + + public void Skip() + { + switch (wireType) + { + case WireTypes.VARINT: + Varint(); + break; + case WireTypes.BYTES: + ulong skip = (ulong)Varint(); + position += skip; + break; + case WireTypes.FIXED32: + position += 4; + break; + case WireTypes.FIXED64: + position += 8; + break; + } + } + + public long Varint() + { + int shift = 0; + long result = 0; + while (shift < 64) + { + byte b = buffer[position]; + result |= (long)(b & 0x7F) << shift; + position++; + if ((b & 0x80) == 0) return result; + shift += 7; + } + throw new ArgumentException("Invalid varint"); + + } + + public byte[] View() + { + ulong skip = (ulong)Varint(); + + byte[] buf = new byte[skip]; + Array.Copy(buffer, (int)position, buf, 0, (int)skip); + position += skip; + + return buf; + } + + public enum WireTypes + { + VARINT = 0, + FIXED64 = 1, + BYTES = 2, + FIXED32 = 5, + UNDEFINED = 99 + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Vector/RealWorldTerrainPBFReader.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Vector/RealWorldTerrainPBFReader.cs.meta new file mode 100644 index 000000000..dc40e6ce6 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Vector/RealWorldTerrainPBFReader.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0d23df17c2a6aba48a8cc5e9ff23e1b1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Vector/RealWorldTerrainVectorTile.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Vector/RealWorldTerrainVectorTile.cs new file mode 100644 index 000000000..f18d6bc74 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Vector/RealWorldTerrainVectorTile.cs @@ -0,0 +1,517 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using InfinityCode.RealWorldTerrain.Net; + +namespace InfinityCode.RealWorldTerrain.Vector +{ + using LPoints = List; + + public class RealWorldTerrainVectorTile + { + private Dictionary layers = new Dictionary(); + public int x; + public int y; + public int zoom; + public ulong key; + public bool loaded = false; + + public string filename + { + get + { + string dir = RealWorldTerrainEditorUtils.textureCacheFolder + "/pbf/mapbox/" + zoom + "/" + x; + if (!Directory.Exists(dir)) Directory.CreateDirectory(dir); + return Path.Combine(dir, y + ".pbf"); + } + } + + public string url + { + get + { + return string.Format("https://api.mapbox.com/v4/mapbox.mapbox-streets-v8/{0}/{1}/{2}.vector.pbf?sku=101jBoeeV2XIx&access_token={3}", + zoom, x, y, RealWorldTerrainPrefs.mapboxAccessToken + ); + } + } + + public RealWorldTerrainVectorTile(int x, int y, int zoom) + { + this.x = x; + this.y = y; + this.zoom = zoom; + key = GetTileKey(zoom, x, y); + } + + private static List ClipPoints(List geoms, long extent, uint bufferSize) + { + List retVal = new List(); + + foreach (var geomPart in geoms) + { + LPoints outGeom = new LPoints(); + foreach (var geom in geomPart) + { + if (geom.x < 0L - bufferSize || geom.y < 0L - bufferSize || + geom.x > extent + bufferSize || geom.y > extent + bufferSize) + { + continue; + } + outGeom.Add(geom); + } + + if (outGeom.Count > 0) retVal.Add(outGeom); + } + + return retVal; + } + + private static List ClipGeometries(List geoms, GeomType geomType, long extent, uint bufferSize) + { + bool closed = geomType != GeomType.LINESTRING; + + List clip = new List + { + new LPoints + { + new LPoint(0L - bufferSize, 0L - bufferSize), + new LPoint(extent + bufferSize, 0L - bufferSize), + new LPoint(extent + bufferSize, extent + bufferSize), + new LPoint(0L - bufferSize, extent + bufferSize) + } + }; + + List subjects = geoms.Select(g => new LPoints(g)).ToList(); + + RealWorldTerrainMapboxClipper.Clipper c = new RealWorldTerrainMapboxClipper.Clipper(); + c.AddPaths(subjects, RealWorldTerrainMapboxClipper.PolyType.ptSubject, closed); + c.AddPaths(clip, RealWorldTerrainMapboxClipper.PolyType.ptClip, true); + + List solution = new List(); + + bool succeeded; + if (geomType == GeomType.LINESTRING) + { + RealWorldTerrainMapboxClipper.PolyTree lineSolution = new RealWorldTerrainMapboxClipper.PolyTree(); + succeeded = c.Execute(RealWorldTerrainMapboxClipper.ClipType.ctIntersection, lineSolution, RealWorldTerrainMapboxClipper.PolyFillType.pftNonZero, RealWorldTerrainMapboxClipper.PolyFillType.pftNonZero); + if (succeeded) solution = RealWorldTerrainMapboxClipper.Clipper.PolyTreeToPaths(lineSolution); + } + else + { + succeeded = c.Execute(RealWorldTerrainMapboxClipper.ClipType.ctIntersection, solution, RealWorldTerrainMapboxClipper.PolyFillType.pftNonZero, RealWorldTerrainMapboxClipper.PolyFillType.pftNonZero); + } + + if (!succeeded) return geoms; + + List retVal = new List(); + foreach (LPoints part in solution) + { + LPoints p = new LPoints(part); + if (geomType == GeomType.POLYGON && p[0] == p[p.Count - 1]) p.Insert(0, p[p.Count - 1]); + retVal.Add(p); + } + + return retVal; + } + + public void Dispose() + { + loaded = false; + layers = null; + } + + public void Download() + { + if (File.Exists(filename)) return; + + new RealWorldTerrainDownloadItemWebClient(url) + { + filename = filename, + averageSize = 30000 + }; + } + + public static Feature GetFeature(Layer layer, int index) + { + byte[] data = layer.featuresData[index]; + RealWorldTerrainPBFReader reader = new RealWorldTerrainPBFReader(data); + Feature feature = new Feature(layer); + while (reader.NextByte()) + { + switch ((FeatureType)reader.tag) + { + case FeatureType.Id: + feature.id = (ulong)reader.Varint(); + break; + case FeatureType.Tags: + List tags = reader.GetPackedUnit32().Select(t => (int)t).ToList(); + feature.tags = tags; + break; + case FeatureType.Type: + int geomType = (int)reader.Varint(); + feature.geometryType = (GeomType)geomType; + break; + case FeatureType.Geometry: + feature.geometryCommands = reader.GetPackedUnit32(); + break; + default: + reader.Skip(); + break; + } + } + + return feature; + } + + public static List GetGeometry(GeomType geomType, List geometryCommands) + { + List geomOut = new List(); + LPoints geomTmp = new LPoints(); + long cursorX = 0; + long cursorY = 0; + + for (int i = 0; i < geometryCommands.Count; i++) + { + uint g = geometryCommands[i]; + Commands cmd = (Commands)(g & 0x7); + uint cmdCount = g >> 3; + + if (cmd == Commands.LineTo) + { + for (int j = 0; j < cmdCount; j++) + { + long x = geometryCommands[i + 1]; + long y = geometryCommands[i + 2]; + cursorX += (x >> 1) ^ -(x & 1); + cursorY += (y >> 1) ^ -(y & 1); + i += 2; + + if (cmd == Commands.MoveTo && geomTmp.Count > 0) + { + geomOut.Add(geomTmp.ToList()); + geomTmp.Clear(); + } + + geomTmp.Add(new LPoint(cursorX, cursorY)); + } + } + else if (cmd == Commands.MoveTo) + { + long x = geometryCommands[i + 1]; + long y = geometryCommands[i + 2]; + cursorX += (x >> 1) ^ -(x & 1); + cursorY += (y >> 1) ^ -(y & 1); + i += 2; + + if (geomTmp.Count > 0) + { + geomOut.Add(geomTmp.ToList()); + geomTmp.Clear(); + } + + geomTmp.Add(new LPoint(cursorX, cursorY)); + } + else if (cmd == Commands.ClosePath && geomType == GeomType.POLYGON && geomTmp.Count > 0) geomTmp.Add(geomTmp[0]); + } + + if (geomTmp.Count > 0) geomOut.Add(geomTmp.ToList()); + return geomOut; + } + + public Layer GetLayer(string name) + { + byte[] data; + if (layers.TryGetValue(name, out data)) return GetLayer(data); + return null; + } + + private static Layer GetLayer(byte[] data) + { + Layer layer = new Layer(); + RealWorldTerrainPBFReader layerReader = new RealWorldTerrainPBFReader(data); + while (layerReader.NextByte()) + { + switch ((LayerType)layerReader.tag) + { + case LayerType.Version: + layer.version = (ulong)layerReader.Varint(); + break; + case LayerType.Name: + layer.name = layerReader.GetString((ulong)layerReader.Varint()); + break; + case LayerType.Extent: + layer.extent = (ulong)layerReader.Varint(); + break; + case LayerType.Keys: + byte[] keyBuffer = layerReader.View(); + string key = Encoding.UTF8.GetString(keyBuffer, 0, keyBuffer.Length); + layer.keys.Add(key); + break; + case LayerType.Values: + byte[] valueBuffer = layerReader.View(); + RealWorldTerrainPBFReader valReader = new RealWorldTerrainPBFReader(valueBuffer); + while (valReader.NextByte()) + { + switch ((ValueType)valReader.tag) + { + case ValueType.String: + byte[] stringBuffer = valReader.View(); + string value = Encoding.UTF8.GetString(stringBuffer, 0, stringBuffer.Length); + layer.values.Add(value); + break; + case ValueType.Float: + layer.values.Add(valReader.GetFloat()); + break; + case ValueType.Double: + layer.values.Add(valReader.GetDouble()); + break; + case ValueType.Int: + layer.values.Add(valReader.Varint()); + break; + case ValueType.UInt: + case ValueType.SInt: + layer.values.Add(valReader.Varint()); + break; + case ValueType.Bool: + layer.values.Add(valReader.Varint() == 1); + break; + } + } + break; + case LayerType.Features: + layer.featuresData.Add(layerReader.View()); + break; + default: + layerReader.Skip(); + break; + } + } + + return layer; + } + + public List GetLayerNames() + { + return layers.Keys.ToList(); + } + + public static ulong GetTileKey(int zoom, int x, int y) + { + return ((ulong)zoom << 58) + ((ulong)x << 29) + (ulong)y; + } + + public void Load() + { + if (loaded) return; + + byte[] bytes = File.ReadAllBytes(filename); + Read(RealWorldTerrainZipDecompressor.Decompress(bytes)); + loaded = true; + } + + public void Read(byte[] data) + { + if (data == null) throw new Exception("Tile data cannot be null"); + if (data.Length < 1) throw new Exception("Tile data cannot be empty"); + if (data[0] == 0x1f && data[1] == 0x8b) return; + + RealWorldTerrainPBFReader reader = new RealWorldTerrainPBFReader(data); + while (reader.NextByte()) + { + if (reader.tag != (int)TileType.Layers) + { + reader.Skip(); + continue; + } + + string name = null; + byte[] layerMessage = reader.View(); + RealWorldTerrainPBFReader layerView = new RealWorldTerrainPBFReader(layerMessage); + while (layerView.NextByte()) + { + if (layerView.tag == (int)LayerType.Name) name = layerView.GetString((ulong)layerView.Varint()); + else layerView.Skip(); + } + + layers.Add(name, layerMessage); + } + } + + public class Layer + { + public ulong extent; + public List featuresData; + + public List keys; + public string name; + + public List values; + public ulong version; + + public int featureCount + { + get { return featuresData.Count; } + } + + public Layer() + { + featuresData = new List(); + keys = new List(); + values = new List(); + } + + public Feature GetFeature(int index) + { + return RealWorldTerrainVectorTile.GetFeature(this, index); + } + } + + public class Feature + { + public List geometryCommands; + + public GeomType geometryType; + public ulong id; + public List tags; + + private Layer layer; + + public Feature(Layer layer) + { + this.layer = layer; + tags = new List(); + } + + public List Geometry(uint? clipBuffer = null) + { + List geom = GetGeometry(geometryType, geometryCommands); + if (clipBuffer.HasValue) + { + if (geometryType == GeomType.POINT) geom = ClipPoints(geom, (long)layer.extent, clipBuffer.Value); + else geom = ClipGeometries(geom, geometryType, (long)layer.extent, clipBuffer.Value); + } + return geom; + } + + public Dictionary GetProperties() + { + Dictionary properties = new Dictionary(); + for (int i = 0; i < tags.Count; i += 2) + { + properties.Add(layer.keys[tags[i]], layer.values[tags[i + 1]]); + } + return properties; + } + } + + public struct LPoint + { + public long x; + public long y; + + public LPoint(long x, long y) + { + this.x = x; + this.y = y; + } + + public LPoint(LPoint p) + { + x = p.x; + y = p.y; + } + + public static bool operator ==(LPoint a, LPoint b) + { + return a.x == b.x && a.y == b.y; + } + + public static bool operator !=(LPoint a, LPoint b) + { + return a.x != b.x || a.y != b.y; + } + + public static LPoint operator +(LPoint a, LPoint b) + { + return new LPoint(a.x + b.x, a.y + b.y); + } + + public override bool Equals(object obj) + { + if (obj == null) return false; + if (obj is LPoint) + { + LPoint a = (LPoint)obj; + return x == a.x && y == a.y; + } + return false; + } + + public override int GetHashCode() + { + return base.GetHashCode(); + } + + public override string ToString() + { + return x + ", " + y; + } + } + + private enum Commands + { + MoveTo = 1, + LineTo = 2, + ClosePath = 7 + } + + private enum TileType + { + Layers = 3 + } + + private enum LayerType + { + Version = 15, + Name = 1, + Features = 2, + Keys = 3, + Values = 4, + Extent = 5 + } + + public enum GeomType + { + UNKNOWN = 0, + POINT = 1, + LINESTRING = 2, + POLYGON = 3 + } + + private enum FeatureType + { + Id = 1, + Tags = 2, + Type = 3, + Geometry = 4, + Raster = 5 + } + + private enum ValueType + { + String = 1, + Float = 2, + Double = 3, + Int = 4, + UInt = 5, + SInt = 6, + Bool = 7 + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Vector/RealWorldTerrainVectorTile.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Vector/RealWorldTerrainVectorTile.cs.meta new file mode 100644 index 000000000..5112d4de9 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Vector/RealWorldTerrainVectorTile.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: abea2b0df916b284c84b0e45b039893e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows.meta new file mode 100644 index 000000000..5414008d5 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 887186088de7c694e9e4d4c34fee1d9b +folderAsset: yes +timeCreated: 1470870903 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainAboutWindow.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainAboutWindow.cs new file mode 100644 index 000000000..11eb27eb5 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainAboutWindow.cs @@ -0,0 +1,34 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Windows +{ + public class RealWorldTerrainAboutWindow : EditorWindow + { + [MenuItem("Window/Infinity Code/Real World Terrain/About", false, 2000)] + public static void OpenWindow() + { + RealWorldTerrainAboutWindow window = GetWindow(true, "About", true); + window.minSize = new Vector2(200, 100); + window.maxSize = new Vector2(200, 100); + } + + public void OnGUI() + { + GUIStyle titleStyle = new GUIStyle(EditorStyles.boldLabel); + titleStyle.alignment = TextAnchor.MiddleCenter; + + GUIStyle textStyle = new GUIStyle(EditorStyles.label); + textStyle.alignment = TextAnchor.MiddleCenter; + + GUILayout.Label("Real World Terrain", titleStyle); + GUILayout.Label("version " + RealWorldTerrainWindow.version, textStyle); + GUILayout.Label("created Infinity Code", textStyle); + GUILayout.Label("2013-" + DateTime.Now.Year, textStyle); + } + } +} diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainAboutWindow.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainAboutWindow.cs.meta new file mode 100644 index 000000000..cb94b3af9 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainAboutWindow.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: c49762c2dfe9bc945b29081dac646717 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainBuildRPresetsWindow.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainBuildRPresetsWindow.cs new file mode 100644 index 000000000..448f15b62 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainBuildRPresetsWindow.cs @@ -0,0 +1,133 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Xml; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Windows +{ + public class RealWorldTerrainBuildRPresetsWindow : EditorWindow + { + public static string[] buildrGeneratorStyles; + public static string[] buildrGeneratorTexturePacks; + + private static RealWorldTerrainBuildRPresetsWindow wnd; + + public static List presets; + private Vector2 scrollPosition; + + private static RealWorldTerrainPrefs prefs + { + get { return RealWorldTerrainWindow.prefs; } + } + + public static void OpenWindow() + { + wnd = GetWindow("BuildR Presets"); + if (prefs.customBuildRPresets != null) presets = prefs.customBuildRPresets.ToList(); + else presets = new List(); + } + + private static List GetBuildRXML(string datatype) + { + const string xmlPath = "Assets/Buildr/XML/"; + string[] paths = Directory.GetFiles(xmlPath); + List filelist = new List(); + + foreach (string path in paths) + { + if (path.Contains(".meta")) continue; + if (!path.Contains(".xml")) continue; + + XmlDocument xml = new XmlDocument(); + xml.Load(path); + XmlNodeList xmlData = xml.SelectNodes("data/datatype"); + + if (xmlData != null && xmlData.Count > 0 && xmlData[0].FirstChild.Value == datatype) filelist.Add(path.Substring(xmlPath.Length)); + } + + return filelist; + } + + private static string OnBuildRPreset(string val, string title) + { + GUILayout.BeginHorizontal(); + val = EditorGUILayout.TextField(title, val); + if (GUILayout.Button("...", GUILayout.ExpandWidth(false))) + { + string v1 = EditorUtility.OpenFilePanel(title, Application.dataPath, "xml"); + if (!string.IsNullOrEmpty(v1)) val = v1; + } + if (GUILayout.Button("Clear", GUILayout.ExpandWidth(false))) val = ""; + GUILayout.EndHorizontal(); + return val; + } + + private void OnDestroy() + { + prefs.customBuildRPresets = presets.ToArray(); + } + + private void OnGUI() + { + if (buildrGeneratorStyles == null) + { + List generatorStyles = GetBuildRXML("ProGen"); + buildrGeneratorStyles = generatorStyles.ToArray(); + prefs.customBuildRGeneratorStyle = generatorStyles.IndexOf("none.xml"); + } + if (buildrGeneratorTexturePacks == null) + { + List generatorTexturePacks = GetBuildRXML("TexturePack"); + buildrGeneratorTexturePacks = generatorTexturePacks.ToArray(); + prefs.customBuildRGeneratorTexturePack = generatorTexturePacks.IndexOf("alltextures.xml"); + } + + prefs.customBuildRGeneratorStyle = EditorGUILayout.Popup("Style: ", prefs.customBuildRGeneratorStyle, buildrGeneratorStyles); + prefs.customBuildRGeneratorTexturePack = EditorGUILayout.Popup("Texture Pack: ", prefs.customBuildRGeneratorTexturePack, buildrGeneratorTexturePacks); + + if (presets == null) + { + if (prefs.customBuildRPresets != null) presets = prefs.customBuildRPresets.ToList(); + else presets = new List(); + } + + if (GUILayout.Button("Add preset") || presets.Count == 0) presets.Add(new RealWorldTerrainBuildRPresetsItem()); + + scrollPosition = GUILayout.BeginScrollView(scrollPosition); + + for (int i = 0; i < presets.Count; i++) + { + RealWorldTerrainBuildRPresetsItem preset = presets[i]; + + GUILayout.BeginHorizontal(); + + GUILayout.Label((i + 1).ToString(), GUILayout.ExpandWidth(false)); + + GUILayout.BeginVertical(); + + preset.facade = OnBuildRPreset(preset.facade, "Facade presets:"); + preset.roof = OnBuildRPreset(preset.roof, "Roof presets:"); + preset.texture = OnBuildRPreset(preset.texture, "Texture presets:"); + + GUILayout.EndVertical(); + + if (GUILayout.Button("X", GUILayout.ExpandWidth(false))) presets[i] = null; + GUILayout.EndHorizontal(); + } + + GUILayout.EndScrollView(); + + presets.RemoveAll(p => p == null); + + if (GUILayout.Button("Close")) + { + wnd.Close(); + } + } + } +} diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainBuildRPresetsWindow.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainBuildRPresetsWindow.cs.meta new file mode 100644 index 000000000..7c6c229cf --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainBuildRPresetsWindow.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 905b52232d8632b46bc77031daf0ba82 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainClearCacheWindow.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainClearCacheWindow.cs new file mode 100644 index 000000000..88aad52dd --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainClearCacheWindow.cs @@ -0,0 +1,163 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System.IO; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Windows +{ + public class RealWorldTerrainClearCacheWindow : EditorWindow + { + private long elevationSize; + private long osmSize; + private long textureSize; + + private void ClearElevationCache() + { + RealWorldTerrainFileSystem.SafeDeleteDirectory(RealWorldTerrainEditorUtils.heightmapCacheFolder); + elevationSize = 0; + } + + private void ClearHistory() + { + RealWorldTerrainFileSystem.SafeDeleteDirectory(RealWorldTerrainEditorUtils.historyCacheFolder); + RealWorldTerrainHistoryWindow.Load(); + } + + private void ClearOSMCache() + { + RealWorldTerrainFileSystem.SafeDeleteDirectory(RealWorldTerrainEditorUtils.osmCacheFolder); + osmSize = 0; + } + + private static void ClearSettings() + { + if (File.Exists(RealWorldTerrainPrefs.prefsFilename)) File.Delete(RealWorldTerrainPrefs.prefsFilename); + RealWorldTerrainSettingsWindow.ClearSettings(); + RealWorldTerrainEditorUtils.ClearFoldersCache(); + } + + private void ClearTextureCache(bool errorOnly = false) + { + if (!errorOnly) + { + RealWorldTerrainFileSystem.SafeDeleteDirectory(RealWorldTerrainEditorUtils.textureCacheFolder); + textureSize = 0; + } + else + { + string[] files = Directory.GetFiles(RealWorldTerrainEditorUtils.textureCacheFolder, "*.err", SearchOption.AllDirectories); + foreach (string file in files) RealWorldTerrainFileSystem.SafeDeleteFile(file); + textureSize = RealWorldTerrainFileSystem.GetDirectorySize(RealWorldTerrainEditorUtils.textureCacheFolder); + } + } + + private void OnEnable() + { + elevationSize = RealWorldTerrainFileSystem.GetDirectorySize(RealWorldTerrainEditorUtils.heightmapCacheFolder); + osmSize = RealWorldTerrainFileSystem.GetDirectorySize(RealWorldTerrainEditorUtils.osmCacheFolder); + textureSize = RealWorldTerrainFileSystem.GetDirectorySize(RealWorldTerrainEditorUtils.textureCacheFolder); + } + + public static string FormatSize(long size) + { + if (size > 10485760) return size / 1048576 + " MB"; + if (size > 1024) return (size / 1048576f).ToString("0.000") + " MB"; + return size + " B"; + } + + private void OnGUI() + { + EditorGUILayout.BeginHorizontal(); + EditorGUILayout.LabelField("Elevations", FormatSize(elevationSize), EditorStyles.textField); + if (GUILayout.Button("Open", GUILayout.ExpandWidth(false))) EditorUtility.RevealInFinder(RealWorldTerrainEditorUtils.heightmapCacheFolder); + if (GUILayout.Button("Clear", GUILayout.ExpandWidth(false))) + { + if (EditorUtility.DisplayDialog("Clear cache", "Are you sure you want to clear the elevation cache?", "Yes", "No")) + { + ClearElevationCache(); + EditorUtility.DisplayDialog("Complete", "Clear cache complete.", "OK"); + } + } + EditorGUILayout.EndHorizontal(); + + EditorGUILayout.BeginHorizontal(); + EditorGUILayout.LabelField("Textures", FormatSize(textureSize), EditorStyles.textField); + if (GUILayout.Button("Open", GUILayout.ExpandWidth(false))) EditorUtility.RevealInFinder(RealWorldTerrainEditorUtils.textureCacheFolder); + if (GUILayout.Button("Clear", GUILayout.ExpandWidth(false))) + { + int result = EditorUtility.DisplayDialogComplex("Clear cache", "Are you sure you want to clear the texture cache?", "Full", "No", "Errors only"); + if (result == 0) + { + ClearTextureCache(); + EditorUtility.DisplayDialog("Complete", "Clear cache complete.", "OK"); + } + else if (result == 2) + { + ClearTextureCache(true); + EditorUtility.DisplayDialog("Complete", "Clear cache complete.", "OK"); + } + } + EditorGUILayout.EndHorizontal(); + + EditorGUILayout.BeginHorizontal(); + EditorGUILayout.LabelField("OSM", FormatSize(osmSize), EditorStyles.textField); + if (GUILayout.Button("Open", GUILayout.ExpandWidth(false))) EditorUtility.RevealInFinder(RealWorldTerrainEditorUtils.osmCacheFolder); + if (GUILayout.Button("Clear", GUILayout.ExpandWidth(false))) + { + if (EditorUtility.DisplayDialog("Clear cache", "Are you sure you want to clear the OSM cache?", "Yes", "No")) + { + ClearOSMCache(); + EditorUtility.DisplayDialog("Complete", "Clear cache complete.", "OK"); + } + } + EditorGUILayout.EndHorizontal(); + + EditorGUILayout.BeginHorizontal(); + EditorGUILayout.LabelField("History"); + if (GUILayout.Button("Open", GUILayout.ExpandWidth(false))) EditorUtility.RevealInFinder(RealWorldTerrainEditorUtils.historyCacheFolder); + if (GUILayout.Button("Clear", GUILayout.ExpandWidth(false))) + { + if (EditorUtility.DisplayDialog("Clear cache", "Are you sure you want to clear the history?", "Yes", "No")) + { + ClearHistory(); + EditorUtility.DisplayDialog("Complete", "Clear cache complete.", "OK"); + } + } + EditorGUILayout.EndHorizontal(); + + EditorGUILayout.BeginHorizontal(); + EditorGUILayout.LabelField("Settings"); + if (GUILayout.Button("Clear", GUILayout.ExpandWidth(false))) + { + if (EditorUtility.DisplayDialog("Clear cache", "Are you sure you want to clear the settings?", "Yes", "No")) + { + ClearSettings(); + EditorUtility.DisplayDialog("Complete", "Clear cache complete.", "OK"); + } + } + EditorGUILayout.EndHorizontal(); + + if (GUILayout.Button("Clear All")) + { + if (EditorUtility.DisplayDialog("Clear cache", "Are you sure you want to clear the cache?", "Yes", "No")) + { + ClearElevationCache(); + ClearTextureCache(); + ClearOSMCache(); + ClearHistory(); + ClearSettings(); + EditorUtility.DisplayDialog("Complete", "Clear cache complete.", "OK"); + Close(); + } + } + } + + public static void OpenWindow() + { + RealWorldTerrainClearCacheWindow wnd = GetWindow(true, "Clear cache"); + DontDestroyOnLoad(wnd); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainClearCacheWindow.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainClearCacheWindow.cs.meta new file mode 100644 index 000000000..24fff5245 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainClearCacheWindow.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: fb5edb018da5f88499d42bf04f186ca2 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainHistoryWindow.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainHistoryWindow.cs new file mode 100644 index 000000000..b7f7edae2 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainHistoryWindow.cs @@ -0,0 +1,167 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.Collections.Generic; +using System.IO; +using System.Text; +using System.Xml; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Windows +{ + public class RealWorldTerrainHistoryWindow: EditorWindow + { + private static List recent; + private Vector2 scrollPosition; + + private static string historyPath + { + get + { + return Path.Combine(RealWorldTerrainEditorUtils.historyCacheFolder, "hystory.xml"); + } + } + + public static void Add(RealWorldTerrainPrefs prefs) + { + string id = Guid.NewGuid().ToString(); + string path = Path.Combine(RealWorldTerrainEditorUtils.historyCacheFolder, id + ".xml"); + File.WriteAllText(path, prefs.ToXML(new XmlDocument()).OuterXml, Encoding.UTF8); + + if (recent == null) Load(); + recent.Add(new RealWorldTerrainHistoryItem(prefs, id)); + + Save(); + } + + public static void Load() + { + if (recent == null) recent = new List(); + else recent.Clear(); + + if (!File.Exists(historyPath)) return; + + XmlDocument doc = new XmlDocument(); + doc.Load(historyPath); + + foreach (XmlNode node in doc.FirstChild.ChildNodes) recent.Add(new RealWorldTerrainHistoryItem(node)); + } + + private void OnGUI() + { + if (recent == null) Load(); + + GUIStyle headerStyle = new GUIStyle(EditorStyles.label); + headerStyle.alignment = TextAnchor.MiddleCenter; + + EditorGUILayout.BeginHorizontal(EditorStyles.toolbar); + GUILayout.Label("№", headerStyle, GUILayout.Width(40)); + GUILayout.Label("Title", headerStyle); + GUILayout.Label("Time", headerStyle, GUILayout.Width(120)); + GUILayout.Box("", GUIStyle.none, GUILayout.Width(50)); + EditorGUILayout.EndHorizontal(); + + scrollPosition = EditorGUILayout.BeginScrollView(scrollPosition); + GUIContent useContent = new GUIContent(">", "Restore"); + GUIContent deleteContent = new GUIContent("X", "Remove"); + + int removeIndex = -1; + int index = 1; + for (int i = recent.Count - 1; i >= 0; i--) + { + RealWorldTerrainHistoryItem item = recent[i]; + EditorGUILayout.BeginHorizontal(); + GUILayout.Label(index.ToString(), GUILayout.Width(40)); + GUILayout.Label(item.title); + + DateTime time = new DateTime(item.timestamp); + + GUILayout.Label(time.ToString("yyyy-MM-dd HH:mm"), GUILayout.Width(120)); + + if (GUILayout.Button(useContent, GUILayout.Width(20))) + { + if (RealWorldTerrainWindow.wnd != null) RealWorldTerrainWindow.wnd.Close(); + + RealWorldTerrainWindow.OpenWindow(RealWorldTerrainGenerateType.full); + RealWorldTerrainWindow.prefs.LoadFromXML(Path.Combine(RealWorldTerrainEditorUtils.historyCacheFolder, item.id + ".xml")); + } + + if (GUILayout.Button(deleteContent, GUILayout.Width(20))) removeIndex = i; + EditorGUILayout.EndHorizontal(); + index++; + } + + EditorGUILayout.EndScrollView(); + + if (GUILayout.Button("Close")) Close(); + + if (removeIndex != -1) + { + RealWorldTerrainHistoryItem item = recent[removeIndex]; + string filaname = Path.Combine(RealWorldTerrainEditorUtils.historyCacheFolder, item.id + ".xml"); + if (File.Exists(filaname)) File.Delete(filaname); + recent.RemoveAt(removeIndex); + Save(); + Repaint(); + } + } + + private static void Save() + { + XmlDocument doc = new XmlDocument(); + XmlNode node = doc.CreateElement("History"); + doc.AppendChild(node); + foreach (RealWorldTerrainHistoryItem item in recent) item.Save(node); + File.WriteAllText(historyPath, doc.OuterXml, Encoding.UTF8); + } + + [MenuItem("Window/Infinity Code/Real World Terrain/History")] + public static void OpenWindow() + { + GetWindow(true, "History"); + } + } + + public class RealWorldTerrainHistoryItem + { + public string title; + public string id; + public long timestamp; + + public RealWorldTerrainHistoryItem(RealWorldTerrainPrefs prefs, string id) + { + if (!string.IsNullOrEmpty(prefs.title)) title = prefs.title; + else title = "(" + prefs.topLatitude + ", " + prefs.leftLongitude + ") - (" + prefs.bottomLatitude + ", " + prefs.rightLongitude + ")"; + + this.id = id; + timestamp = DateTime.Now.Ticks; + } + + public RealWorldTerrainHistoryItem(XmlNode node) + { + title = node["Title"].InnerText.Trim(); + id = node["ID"].InnerText; + timestamp = long.Parse(node["Timestamp"].InnerText); + } + + public void Save(XmlNode node) + { + XmlDocument doc = node.OwnerDocument; + XmlElement itemNode = doc.CreateElement("Item"); + XmlElement titleNode = doc.CreateElement("Title"); + XmlElement idNode = doc.CreateElement("ID"); + XmlElement timestampNode = doc.CreateElement("Timestamp"); + + titleNode.AppendChild(doc.CreateCDataSection(title)); + idNode.AppendChild(doc.CreateTextNode(id)); + timestampNode.AppendChild(doc.CreateTextNode(timestamp.ToString())); + + itemNode.AppendChild(titleNode); + itemNode.AppendChild(idNode); + itemNode.AppendChild(timestampNode); + node.AppendChild(itemNode); + } + } +} diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainHistoryWindow.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainHistoryWindow.cs.meta new file mode 100644 index 000000000..cbb83d3c1 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainHistoryWindow.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 3d96879a74ae6564dacf5ea4e9b73c30 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainInfoWindow.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainInfoWindow.cs new file mode 100644 index 000000000..8f6bc2c72 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainInfoWindow.cs @@ -0,0 +1,159 @@ +using System; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Windows +{ + public class RealWorldTerrainInfoWindow : EditorWindow + { + private Vector2 scrollPosition; + + private const float mb = 1048576; + + private static RealWorldTerrainInfoWindow instance; + + private MemoryUsage memoryUsage = new MemoryUsage(); + private DownloadInfo downloadInfo = new DownloadInfo(); + + private int selectedTool = 0; + + private bool CalculateUsage() + { + RealWorldTerrainPrefs p = RealWorldTerrainWindow.prefs; + if (p == null) + { + EditorUtility.DisplayDialog("Error", "Can not find the prefs. Open Real World Terrain window.", "OK"); + Close(); + return false; + } + + if (selectedTool == 0) downloadInfo.Calculate(p); + else if (selectedTool == 1) memoryUsage.Calculate(p); + + return true; + } + + private static void DrawField(string prefix, string value) + { + EditorGUILayout.BeginHorizontal(); + EditorGUILayout.LabelField(prefix, GUILayout.MaxWidth(instance.position.size.x / 2 - 10)); + EditorGUILayout.LabelField(value, GUILayout.MaxWidth(instance.position.size.x / 2 - 10)); + EditorGUILayout.EndHorizontal(); + } + + private void OnEnable() + { + instance = this; + CalculateUsage(); + } + + public void OnGUI() + { + EditorGUI.BeginChangeCheck(); + //selectedTool = GUILayout.Toolbar(selectedTool, new[] {"Download", "Result"}); + if (EditorGUI.EndChangeCheck()) + { + if (!CalculateUsage()) return; + scrollPosition = Vector2.zero; + } + + scrollPosition = EditorGUILayout.BeginScrollView(scrollPosition); + /*if (selectedTool == 0) downloadInfo.Draw(); + else if (selectedTool == 1)*/ memoryUsage.Draw(); + EditorGUILayout.EndScrollView(); + + if (GUILayout.Button("Refresh")) CalculateUsage(); + } + + public static void OpenWindow() + { + GetWindow(true, "Area Info", true); + } + + internal class DownloadInfo + { + private int heightmapRequests; + private int texturesRequests; + private int osmRequests; + private int totalRequests; + + public void Calculate(RealWorldTerrainPrefs p) + { + + } + + public void Draw() + { + + } + } + + internal class MemoryUsage + { + private long heightmap; + private long controltexture; + private long detailmap; + private int countGrass; + private long basemap; + private long texture; + private long totalPerTerrain; + private RealWorldTerrainVector2i countTerrains; + private long total; + + private string heightmapS; + + private string controltextureS; + private string detailmapS; + private string basemapS; + private string textureS; + private string totalPerTerrainS; + private string totalS; + private string countTerrainsS; + + + public void Calculate(RealWorldTerrainPrefs p) + { + heightmap = p.heightmapResolution * p.heightmapResolution * 4; + controltexture = p.controlTextureResolution * p.controlTextureResolution * 4; + detailmap = p.detailResolution * p.detailResolution * 4; + countGrass = p.generateGrass ? p.grassPrefabs.Count : 0; + basemap = p.baseMapResolution * p.baseMapResolution * 4; + texture = 0; + if (p.generateTextures) + { + if (p.textureResultType == RealWorldTerrainTextureResultType.regularTexture) texture = p.textureSize.x * p.textureSize.y * 4; + else if (p.textureResultType == RealWorldTerrainTextureResultType.hugeTexture) texture = p.hugeTexturePageSize * p.hugeTexturePageSize * p.hugeTextureCols * p.hugeTextureRows * 3; + } + totalPerTerrain = heightmap + countTerrains + detailmap * countGrass + basemap + texture; + countTerrains = p.terrainCount; + total = totalPerTerrain * countTerrains.count; + + string format = "{0:### ##0.00}"; + heightmapS = string.Format(format, heightmap / mb) + " mb"; + controltextureS = string.Format(format, controltexture / mb) + " mb"; + detailmapS = string.Format(format, detailmap * countGrass / mb) + " mb"; + basemapS = string.Format(format, basemap / mb) + " mb"; + textureS = string.Format(format, texture / mb) + " mb"; + totalPerTerrainS = string.Format(format, totalPerTerrain / mb) + " mb"; + countTerrainsS = countTerrains.count + " (" + countTerrains.x + "x" + countTerrains.y + ")"; + totalS = string.Format(format, total / mb) + " mb"; + } + + public void Draw() + { + EditorGUILayout.HelpBox("Uncompressed size of the result by the fields.\nHere only the main fields affecting the size are shown.\nNote that the memory that RWT will use for generation is not shown here.", MessageType.Info); + + DrawField("Height Map:", heightmapS); + DrawField("Control Texture:", controltextureS); + DrawField("Detail Map: ", detailmapS); + DrawField("Base Map: ", basemapS); + DrawField("Textures: ", textureS); + EditorGUILayout.Space(); + DrawField("Total Per Terrain: ", totalPerTerrainS); + EditorGUILayout.LabelField("---"); + DrawField("Count Terrains: ", countTerrainsS); + DrawField("Total: ", totalS); + } + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainInfoWindow.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainInfoWindow.cs.meta new file mode 100644 index 000000000..199c16c59 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainInfoWindow.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7661126f067dcc24abc2b041b0d1c041 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainMemoryUsageWindow.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainMemoryUsageWindow.cs new file mode 100644 index 000000000..1093f2975 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainMemoryUsageWindow.cs @@ -0,0 +1,116 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Windows +{ + public class RealWorldTerrainMemoryUsageWindow : EditorWindow + { + private Vector2 scrollPosition; + + private float mb = 1048576; + + private long heightmap; + private long controltexture; + private long detailmap; + private int countGrass; + private long basemap; + private long texture; + private long totalPerTerrain; + private RealWorldTerrainVector2i countTerrains; + private long total; + + private string heightmapS; + + + private string controltextureS; + private string detailmapS; + private string basemapS; + private string textureS; + private string totalPerTerrainS; + private string totalS; + private string countTerrainsS; + + private void CalculateUsage() + { + RealWorldTerrainPrefs p = RealWorldTerrainWindow.prefs; + if (p == null) + { + EditorUtility.DisplayDialog("Error", "Can not find the prefs. Open Real World Terrain window.", "OK"); + Close(); + return; + } + + heightmap = p.heightmapResolution * p.heightmapResolution * 4; + controltexture = p.controlTextureResolution * p.controlTextureResolution * 4; + detailmap = p.detailResolution * p.detailResolution * 4; + countGrass = p.generateGrass ? p.grassPrefabs.Count : 0; + basemap = p.baseMapResolution * p.baseMapResolution * 4; + texture = 0; + if (p.generateTextures) + { + if (p.textureResultType == RealWorldTerrainTextureResultType.regularTexture) texture = p.textureSize.x * p.textureSize.y * 4; + else if (p.textureResultType == RealWorldTerrainTextureResultType.hugeTexture) texture = p.hugeTexturePageSize * p.hugeTexturePageSize * p.hugeTextureCols * p.hugeTextureRows * 3; + } + totalPerTerrain = heightmap + countTerrains + detailmap * countGrass + basemap + texture; + countTerrains = p.terrainCount; + total = totalPerTerrain * countTerrains.count; + + string format = "{0:### ##0.00}"; + heightmapS = String.Format(format, heightmap / mb) + " mb"; + controltextureS = String.Format(format, controltexture / mb) + " mb"; + detailmapS = String.Format(format, detailmap * countGrass / mb) + " mb"; + basemapS = String.Format(format, basemap / mb) + " mb"; + textureS = String.Format(format, texture / mb) + " mb"; + totalPerTerrainS = String.Format(format, totalPerTerrain / mb) + " mb"; + countTerrainsS = countTerrains.count + " (" + countTerrains.x + "x" + countTerrains.y + ")"; + totalS = String.Format(format, total / mb) + " mb"; + } + + private void OnEnable() + { + CalculateUsage(); + } + + private void DrawField(string prefix, string value) + { + EditorGUILayout.BeginHorizontal(); + EditorGUILayout.LabelField(prefix, GUILayout.MaxWidth(position.size.x / 2 - 10)); + EditorGUILayout.LabelField(value, GUILayout.MaxWidth(position.size.x / 2 - 10)); + EditorGUILayout.EndHorizontal(); + } + + public void OnGUI() + { + scrollPosition = EditorGUILayout.BeginScrollView(scrollPosition); + + EditorGUILayout.HelpBox("Uncompressed size of the result by the fields.\nHere only the main fields affecting the size are shown.\nNote that the memory that RWT will use for generation is not shown here.", MessageType.Info); + + DrawField("Height Map:", heightmapS); + DrawField("Control Texture:", controltextureS); + DrawField("Detail Map: ", detailmapS); + DrawField("Base Map: ", basemapS); + DrawField("Textures: ", textureS); + EditorGUILayout.Space(); + DrawField("Total Per Terrain: ", totalPerTerrainS); + EditorGUILayout.LabelField("---"); + DrawField("Count Terrains: ", countTerrainsS); + DrawField("Total: ", totalS); + + EditorGUILayout.EndScrollView(); + + if (GUILayout.Button("Refresh")) + { + CalculateUsage(); + } + } + + public static void OpenWindow() + { + GetWindow(true, "Memory Usage", true); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainMemoryUsageWindow.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainMemoryUsageWindow.cs.meta new file mode 100644 index 000000000..0e7f35d80 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainMemoryUsageWindow.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 9376171e0d65a59409225ae4c95728ca +timeCreated: 1539976693 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainSettingsGeneratorWindow.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainSettingsGeneratorWindow.cs new file mode 100644 index 000000000..9f7d0aa22 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainSettingsGeneratorWindow.cs @@ -0,0 +1,116 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Windows +{ + public class RealWorldTerrainSettingsGeneratorWindow : EditorWindow + { + private int heightmapQuality = 50; + private int textureQuality = 50; + private Vector2 scrollPosition; + private bool generateGrass; + private bool generateTexture = true; + + public static void OpenWindow() + { + GetWindow(false, "Settings generator"); + } + + private void OnGUI() + { + RealWorldTerrainPrefs prefs = RealWorldTerrainWindow.prefs; + + heightmapQuality = EditorGUILayout.IntSlider("Heightmap quality:", heightmapQuality, 1, 100); + generateTexture = EditorGUILayout.Toggle("Generate texture:", generateTexture); + if (generateTexture) textureQuality = EditorGUILayout.IntSlider("Texture quality:", textureQuality, 1, 100); + generateGrass = EditorGUILayout.Toggle("Generate grass", generateGrass); + + double rangeX = prefs.rightLongitude - prefs.leftLongitude; + double rangeY = prefs.topLatitude - prefs.bottomLatitude; + + double sizeX = 0; + double sizeY = 0; + + if (prefs.sizeType == 0) + { + double scfY = Math.Sin(prefs.topLatitude * Mathf.Deg2Rad); + double sctY = Math.Sin(prefs.bottomLatitude * Mathf.Deg2Rad); + double ccfY = Math.Cos(prefs.topLatitude * Mathf.Deg2Rad); + double cctY = Math.Cos(prefs.bottomLatitude * Mathf.Deg2Rad); + double cX = Math.Cos(rangeX * Mathf.Deg2Rad); + double sizeX1 = Math.Abs(RealWorldTerrainGeo.EARTH_RADIUS * Math.Acos(scfY * scfY + ccfY * ccfY * cX)); + double sizeX2 = Math.Abs(RealWorldTerrainGeo.EARTH_RADIUS * Math.Acos(sctY * sctY + cctY * cctY * cX)); + sizeX = (sizeX1 + sizeX2) / 2.0; + sizeY = RealWorldTerrainGeo.EARTH_RADIUS * Math.Acos(scfY * sctY + ccfY * cctY); + } + else if (prefs.sizeType == 1) + { + sizeX = Math.Abs(rangeX / 360 * RealWorldTerrainGeo.EQUATOR_LENGTH); + sizeY = Math.Abs(rangeY / 360 * RealWorldTerrainGeo.EQUATOR_LENGTH); + } + + int hmX = (int)Math.Round(sizeX / 9 * heightmapQuality); + int hmY = (int)Math.Round(sizeY / 9 * heightmapQuality); + + int tsX = generateTexture ? (int)Math.Round(sizeX * 10 * textureQuality) : 0; + int tsY = generateTexture ? (int)Math.Round(sizeY * 10 * textureQuality) : 0; + + int countX = Mathf.Max(hmX / 4096 + 1, tsX / 4096 + 1); + int countY = Mathf.Max(hmY / 4096 + 1, tsY / 4096 + 1); + + if (countX > 10 || countY > 10) + { + GUIStyle style = new GUIStyle(GUI.skin.label); + style.normal.textColor = Color.red; + style.fontStyle = FontStyle.Bold; + style.wordWrap = true; + GUILayout.Label("Too high a settings. Memory overflow may occur.", style); + } + + int heightmapRes = Mathf.Max(hmX / countX, hmY / countY); + heightmapRes = Mathf.Clamp(Mathf.NextPowerOfTwo(heightmapRes), 32, 4096); + int detailRes = (generateGrass) ? heightmapRes : 32; + int textureWidth = Mathf.Clamp(Mathf.NextPowerOfTwo(tsX / countX), 32, 4096); + int textureHeight = Mathf.Clamp(Mathf.NextPowerOfTwo(tsY / countY), 32, 4096); + int basemapRes = Mathf.Clamp(Mathf.NextPowerOfTwo(Mathf.Max(textureWidth, textureHeight) / 4), 32, 4096); + + GUILayout.Space(10); + GUILayout.Label(string.Format("Area size X:{0} km, Y:{1} km", sizeX, sizeY)); + GUILayout.Space(10); + + scrollPosition = EditorGUILayout.BeginScrollView(scrollPosition); + + GUILayout.Label("Recommended settings:"); + GUILayout.Label(string.Format("Count terrains: {0}x{1}", countX, countY)); + GUILayout.Label("Heightmap resolution: " + heightmapRes); + GUILayout.Label("Detail resolution: " + detailRes); + GUILayout.Label("Basemap resolution: " + basemapRes); + if (generateTexture) GUILayout.Label(string.Format("Texture size: {0}x{1}", textureWidth, textureHeight)); + + EditorGUILayout.EndScrollView(); + + if (GUILayout.Button("Apply")) + { + prefs.terrainCount = new RealWorldTerrainVector2i(countX, countY); + prefs.heightmapResolution = heightmapRes; + prefs.detailResolution = detailRes; + prefs.baseMapResolution = basemapRes; + + if (generateTexture) + { + prefs.textureSize = new RealWorldTerrainVector2i(textureWidth, textureHeight); + prefs.generateTextures = true; + } + else prefs.generateTextures = false; + + if (RealWorldTerrainWindow.wnd != null) RealWorldTerrainWindow.wnd.Repaint(); + + Close(); + } + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainSettingsGeneratorWindow.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainSettingsGeneratorWindow.cs.meta new file mode 100644 index 000000000..e1ba492e7 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainSettingsGeneratorWindow.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: b3e684d2dc6475a46a11a65c99e1e823 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainSettingsWindow.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainSettingsWindow.cs new file mode 100644 index 000000000..2ff9faad7 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainSettingsWindow.cs @@ -0,0 +1,520 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.IO; +using System.Linq; +using System.Reflection; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Windows +{ + public class RealWorldTerrainSettingsWindow : EditorWindow + { + private static RealWorldTerrainSettingsWindow wnd; + + private string customCacheFolder; + private bool defaultCacheFolder = true; + private bool hasThirdPartyAssets; + private string resultName = "RealWorld Terrain"; + private Vector2 scrollPosition = Vector2.zero; + private bool showGeneral = true; + private bool showCacheFolder = true; + private bool showResultName = true; + private bool showTerrainNames = true; + private bool showTerrainTokens; + private bool showThirdPartyAssets = false; + private bool showResultTokens; + private static Assembly assembly; + private bool appendResultNameIndex = true; + private string terrainName = "Terrain {x}x{y}"; + private bool generateInThread = true; + private RealWorldTerrainOSMOverpassServer osmServer = RealWorldTerrainOSMOverpassServer.main; + private bool hasBuildR2; + private bool hasBuildR3; + private bool hasEasyRoads; + private bool hasProceduralToolkit; + private bool hasRoadArchitect; + private bool hasRTP; + private bool hasVolumeGrass; + private bool hasWorldStreamer; + private bool hasRAM2019; + + private static void AddCompilerDirective(string key) + { + BuildTargetGroup g = EditorUserBuildSettings.selectedBuildTargetGroup; + +#if UNITY_2023_1_OR_NEWER + UnityEditor.Build.NamedBuildTarget buildTarget = UnityEditor.Build.NamedBuildTarget.FromBuildTargetGroup(g); + string currentDefinitions = PlayerSettings.GetScriptingDefineSymbols(buildTarget); +#else + string currentDefinitions = PlayerSettings.GetScriptingDefineSymbolsForGroup(g); +#endif + + string[] defs = currentDefinitions.Split(';').Select(d => d.Trim(' ')).ToArray(); + + if (defs.All(d => d != key)) + { + ArrayUtility.Add(ref defs, key); + currentDefinitions = string.Join(";", defs); +#if UNITY_2023_1_OR_NEWER + PlayerSettings.SetScriptingDefineSymbols(buildTarget, currentDefinitions); +#else + PlayerSettings.SetScriptingDefineSymbolsForGroup(g, currentDefinitions); +#endif + } + } + + public static void ClearSettings() + { + RealWorldTerrainPrefs.DeletePref("CacheFolder"); + RealWorldTerrainPrefs.DeletePref("ResultName"); + RealWorldTerrainPrefs.DeletePref("TerrainName"); + RealWorldTerrainPrefs.DeletePref("AppendIndex"); + RealWorldTerrainPrefs.DeletePref("GenerateInTread"); + RealWorldTerrainPrefs.DeletePref("OSMServer"); + + if (wnd != null) wnd.Repaint(); + } + + private static void DeleteCompilerDirective(string key) + { + BuildTargetGroup g = EditorUserBuildSettings.selectedBuildTargetGroup; + +#if UNITY_2023_1_OR_NEWER + UnityEditor.Build.NamedBuildTarget buildTarget = UnityEditor.Build.NamedBuildTarget.FromBuildTargetGroup(g); + string currentDefinitions = PlayerSettings.GetScriptingDefineSymbols(buildTarget); +#else + string currentDefinitions = PlayerSettings.GetScriptingDefineSymbolsForGroup(g); +#endif + + string[] defs = currentDefinitions.Split(';').Select(d => d.Trim(' ')).ToArray(); + + if (defs.Any(d => d == key)) + { + ArrayUtility.Remove(ref defs, key); + currentDefinitions = string.Join(";", defs); +#if UNITY_2023_1_OR_NEWER + PlayerSettings.SetScriptingDefineSymbols(buildTarget, currentDefinitions); +#else + PlayerSettings.SetScriptingDefineSymbolsForGroup(g, currentDefinitions); +#endif + } + } + + private void DrawResultTokens() + { + EditorGUILayout.BeginVertical(GUI.skin.box); + showResultTokens = EditorGUILayout.Foldout(showResultTokens, "Available tokens"); + if (showResultTokens) + { + GUILayout.Label("{title} - Title"); + GUILayout.Label("{tllat} - Top-Left latitude"); + GUILayout.Label("{tllng} - Top-Left longitude"); + GUILayout.Label("{brlat} - Bottom-Right latitude"); + GUILayout.Label("{brlng} - Bottom-Right longitude"); + GUILayout.Label("{cx} - Count X"); + GUILayout.Label("{cy} - Count Y"); + GUILayout.Label("{st} - Size type"); + GUILayout.Label("{me} - Max elevation"); + GUILayout.Label("{mu} - Max underwater depth"); + GUILayout.Label("{ds} - Depth shrapness"); + GUILayout.Label("{dr} - Detail resolution"); + GUILayout.Label("{rpp} - Resolution per patch"); + GUILayout.Label("{bmr} - Base map resolution"); + GUILayout.Label("{hmr} - Height map resolution"); + GUILayout.Label("{tp} - Texture provider"); + GUILayout.Label("{tw} - Texture width"); + GUILayout.Label("{th} - Texture height"); + GUILayout.Label("{tml} - Texture max level"); + GUILayout.Label("{ticks} - Current time ticks"); + GUILayout.Space(10); + } + EditorGUILayout.EndVertical(); + } + + private void DrawTerrainTokens() + { + EditorGUILayout.BeginVertical(GUI.skin.box); + showTerrainTokens = EditorGUILayout.Foldout(showTerrainTokens, "Available tokens"); + if (showTerrainTokens) + { + GUILayout.Label("{tllat} - Top-Left latitude"); + GUILayout.Label("{tllng} - Top-Left longitude"); + GUILayout.Label("{brlat} - Bottom-Right latitude"); + GUILayout.Label("{brlng} - Bottom-Right longitude"); + GUILayout.Label("{x} - X Index"); + GUILayout.Label("{y} - Y Index"); + GUILayout.Space(10); + } + EditorGUILayout.EndVertical(); + } + + private static Type FindType(string className) + { + if (assembly == null) assembly = typeof(RealWorldTerrainSettingsWindow).Assembly; + return assembly.GetType(className); + } + + private void OnCacheFolderGUI() + { + EditorGUILayout.BeginVertical(GUI.skin.box); + showCacheFolder = EditorGUILayout.Foldout(showCacheFolder, "Cache folder:"); + if (showCacheFolder) + { + defaultCacheFolder = GUILayout.Toggle(defaultCacheFolder, "{PROJECT FOLDER}/RWT_Cache"); + defaultCacheFolder = !GUILayout.Toggle(!defaultCacheFolder, "Custom cache folder"); + + if (!defaultCacheFolder) + { + GUILayout.BeginHorizontal(); + customCacheFolder = EditorGUILayout.TextField("", customCacheFolder); + GUI.SetNextControlName("BrowseButton"); + if (GUILayout.Button("Browse", GUILayout.ExpandWidth(false))) + { + GUI.FocusControl("BrowseButton"); + string newCustomFolder = EditorUtility.OpenFolderPanel("Select the folder for the cache.", EditorApplication.applicationPath, ""); + if (!string.IsNullOrEmpty(newCustomFolder)) customCacheFolder = newCustomFolder; + } + GUILayout.EndHorizontal(); + } + } + EditorGUILayout.EndVertical(); + } + + private void OnBuildR2(ref bool dirty) + { + if (!hasBuildR2) return; + +#if !BUILDR2 + if (GUILayout.Button("Enable BuildR2")) + { + AddCompilerDirective("BUILDR2"); + dirty = true; + } +#else + if (GUILayout.Button("Disable BuildR2")) + { + DeleteCompilerDirective("BUILDR2"); + dirty = true; + } +#endif + hasThirdPartyAssets = true; + } + + private void OnBuildR3(ref bool dirty) + { + if (!hasBuildR3) return; + +#if !BUILDR3 + if (GUILayout.Button("Enable BuildR3")) + { + AddCompilerDirective("BUILDR3"); + dirty = true; + } +#else + if (GUILayout.Button("Disable BuildR3")) + { + DeleteCompilerDirective("BUILDR3"); + dirty = true; + } +#endif + hasThirdPartyAssets = true; + } + + private void OnEasyRoads(ref bool dirty) + { + if (!hasEasyRoads) return; + +#if !EASYROADS3D + if (GUILayout.Button("Enable EasyRoads3D v3")) + { + AddCompilerDirective("EASYROADS3D"); + dirty = true; + } +#else + if (GUILayout.Button("Disable EasyRoads3D v3")) + { + DeleteCompilerDirective("EASYROADS3D"); + dirty = true; + } +#endif + hasThirdPartyAssets = true; + } + + private void OnDestroy() + { + wnd = null; + } + + private void OnEnable() + { + wnd = this; + customCacheFolder = RealWorldTerrainPrefs.LoadPref("CacheFolder", ""); + defaultCacheFolder = customCacheFolder == ""; + resultName = RealWorldTerrainPrefs.LoadPref("ResultName", "RealWorld Terrain"); + terrainName = RealWorldTerrainPrefs.LoadPref("TerrainName", "Terrain {x}x{y}"); + appendResultNameIndex = RealWorldTerrainPrefs.LoadPref("AppendIndex", true); + generateInThread = RealWorldTerrainPrefs.LoadPref("GenerateInThread", true); + osmServer = (RealWorldTerrainOSMOverpassServer)RealWorldTerrainPrefs.LoadPref("OSMServer", 0); + + hasBuildR2 = FindType("BuildR2.BuildingEditor") != null; + hasBuildR3 = FindType("BuildRCities.EditorScripts.BuildREditor") != null; + + string[] easyRoads3DResult = Directory.GetFiles("Assets", "EasyRoads3Dv3.dll", SearchOption.AllDirectories); + hasEasyRoads = easyRoads3DResult.Length > 0; + + string[] proceduralToolkitResults = Directory.GetFiles("Assets", "ProceduralToolkit.Editor.asmdef", SearchOption.AllDirectories); + hasProceduralToolkit = proceduralToolkitResults.Length > 0; + + hasRoadArchitect = FindType("GSDRoadEditor") != null; + hasRTP = FindType("RTP_LODmanagerEditor") != null; + hasVolumeGrass = FindType("VolumeGrassEditor") != null; + hasWorldStreamer = FindType("SceneSplitterEditor") != null; + hasRAM2019 = FindType("RamSplineEditor") != null; + } + + private void OnGeneralGUI() + { + EditorGUILayout.BeginVertical(GUI.skin.box); + showGeneral = EditorGUILayout.Foldout(showGeneral, "General:"); + if (!showGeneral) EditorGUILayout.EndVertical(); + + generateInThread = EditorGUILayout.Toggle("Generate in Thread", generateInThread); + osmServer = (RealWorldTerrainOSMOverpassServer)EditorGUILayout.EnumPopup("OSM Overpass Server", osmServer); + + EditorGUILayout.EndVertical(); + } + + private void OnGUI() + { + bool dirty = false; + scrollPosition = GUILayout.BeginScrollView(scrollPosition); + + OnGeneralGUI(); + OnCacheFolderGUI(); + OnResultNameGUI(); + OnTerrainNameGUI(); + + OnThirdPartyGUI(ref dirty); + + GUILayout.EndScrollView(); + + EditorGUILayout.BeginHorizontal(); + if (GUILayout.Button("Save")) + { + if (defaultCacheFolder) RealWorldTerrainPrefs.DeletePref("CacheFolder"); + else RealWorldTerrainPrefs.SetPref("CacheFolder", customCacheFolder); + + if (resultName == "") RealWorldTerrainPrefs.DeletePref("ResultName"); + else RealWorldTerrainPrefs.SetPref("ResultName", resultName); + + if (terrainName == "") RealWorldTerrainPrefs.DeletePref("TerrainName"); + else RealWorldTerrainPrefs.SetPref("TerrainName", terrainName); + + RealWorldTerrainPrefs.SetPref("AppendIndex", appendResultNameIndex); + RealWorldTerrainPrefs.SetPref("GenerateInThread", generateInThread); + RealWorldTerrainPrefs.SetPref("OSMServer", (int)osmServer); + + RealWorldTerrainEditorUtils.ClearFoldersCache(); + + Close(); + } + + if (GUILayout.Button("Revert to default settings", GUILayout.ExpandWidth(false))) + { + int result = EditorUtility.DisplayDialogComplex("Revert to default settings", "Reset generation settings?", "Reset", "Ignore", "Cancel"); + Debug.Log(result); + if (result < 2) + { + if (result == 0 && File.Exists(RealWorldTerrainPrefs.prefsFilename)) File.Delete(RealWorldTerrainPrefs.prefsFilename); + ClearSettings(); + RealWorldTerrainEditorUtils.ClearFoldersCache(); + } + } + + EditorGUILayout.EndHorizontal(); + + if (dirty) Repaint(); + } + + private void OnProceduralToolkit(ref bool dirty) + { + if (!hasProceduralToolkit) return; + +#if !PROCEDURAL_TOOLKIT + if (GUILayout.Button("Enable Procedural Toolkit")) + { + AddCompilerDirective("PROCEDURAL_TOOLKIT"); + dirty = true; + } +#else + if (GUILayout.Button("Disable Procedural Toolkit")) + { + DeleteCompilerDirective("PROCEDURAL_TOOLKIT"); + dirty = true; + } +#endif + hasThirdPartyAssets = true; + } + + private void OnRAM2019(ref bool dirty) + { + if (!hasRAM2019) return; +#if !RAM2019 + if (GUILayout.Button("Enable R.A.M 2019")) + { + AddCompilerDirective("RAM2019"); + dirty = true; + } +#else + if (GUILayout.Button("Disable R.A.M 2019")) + { + DeleteCompilerDirective("RAM2019"); + dirty = true; + } +#endif + hasThirdPartyAssets = true; + } + + private void OnRTP(ref bool dirty) + { + if (!hasRTP) return; +#if !RTP + if (GUILayout.Button("Enable Relief Terrain Pack")) + { + AddCompilerDirective("RTP"); + dirty = true; + } +#else + if (GUILayout.Button("Disable Relief Terrain Pack")) + { + DeleteCompilerDirective("RTP"); + dirty = true; + } +#endif + hasThirdPartyAssets = true; + } + + private void OnRoadArchitect(ref bool dirty) + { + if (!hasRoadArchitect) return; + +#if !ROADARCHITECT + if (GUILayout.Button("Enable Road Architect")) + { + AddCompilerDirective("ROADARCHITECT"); + dirty = true; + } +#else + if (GUILayout.Button("Disable Road Architect")) + { + DeleteCompilerDirective("ROADARCHITECT"); + dirty = true; + } +#endif + hasThirdPartyAssets = true; + } + + private void OnResultNameGUI() + { + EditorGUILayout.BeginVertical(GUI.skin.box); + showResultName = EditorGUILayout.Foldout(showResultName, "Result GameObject name: "); + if (showResultName) + { + resultName = EditorGUILayout.TextField("", resultName); + GUILayout.Label("Example:\nRWT_{cx}x{cy} = RWT_4x4"); + + DrawResultTokens(); + + appendResultNameIndex = GUILayout.Toggle(appendResultNameIndex, "Append index if GameObject already exists?"); + } + EditorGUILayout.EndVertical(); + } + + private void OnTerrainNameGUI() + { + EditorGUILayout.BeginVertical(GUI.skin.box); + showTerrainNames = EditorGUILayout.Foldout(showTerrainNames, "Terrain GameObjects name: "); + if (showTerrainNames) + { + terrainName = EditorGUILayout.TextField("", terrainName); + GUILayout.Label("Example:\nTerrain_{x}x{y} = Terrain_1x3"); + + DrawTerrainTokens(); + } + EditorGUILayout.EndVertical(); + } + + private void OnThirdPartyGUI(ref bool dirty) + { + EditorGUILayout.BeginVertical(GUI.skin.box); + showThirdPartyAssets = EditorGUILayout.Foldout(showThirdPartyAssets, "Third Party Assets:"); + if (showThirdPartyAssets) + { + hasThirdPartyAssets = false; + + OnBuildR2(ref dirty); + OnBuildR3(ref dirty); + OnEasyRoads(ref dirty); + //OnProceduralToolkit(ref dirty); + OnRAM2019(ref dirty); + OnRTP(ref dirty); + OnRoadArchitect(ref dirty); + OnVolumeGrass(ref dirty); + OnWorldStreamer(ref dirty); + + if (!hasThirdPartyAssets) GUILayout.Label("Third Party Assets not found."); + } + + EditorGUILayout.EndVertical(); + } + + private void OnVolumeGrass(ref bool dirty) + { + if (!hasVolumeGrass) return; + +#if !VOLUMEGRASS + if (GUILayout.Button("Enable Volume Grass")) + { + AddCompilerDirective("VOLUMEGRASS"); + dirty = true; + } +#else + if (GUILayout.Button("Disable Volume Grass")) + { + DeleteCompilerDirective("VOLUMEGRASS"); + dirty = true; + } +#endif + hasThirdPartyAssets = true; + } + + private void OnWorldStreamer(ref bool dirty) + { + if (!hasWorldStreamer) return; + +#if !WORLDSTREAMER + if (GUILayout.Button("Enable WorldStreamer")) + { + AddCompilerDirective("WORLDSTREAMER"); + dirty = true; + } +#else + if (GUILayout.Button("Disable WorldStreamer")) + { + DeleteCompilerDirective("WORLDSTREAMER"); + dirty = true; + } +#endif + hasThirdPartyAssets = true; + } + + [MenuItem("Window/Infinity Code/Real World Terrain/Settings")] + public static void OpenWindow() + { + wnd = GetWindow(false, "Settings"); + } + } +} diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainSettingsWindow.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainSettingsWindow.cs.meta new file mode 100644 index 000000000..4120a8d4f --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainSettingsWindow.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 1e2d352ec8995d9428a8fc49324b9420 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainUpdaterWindow.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainUpdaterWindow.cs new file mode 100644 index 000000000..8ca29afed --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainUpdaterWindow.cs @@ -0,0 +1,335 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Net; +using System.Text; +using System.Text.RegularExpressions; +using System.Xml; +using InfinityCode.RealWorldTerrain.Net; +using UnityEditor; +using UnityEngine; +using Debug = UnityEngine.Debug; + +namespace InfinityCode.RealWorldTerrain.Windows +{ + public class RealWorldTerrainUpdaterWindow : EditorWindow + { + private const string packageID = "Real World Terrain"; + private const string assetPrefix = "RealWorldTerrainWindow"; + private const string lastVersionKey = assetPrefix + "LastVersion"; + private const string lastVersionCheckKey = assetPrefix + "LastVersionCheck"; + private const string channelKey = assetPrefix + "UpdateChannel"; + private const string invoiceNumberKey = assetPrefix + "InvoiceNumber"; + + public static bool hasNewVersion = false; + + private static RealWorldTerrainUpdateChannel channel = RealWorldTerrainUpdateChannel.stable; + private string invoiceNumber; + private Vector2 scrollPosition; + private List updates; + private static string lastVersionID; + + private void CheckNewVersions() + { + if (string.IsNullOrEmpty(invoiceNumber)) + { + EditorUtility.DisplayDialog("Error", "Please enter the Invoice Number.", "OK"); + return; + } + + SavePrefs(); + + string updateKey = GetUpdateKey(); + GetUpdateList(updateKey); + } + + public static void CheckNewVersionAvailable() + { + if (EditorPrefs.HasKey(lastVersionKey)) + { + lastVersionID = EditorPrefs.GetString(lastVersionKey); + + if (CompareVersions()) + { + hasNewVersion = true; + return; + } + } + + const long ticksInHour = 36000000000; + + if (EditorPrefs.HasKey(lastVersionCheckKey)) + { + long lastVersionCheck = EditorPrefs.GetInt(lastVersionCheckKey) * ticksInHour; + if (DateTime.Now.Ticks - lastVersionCheck < 24 * ticksInHour) + { + return; + } + } + + EditorPrefs.SetInt(lastVersionCheckKey, (int)(DateTime.Now.Ticks / ticksInHour)); + + if (EditorPrefs.HasKey(channelKey)) channel = (RealWorldTerrainUpdateChannel)EditorPrefs.GetInt(channelKey); + else channel = RealWorldTerrainUpdateChannel.stable; + + if (channel == RealWorldTerrainUpdateChannel.stablePrevious) channel = RealWorldTerrainUpdateChannel.stable; + + WebClient client = new WebClient(); + + client.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded"; + client.UploadDataCompleted += delegate (object sender, UploadDataCompletedEventArgs response) + { + if (response.Error != null) + { + Debug.Log("Real World Terrain Updater: " + response.Error.Message); + return; + } + + string version = Encoding.UTF8.GetString(response.Result); + + try + { + string[] vars = version.Split('.'); + string[] vars2 = new string[4]; + vars2[0] = vars[0]; + vars2[1] = int.Parse(vars[1].Substring(0, 2)).ToString(); + vars2[2] = int.Parse(vars[1].Substring(2, 2)).ToString(); + vars2[3] = int.Parse(vars[1].Substring(4, 4)).ToString(); + version = string.Join(".", vars2); + } + catch (Exception) + { + Debug.Log("Real World Terrain Updater: Bad response"); + return; + } + + lastVersionID = version; + + hasNewVersion = CompareVersions(); + EditorApplication.update += SetLastVersion; + }; + client.UploadDataAsync(new Uri("https://infinity-code.com/products_update/getlastversion.php"), "POST", Encoding.UTF8.GetBytes("c=" + (int)channel + "&package=" + RealWorldTerrainDownloadManager.EscapeURL(packageID))); + } + + private static bool CompareVersions() + { + double v1 = GetDoubleVersion(RealWorldTerrainWindow.version); + double v2 = GetDoubleVersion(lastVersionID); + return v1 < v2; + } + + private static double GetDoubleVersion(string v) + { + string[] vs = v.Split(new[] { "." }, StringSplitOptions.RemoveEmptyEntries); + if (vs[1].Length < 2) vs[1] = "0" + vs[1]; + if (vs[2].Length < 2) vs[2] = "0" + vs[2]; + if (vs[3].Length < 4) + { + vs[3] = "000" + vs[3]; + vs[3] = vs[3].Substring(vs[3].Length - 4, 4); + } + v = vs[0] + "." + vs[1] + vs[2] + vs[3]; + double result; + if (!double.TryParse(v, out result)) result = 1; + return result; + } + + private static void SetLastVersion() + { + EditorPrefs.SetString(lastVersionKey, lastVersionID); + EditorApplication.update -= SetLastVersion; + } + + private string GetUpdateKey() + { + WebClient client = new WebClient(); + client.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded"; + string updateKey = client.UploadString("https://infinity-code.com/products_update/getupdatekey.php", + "key=" + invoiceNumber + "&package=" + RealWorldTerrainDownloadManager.EscapeURL(packageID)); + + return updateKey; + } + + private void GetUpdateList(string updateKey) + { + WebClient client = new WebClient(); + client.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded"; + + try + { + string response = client.UploadString("https://infinity-code.com/products_update/checkupdates.php", "k=" + RealWorldTerrainDownloadManager.EscapeURL(updateKey) + "&v=" + RealWorldTerrainWindow.version + "&c=" + (int)channel); + + XmlDocument doc = new XmlDocument(); + doc.LoadXml(response); + updates = new List(); + + foreach (XmlNode node in doc.DocumentElement.ChildNodes) updates.Add(new RealWorldTerrainUpdateItem(node)); + } + catch (Exception exception) + { + Debug.LogError(exception.Message); + } + } + + private void OnEnable() + { + invoiceNumber = EditorPrefs.HasKey(invoiceNumberKey) ? EditorPrefs.GetString(invoiceNumberKey) : ""; + + if (EditorPrefs.HasKey(channelKey)) channel = (RealWorldTerrainUpdateChannel)EditorPrefs.GetInt(channelKey); + else channel = RealWorldTerrainUpdateChannel.stable; + } + + private void OnDestroy() + { + SavePrefs(); + } + + private void OnGUI() + { + EditorGUILayout.BeginHorizontal(); + + invoiceNumber = EditorGUILayout.TextField("Invoice Number:", invoiceNumber).Trim(' '); + + GUIStyle helpStyle = new GUIStyle(); + helpStyle.margin = new RectOffset(2, 2, 2, 2); + + GUIContent helpContent = new GUIContent(RealWorldTerrainResources.helpIcon, "You can find out your Invoice Number in the email confirming the purchase, or page the user in Unity Asset Store.\nClick to go to the Unity Asset Store."); + if (GUILayout.Button(helpContent, helpStyle, GUILayout.ExpandWidth(false))) Process.Start("https://assetstore.unity.com/orders"); + + EditorGUILayout.EndHorizontal(); + + channel = (RealWorldTerrainUpdateChannel)EditorGUILayout.EnumPopup("Channel:", channel); + GUILayout.Label("Current version: " + RealWorldTerrainWindow.version); + + if (GUILayout.Button("Check new versions")) CheckNewVersions(); + + scrollPosition = EditorGUILayout.BeginScrollView(scrollPosition); + + if (updates != null) + { + foreach (RealWorldTerrainUpdateItem update in updates) update.Draw(); + if (updates.Count == 0) GUILayout.Label("No updates"); + } + + EditorGUILayout.EndScrollView(); + } + + [MenuItem("Window/Infinity Code/Real World Terrain/Check Updates", false, 1999)] + public static void OpenWindow() + { + GetWindow(false, "Real World Terrain Updater", true); + } + + private void SavePrefs() + { + EditorPrefs.SetString(invoiceNumberKey, invoiceNumber); + EditorPrefs.SetInt(channelKey, (int)channel); + } + } + + public class RealWorldTerrainUpdateItem + { + private string version; + private int type; + private string changelog; + private string download; + private string date; + + private static GUIStyle _changelogStyle; + private static GUIStyle _titleStyle; + + private static GUIStyle changelogStyle + { + get + { + if (_changelogStyle == null) _changelogStyle = new GUIStyle(EditorStyles.label) {wordWrap = true}; + return _changelogStyle; + } + } + + private static GUIStyle titleStyle + { + get + { + if (_titleStyle == null) _titleStyle = new GUIStyle(EditorStyles.boldLabel) {alignment = TextAnchor.MiddleCenter}; + return _titleStyle; + } + } + + public string typeStr + { + get { return Enum.GetName(typeof(RealWorldTerrainUpdateChannel), type); } + } + + public RealWorldTerrainUpdateItem(XmlNode node) + { + version = node["Version"].InnerXml; + type = int.Parse(node["Type"].InnerXml); + changelog = Unescape(node["ChangeLog"].InnerXml); + download = node["Download"].InnerXml; + date = node["Date"].InnerXml; + + string[] vars = version.Split('.'); + string[] vars2 = new string[4]; + vars2[0] = vars[0]; + vars2[1] = int.Parse(vars[1].Substring(0, 2)).ToString(); + vars2[2] = int.Parse(vars[1].Substring(2, 2)).ToString(); + vars2[3] = int.Parse(vars[1].Substring(4, 4)).ToString(); + version = string.Join(".", vars2); + } + + public void Draw() + { + GUILayout.BeginVertical(GUI.skin.box); + GUILayout.Label("Version: " + version + " (" + typeStr + "). " + date, titleStyle); + + GUILayout.Label(changelog, changelogStyle); + + EditorGUILayout.BeginHorizontal(); + + if (GUILayout.Button("Download")) + { + Process.Start("https://infinity-code.com/products_update/download.php?k=" + download); + } + + if (GUILayout.Button("Copy download link", GUILayout.ExpandWidth(false))) + { + EditorGUIUtility.systemCopyBuffer = "https://infinity-code.com/products_update/download.php?k=" + download; + EditorUtility.DisplayDialog("Success", + "Download link is copied to the clipboard.\nOpen a browser and paste the link into the address bar.", + "OK"); + } + + EditorGUILayout.EndHorizontal(); + + GUILayout.EndVertical(); + } + + private static string Unescape(string str) + { + return Regex.Replace(str, @"&(\w+);", delegate (Match match) + { + string v = match.Groups[1].Value; + if (v == "amp") return "&"; + if (v == "lt") return "<"; + if (v == "gt") return ">"; + if (v == "quot") return "\""; + if (v == "apos") return "'"; + return match.Value; + }); + } + } + + public enum RealWorldTerrainUpdateChannel + { + stable = 10, + stablePrevious = 15, + releaseCandidate = 20, + beta = 30, + alpha = 40, + working = 50 + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainUpdaterWindow.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainUpdaterWindow.cs.meta new file mode 100644 index 000000000..bcca756ae --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainUpdaterWindow.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 110ed232e8ee3294cadbf75cd6566785 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWaterMaskConverter.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWaterMaskConverter.cs new file mode 100644 index 000000000..eeb603ba0 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWaterMaskConverter.cs @@ -0,0 +1,189 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.IO; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Windows +{ + public class RealWorldTerrainWaterMaskConverter : EditorWindow + { + private string inputFile; + private int width; + private int height; + private Depth depth = Depth.eight; + private RealWorldTerrainByteOrder byteOrder = RealWorldTerrainByteOrder.Windows; + private int threshold = 128; + + private void Convert() + { + if (!Validate()) return; + + string outputFile = EditorUtility.SaveFilePanel("Save Water Mask", "", "WaterMask.bytes", "bytes"); + if (string.IsNullOrEmpty(outputFile)) return; + + FileStream stream = File.OpenRead(inputFile); + BinaryReader reader = new BinaryReader(stream); + int countBytes = depth == Depth.eight ? 1 : 2; + int bufferSize = 8192 * countBytes; + byte[] buffer = new byte[bufferSize]; + byte[] output = new byte[Mathf.CeilToInt(width * height / 8f) + 8]; + + MemoryStream ms = new MemoryStream(output); + BinaryWriter writer = new BinaryWriter(ms); + writer.Write(width); + writer.Write(height); + writer.Close(); + + long outputIndex = 64; + int bufferIndex = 0; + int bufferCount = 0; + int value = 0; + + int delimiter = depth == Depth.eight ? 1 : 256; + + while ((bufferCount = reader.Read(buffer, bufferIndex, bufferSize)) > 0) + { + for (int i = 0; i < bufferCount; i++) + { + if (depth == Depth.sixteen) + { + if (i % 2 == 0) + { + value = buffer[i]; + continue; + } + + if (byteOrder == RealWorldTerrainByteOrder.Windows) + { + value += buffer[i] * 256; + } + else + { + value = buffer[i] + value * 256; + } + } + else + { + value = buffer[i]; + } + + value /= delimiter; + + int bitIndex = (int)(outputIndex % 8); + int bit = value > threshold ? 1 : 0; + byte o = (byte)(output[outputIndex / 8] | (bit << bitIndex)); + output[outputIndex / 8] = o; + outputIndex++; + } + } + + reader.Close(); + stream.Close(); + + File.WriteAllBytes(outputFile, output); + AssetDatabase.Refresh(); + + EditorUtility.DisplayDialog("Success", "Water mask successfully saved.", "OK"); + } + + private void OnGUI() + { + ProcessDragAndDrop(); + + EditorGUILayout.HelpBox("Tool to convert RAW files to bitmask for water generation.", MessageType.Info); + + EditorGUILayout.BeginHorizontal(); + inputFile = EditorGUILayout.TextField("Input File", inputFile); + if (GUILayout.Button("...", GUILayout.ExpandWidth(false))) + { + inputFile = EditorUtility.OpenFilePanel("Select Input File", inputFile, "raw"); + } + + EditorGUILayout.EndHorizontal(); + + width = EditorGUILayout.IntField("Width", width); + height = EditorGUILayout.IntField("Height", height); + depth = (Depth)EditorGUILayout.EnumPopup("Depth", depth); + if (depth == Depth.sixteen) + { + byteOrder = (RealWorldTerrainByteOrder)EditorGUILayout.EnumPopup("Byte Order", byteOrder); + } + threshold = EditorGUILayout.IntField("Threshold", threshold); + + if (GUILayout.Button("Convert")) + { + Convert(); + } + } + + private void ProcessDragAndDrop() + { + Event e = Event.current; + Rect rect = new Rect(0, 0, position.width, position.height); + + switch (e.type) + { + case EventType.DragUpdated: + case EventType.DragPerform: + if (!rect.Contains(e.mousePosition)) return; + if (DragAndDrop.paths.Length != 1) return; + if (!string.IsNullOrEmpty(inputFile)) return; + + DragAndDrop.visualMode = DragAndDropVisualMode.Copy; + + if (e.type != EventType.DragPerform) return; + + DragAndDrop.AcceptDrag(); + + inputFile = DragAndDrop.paths[0]; + + break; + } + } + + public static void OpenWindow() + { + GetWindow(true, "Raw to Water Mask Converter", true); + } + + private bool Validate() + { + if (string.IsNullOrEmpty(inputFile)) + { + EditorUtility.DisplayDialog("Error", "Input file is empty.", "OK"); + return false; + } + + if (!File.Exists(inputFile)) + { + EditorUtility.DisplayDialog("Error", "Input file does not exist.", "OK"); + return false; + } + + if (width <= 0 || height <= 0) + { + EditorUtility.DisplayDialog("Error", "Width and height must be greater than zero.", "OK"); + return false; + } + + FileInfo info = new FileInfo(inputFile); + int countBytes = depth == Depth.eight ? 1 : 2; + if (info.Length != width * height * countBytes) + { + EditorUtility.DisplayDialog("Error", "File size does not match the specified width, height and depth.", "OK"); + return false; + } + + return true; + } + + public enum Depth + { + eight, + sixteen, + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWaterMaskConverter.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWaterMaskConverter.cs.meta new file mode 100644 index 000000000..f230fa745 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWaterMaskConverter.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 52357ae39ca24d140b8557d6267a7b83 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindow.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindow.cs new file mode 100644 index 000000000..35976f3d7 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindow.cs @@ -0,0 +1,402 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.Collections.Generic; +using System.IO; +using System.Threading; +using InfinityCode.RealWorldTerrain.Generators; +using InfinityCode.RealWorldTerrain.Net; +using InfinityCode.RealWorldTerrain.Phases; +using UnityEditor; +using UnityEngine; +using Debug = UnityEngine.Debug; + +namespace InfinityCode.RealWorldTerrain.Windows +{ + public class RealWorldTerrainWindow : EditorWindow + { + /// + /// Current version number + /// + public const string version = "4.9.4.1"; + + /// + /// The action that occurs when the user aborts the generation. + /// + public static Action OnCaptureCanceled; + + /// + /// The action that occurs when the generation is completed. + /// + public static Action OnCaptureCompleted; + + /// + /// The action that occurs when the generation is started. + /// + public static Action OnCaptureStarted; + + public static RealWorldTerrainContainer container; + public static bool generateInThread; + public static RealWorldTerrainMonoBase generateTarget; + public static RealWorldTerrainGenerateType generateType = RealWorldTerrainGenerateType.full; + public static bool isCapturing; + public static float progress; + public static RealWorldTerrainPrefs prefs; + public static RealWorldTerrainItem[,] terrains; + public static RealWorldTerrainWindow wnd; + + private static int textureLevel; + private static Thread thread; + + public static void CancelCapture() + { + Dispose(); + + if (OnCaptureCanceled != null) OnCaptureCanceled(); + } + + public static void CancelInMainThread() + { + EditorApplication.update += OnCancelInMainThread; + } + + private static bool CheckFields() + { + if (prefs.resultType == RealWorldTerrainResultType.gaiaStamp) + { +#if !GAIA_PRESENT && !GAIA_PRO_PRESENT && !GAIA_2_PRESENT && !GAIA_2023 + Debug.Log("Gaia not found. Import Gaia into the project."); + return false; +#endif + } + else if (prefs.resultType == RealWorldTerrainResultType.rawFile) + { + string filename = prefs.rawFilename; + string ext = prefs.rawType == RealWorldTerrainRawType.RAW ? ".raw" : ".png"; + if (!filename.ToLower().EndsWith(ext)) filename += ext; + + if (File.Exists(filename)) + { + if (!EditorUtility.DisplayDialog("Warning", "File already exists. Overwrite?", "Overwrite", "Cancel")) + { + return false; + } + } + } + + if (prefs.leftLongitude >= prefs.rightLongitude) + { + Debug.Log("Bottom-Right Longitude must be greater than Top-Left Longitude"); + return false; + } + if (prefs.topLatitude <= prefs.bottomLatitude) + { + Debug.Log("Top-Left Latitude must be greater than Bottom-Right Latitude"); + return false; + } + if (prefs.leftLongitude < -180 || prefs.rightLongitude < -180 || prefs.leftLongitude > 180 || prefs.rightLongitude > 180) + { + Debug.Log("Longitude must be between -180 and 180."); + return false; + } + + if (prefs.elevationProvider == RealWorldTerrainElevationProvider.BingMaps) + { + RealWorldTerrainBingElevationGenerator.key = RealWorldTerrainPrefs.LoadPref("BingAPI", string.Empty); + if (string.IsNullOrEmpty(RealWorldTerrainBingElevationGenerator.key)) + { + Debug.LogError("Bing Maps API key is not specified."); + return false; + } + } + else if (prefs.elevationProvider == RealWorldTerrainElevationProvider.Mapbox) + { + if (string.IsNullOrEmpty(RealWorldTerrainPrefs.mapboxAccessToken)) + { + Debug.LogError("Mapbox Access Token is not specified."); + return false; + } + } + else if (prefs.elevationProvider == RealWorldTerrainElevationProvider.SRTM30) + { + RealWorldTerrainSRTM30ElevationGenerator.login = RealWorldTerrainPrefs.LoadPref("EarthDataLogin", string.Empty); + RealWorldTerrainSRTM30ElevationGenerator.pass = RealWorldTerrainPrefs.LoadPref("EarthDataPass", string.Empty); + if (string.IsNullOrEmpty(RealWorldTerrainSRTM30ElevationGenerator.login)) + { + Debug.LogError("EarthData username is not specified."); + return false; + } + if (string.IsNullOrEmpty(RealWorldTerrainSRTM30ElevationGenerator.pass)) + { + Debug.LogError("EarthData password is not specified."); + return false; + } + } + + if (prefs.elevationRange == RealWorldTerrainElevationRange.fixedValue && prefs.fixedMaxElevation - prefs.fixedMinElevation < 0) + { + Debug.LogError("EarthData password is not specified."); + return false; + } + + if (prefs.resultType == RealWorldTerrainResultType.terrain && !CheckHeightmapMemory()) return false; + return true; + } + + private static bool CheckHeightmapMemory() + { + int count = prefs.terrainCount; + long size = prefs.heightmapResolution * prefs.heightmapResolution * 4 * count; + size += prefs.baseMapResolution * prefs.baseMapResolution * 4 * count; + size += prefs.detailResolution * prefs.detailResolution * 4 * count; + size += 513 * 513 * 4 * count; //Alphamaps + + if (size > int.MaxValue * 0.75f) + { + return EditorUtility.DisplayDialog("Warning", "Too high settings. Perhaps out of memory error.", "Continue", "Abort"); + } + return true; + } + + public static void ClearCache() + { + RealWorldTerrainClearCacheWindow.OpenWindow(); + } + + public static void Dispose() + { + isCapturing = false; + + if (thread != null) + { + thread.Abort(); + thread = null; + } + + RealWorldTerrainElevationGenerator.Dispose(); + + RealWorldTerrainTextureGenerator.Dispose(); + RealWorldTerrainTerrainLayersGenerator.Dispose(); + RealWorldTerrainDownloadManager.Dispose(); + RealWorldTerrainRoadGenerator.Dispose(); + RealWorldTerrainRiverGenerator.Dispose(); + RealWorldTerrainGrassGenerator.Dispose(); + RealWorldTerrainTreesGenerator.Dispose(); + RealWorldTerrainBuildingGenerator.Dispose(); + RealWorldTerrainWaterMask.Dispose(); + + EditorUtility.UnloadUnusedAssetsImmediate(); + + RealWorldTerrainPhase.requiredPhases = null; + if (RealWorldTerrainPhase.activePhase != null) + { + try + { + RealWorldTerrainPhase.activePhase.Finish(); + } + catch + { + + } + } + RealWorldTerrainPhase.activePhase = null; + RealWorldTerrainPhase.activePhaseIndex = -1; + + if (wnd != null) wnd.Repaint(); + + GC.Collect(); + } + + private static void OnCancelInMainThread() + { + CancelCapture(); + EditorApplication.update -= OnCancelInMainThread; + } + + private void OnDestroy() + { + wnd = null; + prefs.Save(); + } + + private void OnEnable() + { + wnd = this; + if (prefs == null) prefs = new RealWorldTerrainPrefs(); + prefs.Load(); + + RealWorldTerrainWindowUI.OnEnable(); + + RealWorldTerrainUpdaterWindow.CheckNewVersionAvailable(); + } + + private void OnGUI() + { + RealWorldTerrainWindowUI.OnGUI(); + } + + [MenuItem("Window/Infinity Code/Real World Terrain/Open Real World Terrain", false, 0)] + private static void OpenWindow() + { + OpenWindow(RealWorldTerrainGenerateType.full); + } + + public static void OpenWindow(RealWorldTerrainGenerateType type, RealWorldTerrainMonoBase target = null) + { + generateTarget = target; + generateType = type; + wnd = GetWindow(false, "Real World Terrain"); + if (target == null) + { + prefs = new RealWorldTerrainPrefs(); + prefs.Load(); + } + else if (type == RealWorldTerrainGenerateType.full) + { + prefs = RealWorldTerrainPrefs.GetPrefs(target, true); + generateTarget = null; + } + else prefs = RealWorldTerrainPrefs.GetPrefs(target); + + if (type == RealWorldTerrainGenerateType.additional) + { + prefs.generateBuildings = false; + prefs.generateGrass = false; + prefs.generateRoads = false; + prefs.generateTrees = false; + } + + RealWorldTerrainWindowUI.InitTextureProviders(); + RealWorldTerrainUpdaterWindow.CheckNewVersionAvailable(); + } + + private static void PrepareStart() + { + generateInThread = RealWorldTerrainPrefs.LoadPref("GenerateInThread", true); + RealWorldTerrainOSMUtils.InitOSMServer(); + + if (!CheckFields()) return; + + if (prefs.resultType == RealWorldTerrainResultType.mesh || + prefs.resultType == RealWorldTerrainResultType.terrain) + { + prefs.textureCount = prefs.terrainCount; + } + + RealWorldTerrainElevationGenerator.elevations = new List(); + + if (generateType == RealWorldTerrainGenerateType.full || generateType == RealWorldTerrainGenerateType.terrain || generateType == RealWorldTerrainGenerateType.additional) + { + if (prefs.elevationProvider == RealWorldTerrainElevationProvider.SRTM) RealWorldTerrainSRTMElevationGenerator.Init(); + else if (prefs.elevationProvider == RealWorldTerrainElevationProvider.BingMaps) RealWorldTerrainBingElevationGenerator.Init(); + else if (prefs.elevationProvider == RealWorldTerrainElevationProvider.SRTM30) RealWorldTerrainSRTM30ElevationGenerator.Init(); + else if (prefs.elevationProvider == RealWorldTerrainElevationProvider.Mapbox) RealWorldTerrainMapboxElevationGenerator.Init(); + //else if (prefs.elevationProvider == RealWorldTerrainElevationProvider.ArcGIS) RealWorldTerrainArcGISElevationGenerator.Init(); + } + + if (generateType == RealWorldTerrainGenerateType.full || generateType == RealWorldTerrainGenerateType.texture) + { + if (prefs.generateTextures && prefs.resultType != RealWorldTerrainResultType.gaiaStamp) + { + if (prefs.textureResultType == RealWorldTerrainTextureResultType.regularTexture || prefs.textureResultType == RealWorldTerrainTextureResultType.hugeTexture) + { + RealWorldTerrainTextureGenerator.Init(); + } + else if (prefs.textureResultType == RealWorldTerrainTextureResultType.terrainLayers) + { + RealWorldTerrainTerrainLayersGenerator.Init(); + } + } + } + + if (generateType == RealWorldTerrainGenerateType.full || generateType == RealWorldTerrainGenerateType.additional) + { + if (prefs.resultType != RealWorldTerrainResultType.gaiaStamp) + { + RealWorldTerrainBuildingGenerator.Download(); + RealWorldTerrainRoadGenerator.Download(); + RealWorldTerrainTreesGenerator.Download(); + RealWorldTerrainGrassGenerator.Download(); + RealWorldTerrainRiverGenerator.Download(); + } + } + + if (prefs.mapType == null) prefs.mapType = RealWorldTerrainTextureProviderManager.FindMapType(prefs.mapTypeID); + prefs.mapTypeID = prefs.mapType.fullID; + prefs.mapTypeExtraFields = prefs.mapType.GetSettings(); + + if (generateTarget != null) prefs.Apply(generateTarget); + if (generateType == RealWorldTerrainGenerateType.full) RealWorldTerrainHistoryWindow.Add(prefs); + + isCapturing = true; + + RealWorldTerrainPhase.Init(); + + if (OnCaptureStarted != null) OnCaptureStarted(); + } + + public static void StartCapture() + { + prefs.Save(); + + if (generateType == RealWorldTerrainGenerateType.additional) + { + RealWorldTerrainMonoBase target = generateTarget; + + if (target is RealWorldTerrainContainer) + { + if (prefs.generateBuildings) RealWorldTerrainUtils.DeleteGameObject(target.transform, "Buildings"); + if (prefs.generateRoads) RealWorldTerrainUtils.DeleteGameObject(target.transform, "Roads"); + if (prefs.generateRivers) RealWorldTerrainUtils.DeleteGameObject(target.transform, "Rivers"); + if (prefs.generateTrees) + { + foreach (RealWorldTerrainItem item in (target as RealWorldTerrainContainer).terrains) + { + item.terrainData.treeInstances = new TreeInstance[0]; + item.terrainData.treePrototypes = new TreePrototype[0]; + } + } + if (prefs.generateGrass) + { + foreach (RealWorldTerrainItem item in (target as RealWorldTerrainContainer).terrains) + { + item.terrainData.detailPrototypes = new DetailPrototype[0]; + } + } + } + else + { + RealWorldTerrainItem item = target as RealWorldTerrainItem; + + string index = item.x + "x" + (item.container.terrainCount.y - item.y - 1); + if (prefs.generateBuildings) RealWorldTerrainUtils.DeleteGameObject(target.transform.parent, "Buildings " + index); + if (prefs.generateRoads) RealWorldTerrainUtils.DeleteGameObject(target.transform.parent, "Roads " + index); + if (prefs.generateTrees) + { + item.terrainData.treeInstances = new TreeInstance[0]; + item.terrainData.treePrototypes = new TreePrototype[0]; + } + if (prefs.generateGrass) item.terrainData.detailPrototypes = new DetailPrototype[0]; + } + } + + PrepareStart(); + } + + private void Update() + { + if (RealWorldTerrainPhase.activePhase == null) return; + + try + { + RealWorldTerrainPhase.activePhase.Enter(); + } + catch (Exception e) + { + Debug.LogException(e); + CancelCapture(); + } + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindow.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindow.cs.meta new file mode 100644 index 000000000..52d03f704 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindow.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: c13add9f7f666fc428a5c03c3b6fde57 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI.meta new file mode 100644 index 000000000..8c71daace --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b023828a76464b74785d0fdc0f4dd374 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Area.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Area.cs new file mode 100644 index 000000000..1484fe12a --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Area.cs @@ -0,0 +1,219 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.IO; +using System.Xml; +using InfinityCode.RealWorldTerrain.Windows; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain +{ + public static partial class RealWorldTerrainWindowUI + { + private static bool showCoordinates = true; + private static int coordinateMode = 0; + + private static string utmTLLatZone; + private static int utmTLLngZone; + private static int utmTLEasting; + private static int utmTLNorthing; + + private static string utmBRLatZone; + private static int utmBRLngZone; + private static int utmBREasting; + private static int utmBRNorthing; + + private static void AnchorUI() + { + prefs.useAnchor = Toggle(prefs.useAnchor, "Use Anchor", true, "The coordinates of the anchor point at which there will be a zero position in the scene."); + if (!prefs.useAnchor) return; + + prefs.anchorLatitude = DoubleField("Latitude", prefs.anchorLatitude, "Latitude of the Anchor. \nValues: -90 to 90.", "http://en.wikipedia.org/wiki/Latitude"); + prefs.anchorLongitude = DoubleField("Longitude", prefs.anchorLongitude, "Longitude of the Anchor. \nValues: -180 to 180.", "http://en.wikipedia.org/wiki/Longitude"); + } + + private static void ApplyUTMValues() + { + RealWorldTerrainUTM.ToLngLat(utmTLLatZone, utmTLLngZone, utmTLEasting, utmTLNorthing, out prefs.leftLongitude, out prefs.topLatitude); + RealWorldTerrainUTM.ToLngLat(utmBRLatZone, utmBRLngZone, utmBREasting, utmBRNorthing, out prefs.rightLongitude, out prefs.bottomLatitude); + coordinateMode = 0; + } + + private static void AreaUI() + { + EditorGUILayout.BeginVertical(GUI.skin.box); + showCoordinates = EditorGUILayout.Foldout(showCoordinates, "Area"); + if (!showCoordinates) + { + EditorGUILayout.EndVertical(); + return; + } + + prefs.title = EditorGUILayout.TextField("Title", prefs.title); + GUILayout.Space(10); + + CoordinatesUI(); + AnchorUI(); + AreaButtonsUI(); + + GUILayout.Space(10); + + EditorGUILayout.EndVertical(); + } + + private static void AreaButtonsUI() + { + GUI.SetNextControlName("InsertCoordsButton"); + if (GUILayout.Button("Insert the coordinates from the clipboard")) InsertCoords(); + if (GUILayout.Button("Run the helper")) RunHelper(); + if (prefs.resultType == RealWorldTerrainResultType.terrain && GUILayout.Button("Get the best settings for the specified coordinates")) RealWorldTerrainSettingsGeneratorWindow.OpenWindow(); + if (GUILayout.Button("Show Open Street Map")) + { + Vector2 center; + int zoom; + RealWorldTerrainMath.GetCenterPointAndZoom(new[] {prefs.leftLongitude, prefs.topLatitude, prefs.rightLongitude, prefs.bottomLatitude}, out center, out zoom); + Process.Start(string.Format(RealWorldTerrainCultureInfo.numberFormat, "http://www.openstreetmap.org/#map={0}/{1}/{2}", zoom, center.y, center.x)); + } + } + + private static void CoordinatesUI() + { + EditorGUI.BeginChangeCheck(); + coordinateMode = GUILayout.Toolbar(coordinateMode, new[] {"Decimal", "UTM"}); + if (EditorGUI.EndChangeCheck() && coordinateMode == 1) InitUTMValues(); + + if (coordinateMode == 0) DecimalCoordinatesUI(); + else UTMCoordinatesUI(); + } + + private static void DecimalCoordinatesUI() + { + GUILayout.Label("Top-Left"); + EditorGUI.indentLevel++; + prefs.topLatitude = DoubleField("Latitude", prefs.topLatitude, "Latitude of the Top-Left corner of the area. \nValues: -90 to 90.", "http://en.wikipedia.org/wiki/Latitude"); + prefs.leftLongitude = DoubleField("Longitude", prefs.leftLongitude, "Longitude of the Top-Left corner of the area. \nValues: -180 to 180.", "http://en.wikipedia.org/wiki/Longitude"); + EditorGUI.indentLevel--; + GUILayout.Space(10); + + GUILayout.Label("Bottom-Right"); + EditorGUI.indentLevel++; + prefs.bottomLatitude = DoubleField("Latitude", prefs.bottomLatitude, "Latitude of the Bottom-Right corner of the area. \nValues: -90 to 90.", "http://en.wikipedia.org/wiki/Latitude"); + prefs.rightLongitude = DoubleField("Longitude", prefs.rightLongitude, "Longitude of the Bottom-Right corner of the area. \nValues: -180 to 180.", "http://en.wikipedia.org/wiki/Longitude"); + EditorGUI.indentLevel--; + GUILayout.Space(10); + + if (prefs.topLatitude > 60 || prefs.bottomLatitude < -60) + { + if (prefs.elevationProvider == RealWorldTerrainElevationProvider.SRTM || prefs.elevationProvider == RealWorldTerrainElevationProvider.SRTM30) + { + EditorGUILayout.HelpBox("SRTM and SRTM30 only contain data in the latitude range 60 to -60. Please select another Elevation Provider.", MessageType.Error); + } + else if (/*prefs.elevationProvider == RealWorldTerrainElevationProvider.ArcGIS || */prefs.elevationProvider == RealWorldTerrainElevationProvider.BingMaps) + { + EditorGUILayout.HelpBox("For latitudes north of 60 degrees or south of -60 degrees, ArcGIS and Bing Maps contain data with an accuracy of 900 meters per value, which is very small for a good result. Try using Mapbox first.", MessageType.Warning); + } + } + } + + private static void InitUTMValues() + { + double e, n; + RealWorldTerrainUTM.ToUTM(prefs.leftLongitude, prefs.topLatitude, out utmTLLatZone, out utmTLLngZone, out e, out n); + utmTLEasting = (int) Math.Round(e); + utmTLNorthing = (int) Math.Round(n); + + RealWorldTerrainUTM.ToUTM(prefs.rightLongitude, prefs.bottomLatitude, out utmBRLatZone, out utmBRLngZone, out e, out n); + utmBREasting = (int) Math.Round(e); + utmBRNorthing = (int) Math.Round(n); + } + + public static void InsertCoords() + { + GUI.FocusControl("InsertCoordsButton"); + string nodeStr = EditorGUIUtility.systemCopyBuffer; + if (string.IsNullOrEmpty(nodeStr)) return; + + XmlDocument doc = new XmlDocument(); + try + { + doc.LoadXml(nodeStr); + XmlNode node = doc.FirstChild; + if (node.Name != "Coords" || node.Attributes == null) return; + + prefs.leftLongitude = RealWorldTerrainXMLExt.GetAttribute(node, "tlx"); + prefs.topLatitude = RealWorldTerrainXMLExt.GetAttribute(node, "tly"); + prefs.rightLongitude = RealWorldTerrainXMLExt.GetAttribute(node, "brx"); + prefs.bottomLatitude = RealWorldTerrainXMLExt.GetAttribute(node, "bry"); + + if (prefs.useAnchor) + { + if (EditorUtility.DisplayDialog("Remove Anchor", "Remove anchor point from previous settings?", "Remove", "Keep")) + { + prefs.useAnchor = false; + double mx1, my1, mx2, my2; + RealWorldTerrainGeo.LatLongToMercat(prefs.leftLongitude, prefs.topLatitude, out mx1, out my1); + RealWorldTerrainGeo.LatLongToMercat(prefs.rightLongitude, prefs.bottomLatitude, out mx2, out my2); + mx1 = (mx2 + mx1) / 2; + my1 = (my2 + my1) / 2; + RealWorldTerrainGeo.MercatToLatLong(mx1, my1, out prefs.anchorLongitude, out prefs.anchorLatitude); + } + } + + XmlNodeList POInodes = node.SelectNodes("//POI"); + prefs.POI = new List(); + foreach (XmlNode n in POInodes) prefs.POI.Add(new RealWorldTerrainPOI(n)); + + prefs.Save(); + } + catch { } + } + + public static void RunHelper() + { + string helperPath = "file://" + Directory.GetFiles(Application.dataPath, "RWT_Helper.html", SearchOption.AllDirectories)[0].Replace('\\', '/'); + if (Application.platform == RuntimePlatform.OSXEditor) helperPath = helperPath.Replace(" ", "%20"); + prefs.Save(); + Application.OpenURL(helperPath); + } + + private static void UTMCoordinatesUI() + { + GUILayout.Label("Top-Left"); + EditorGUI.indentLevel++; + + EditorGUILayout.BeginHorizontal(); + + utmTLLngZone = EditorGUILayout.IntField(utmTLLngZone); + utmTLLatZone = EditorGUILayout.TextField(utmTLLatZone); + utmTLEasting = EditorGUILayout.IntField(utmTLEasting); + utmTLNorthing = EditorGUILayout.IntField(utmTLNorthing); + + EditorGUILayout.EndHorizontal(); + + EditorGUI.indentLevel--; + GUILayout.Space(10); + + GUILayout.Label("Bottom-Right"); + EditorGUI.indentLevel++; + + EditorGUILayout.BeginHorizontal(); + + utmBRLngZone = EditorGUILayout.IntField(utmBRLngZone); + utmBRLatZone = EditorGUILayout.TextField(utmBRLatZone); + utmBREasting = EditorGUILayout.IntField(utmBREasting); + utmBRNorthing = EditorGUILayout.IntField(utmBRNorthing); + + EditorGUILayout.EndHorizontal(); + + EditorGUI.indentLevel--; + + if (GUILayout.Button("Apply")) ApplyUTMValues(); + + GUILayout.Space(10); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Area.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Area.cs.meta new file mode 100644 index 000000000..97f9ae73f --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Area.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 20ad28ba9a7439b45875728058473670 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Buildings.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Buildings.cs new file mode 100644 index 000000000..7c563ed86 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Buildings.cs @@ -0,0 +1,308 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System.Collections.Generic; +using UnityEditor; +using UnityEngine; + +#if BUILDR2 +using BuildR2; +#endif + +#if BUILDR3 +using BuildRCities; +#endif + +#if PROCEDURAL_TOOLKIT +using ProceduralToolkit.Buildings; +#endif + +namespace InfinityCode.RealWorldTerrain +{ + public static partial class RealWorldTerrainWindowUI + { + private static bool showBuildRCustomPresets; + private static List availableBuildingEngine; + private static List availableBuildingsIDs; + + private static void BuildR2Fields() + { +#if BUILDR2 + prefs.buildRCollider = (RealWorldTerrainBuildR2Collider)EditorGUILayout.EnumPopup("Collider", prefs.buildRCollider); + prefs.buildRRenderMode = (RealWorldTerrainBuildR2RenderMode)EditorGUILayout.EnumPopup("Render Mode", prefs.buildRRenderMode); + + if (prefs.buildR2Materials == null) prefs.buildR2Materials = new List{new RealWorldTerrainBuildR2Material()}; + else if (prefs.buildR2Materials.Count == 0) + { + prefs.buildR2Materials.Add(new RealWorldTerrainBuildR2Material()); + } + + EditorGUILayout.LabelField("Surfaces & Facades"); + + int removeIndex = -1; + + for (int i = 0; i < prefs.buildR2Materials.Count; i++) + { + RealWorldTerrainBuildR2Material material = prefs.buildR2Materials[i]; + EditorGUILayout.BeginHorizontal(i % 2 == 0 ? evenStyle : oddStyle); + + EditorGUILayout.LabelField(i + 1 + ": ", GUILayout.Width(30)); + EditorGUILayout.BeginVertical(); + + material.roofSurface = EditorGUILayout.ObjectField(new GUIContent("Roof Surface:"), material.roofSurface, typeof(Surface), false) as Surface; + material.roofType = (Roof.Types)EditorGUILayout.EnumPopup("Roof Type:", material.roofType); + + if (material.facades == null) material.facades = new List(); + + EditorGUILayout.LabelField("Facades:"); + int removeFacadeIndex = -1; + + for (int j = 0; j < material.facades.Count; j++) + { + EditorGUI.BeginChangeCheck(); + material.facades[j] = EditorGUILayout.ObjectField(material.facades[j], typeof(Facade), false) as Facade; + if (EditorGUI.EndChangeCheck()) + { + if (material.facades[j] == null) removeFacadeIndex = j; + } + } + + if (removeFacadeIndex != -1) material.facades.RemoveAt(removeFacadeIndex); + + Facade newFacade = EditorGUILayout.ObjectField(null, typeof(Facade), false) as Facade; + if (newFacade != null) material.facades.Add(newFacade); + + EditorGUILayout.EndVertical(); + + if (GUILayout.Button("X", GUILayout.ExpandWidth(false))) removeIndex = i; + + EditorGUILayout.EndHorizontal(); + } + + if (removeIndex != -1) prefs.buildR2Materials.RemoveAt(removeIndex); + if (GUILayout.Button("Add new item")) + { + prefs.buildR2Materials.Add(new RealWorldTerrainBuildR2Material()); + } +#endif + } + + private static void BuildR3Fields() + { +#if BUILDR3 + if (prefs.buildR3Materials == null) prefs.buildR3Materials = new List {new RealWorldTerrainBuildR3Material()}; + else if (prefs.buildR3Materials.Count == 0) + { + prefs.buildR3Materials.Add(new RealWorldTerrainBuildR3Material()); + } + + prefs.buildR3Collider = EditorGUILayout.Toggle("Generate Colliders", prefs.buildR3Collider); + + EditorGUILayout.LabelField("Surfaces & Facades"); + + int removeIndex = -1; + + for (int i = 0; i < prefs.buildR3Materials.Count; i++) + { + RealWorldTerrainBuildR3Material material = prefs.buildR3Materials[i]; + EditorGUILayout.BeginHorizontal(i % 2 == 0 ? evenStyle : oddStyle); + + EditorGUILayout.LabelField(i + 1 + ": ", GUILayout.Width(30)); + EditorGUILayout.BeginVertical(); + + EditorGUILayout.LabelField("Facades:"); + + material.wallFacade = EditorGUILayout.ObjectField("Wall:", material.wallFacade, typeof(FacadeAsset), false) as FacadeAsset; + material.roofTexture = EditorGUILayout.ObjectField("Roof:", material.roofTexture, typeof(DynamicTextureAsset), false) as DynamicTextureAsset; + material.roofType = (Roof.Types) EditorGUILayout.EnumPopup("Roof Type:", material.roofType); + + EditorGUILayout.EndVertical(); + + if (GUILayout.Button("X", GUILayout.ExpandWidth(false))) removeIndex = i; + + EditorGUILayout.EndHorizontal(); + } + + if (removeIndex != -1) prefs.buildR3Materials.RemoveAt(removeIndex); + if (GUILayout.Button("Add new item")) + { + prefs.buildR3Materials.Add(new RealWorldTerrainBuildR3Material()); + } +#endif + } + + private static void BuildingsUI() + { + EditorGUILayout.BeginVertical(GUI.skin.box); + prefs.generateBuildings = EditorGUILayout.Toggle("Generate buildings", prefs.generateBuildings); + + if (!prefs.generateBuildings) + { + EditorGUILayout.EndVertical(); + return; + } + + prefs.buildingGenerator = EditorGUILayout.IntPopup("Building generator", prefs.buildingGenerator, availableBuildingEngine.ToArray(), availableBuildingsIDs.ToArray()); + + prefs.buildingSingleRequest = Toggle("Download using a single request", prefs.buildingSingleRequest, false, "If enabled, one request will be sent for the entire area.\nIf disabled, the request will be split into small parts, which will make downloading data for megacities more stable."); + + if (prefs.buildingGenerator == 2) BuildR2Fields(); + else if (prefs.buildingGenerator == 5) BuildR3Fields(); + else if (prefs.buildingGenerator == 3) InstantiatePrefabsFields(); + else if (prefs.buildingGenerator == 4) ProceduralToolkitBuildingsFields(); + + RealWorldTerrainRangeI range = prefs.buildingFloorLimits; + float minLevelLimit = range.min; + float maxLevelLimit = range.max; + MinMaxSlider(string.Format("Floors if unknown ({0}-{1})", range.min, range.max), + ref minLevelLimit, ref maxLevelLimit, 1, 50, + "If no building height or number of floors is specified in the OSM data, a random value for floors in this range will be used."); + range.Set(minLevelLimit, maxLevelLimit); + + if (prefs.buildingGenerator == 0) BuiltInBuildingEngineFields(); + + EditorGUILayout.EndVertical(); + } + + private static void BuiltInBuildingEngineFields() + { + prefs.buildingFloorHeight = EditorGUILayout.FloatField("Floor Height", prefs.buildingFloorHeight); + prefs.buildingBottomMode = (RealWorldTerrainBuildingBottomMode)EditorGUILayout.EnumPopup("Bottom Mode", prefs.buildingBottomMode); + prefs.buildingBasementDepth = FloatField("Basement Depth", prefs.buildingBasementDepth, "Building depth below ground level in meters (Zero or positive number)."); + prefs.buildingUseColorTags = Toggle("Use Color Tags", prefs.buildingUseColorTags, false, "Whether to use color tag from OSM data? If so, a new material will be created for each building with a color."); + prefs.dynamicBuildings = Toggle("Dynamic Buildings", prefs.dynamicBuildings, false, "Dynamic buildings are generated at runtime and are not saved as meshes, thus bypassing the meshes import phase."); + prefs.buildingSaveInResult = Toggle("Save In Result", prefs.buildingSaveInResult, false, "Should meshes and materials be saved in the project? If disabled, you may lose non-dynamic meshes and materials when resetting the scene state (saving / loading, compiling scripts, etc.)."); + + GUILayout.Label("Building Materials"); + if (prefs.buildingMaterials == null) prefs.buildingMaterials = new List(); + for (int i = 0; i < prefs.buildingMaterials.Count; i++) + { + EditorGUILayout.BeginHorizontal(); + + GUILayout.Label((i + 1).ToString(), GUILayout.ExpandWidth(false)); + + EditorGUILayout.BeginVertical(); + + RealWorldTerrainBuildingMaterial material = prefs.buildingMaterials[i]; + material.wall = EditorGUILayout.ObjectField("Wall material", material.wall, typeof(Material), false) as Material; + material.roof = EditorGUILayout.ObjectField("Roof material", material.roof, typeof(Material), false) as Material; + material.tileSize = EditorGUILayout.Vector2Field("Tile Size (meters)", material.tileSize); + + EditorGUILayout.EndVertical(); + + if (GUILayout.Button("X", GUILayout.ExpandWidth(false))) + { + prefs.buildingMaterials[i] = null; + } + + EditorGUILayout.EndHorizontal(); + } + + prefs.buildingMaterials.RemoveAll(m => m == null); + + if (GUILayout.Button("Add material")) prefs.buildingMaterials.Add(new RealWorldTerrainBuildingMaterial()); + } + + private static void InitBuildingEngines() + { + availableBuildingEngine = new List { "Built-in", "Instantiate Prefabs" }; + availableBuildingsIDs = new List { 0, 3 }; +#if BUILDR2 + availableBuildingEngine.Add("BuildR2"); + availableBuildingsIDs.Add(2); +#endif +#if BUILDR3 + availableBuildingEngine.Add("BuildR3"); + availableBuildingsIDs.Add(5); +#endif +#if PROCEDURAL_TOOLKIT + availableBuildingEngine.Add("Procedural Toolkit"); + availableBuildingsIDs.Add(4); +#endif + } + + private static void InstantiatePrefabsFields() + { + EditorGUILayout.HelpBox("If you use highly detailed buildings, when generating areas that contain a lot of buildings (for example, cities), Unity Editor can crashes.", MessageType.Info); + EditorGUILayout.HelpBox("Prefab must contain a BoxCollider so that RWT can determine the boundaries of the building.", MessageType.Info); + + if (prefs.buildingPrefabs == null) prefs.buildingPrefabs = new List(); + + int removeIndex = -1; + + for (int i = 0; i < prefs.buildingPrefabs.Count; i++) + { + RealWorldTerrainBuildingPrefab b = prefs.buildingPrefabs[i]; + EditorGUILayout.BeginHorizontal(i % 2 == 0 ? evenStyle : oddStyle); + + EditorGUILayout.LabelField(i + 1 + ": ", GUILayout.Width(30)); + EditorGUILayout.BeginVertical(); + + b.prefab = EditorGUILayout.ObjectField("Prefab", b.prefab, typeof(GameObject), false) as GameObject; + b.sizeMode = (RealWorldTerrainBuildingPrefab.SizeMode) EditorGUILayout.EnumPopup("Size Mode", b.sizeMode); + b.heightMode = (RealWorldTerrainBuildingPrefab.HeightMode) EditorGUILayout.EnumPopup("Height Mode", b.heightMode); + + if (b.heightMode == RealWorldTerrainBuildingPrefab.HeightMode.fixedHeight) + { + b.fixedHeight = EditorGUILayout.FloatField("Height", b.fixedHeight); + } + + b.placementMode = (RealWorldTerrainBuildingPrefab.PlacementMode)EditorGUILayout.EnumPopup("Placement Mode", b.placementMode); + + if (b.tags == null) b.tags = new List(); + + EditorGUILayout.LabelField("Tags (if no tags, prefab can be used for all buildings)"); + + int tagRemoveIndex = -1; + + for (int j = 0; j < b.tags.Count; j++) + { + EditorGUILayout.BeginHorizontal(j % 2 == 0 ? evenStyle : oddStyle); + + EditorGUILayout.LabelField(j + 1 + ": ", GUILayout.Width(30)); + EditorGUILayout.BeginVertical(); + + RealWorldTerrainBuildingPrefab.OSMTag t = b.tags[j]; + t.key = EditorGUILayout.TextField("Key", t.key); + t.value = EditorGUILayout.TextField("Value", t.value); + + EditorGUILayout.EndVertical(); + + if (GUILayout.Button("X", GUILayout.ExpandWidth(false))) tagRemoveIndex = j; + + EditorGUILayout.EndHorizontal(); + } + + if (tagRemoveIndex != -1) b.tags.RemoveAt(tagRemoveIndex); + if (GUILayout.Button("Add tag")) + { + b.tags.Add(new RealWorldTerrainBuildingPrefab.OSMTag()); + } + + EditorGUILayout.EndVertical(); + + if (GUILayout.Button("X", GUILayout.ExpandWidth(false))) removeIndex = i; + + EditorGUILayout.EndHorizontal(); + } + + if (removeIndex != -1) prefs.buildingPrefabs.RemoveAt(removeIndex); + if (GUILayout.Button("Add new item")) + { + RealWorldTerrainBuildingPrefab newPrefab = new RealWorldTerrainBuildingPrefab(); + newPrefab.tags = new List(); + prefs.buildingPrefabs.Add(newPrefab); + } + } + + private static void ProceduralToolkitBuildingsFields() + { +#if PROCEDURAL_TOOLKIT + prefs.ptFacadePlanningStrategy = EditorGUILayout.ObjectField("Facade Planning Strategy", prefs.ptFacadePlanningStrategy, typeof(FacadePlanningStrategy), false) as FacadePlanningStrategy; + prefs.ptFacadeConstructionStrategy = EditorGUILayout.ObjectField("Facade Construction Strategy", prefs.ptFacadeConstructionStrategy, typeof(FacadeConstructionStrategy), false) as FacadeConstructionStrategy; + prefs.ptRoofPlanningStrategy = EditorGUILayout.ObjectField("Roof Planning Strategy", prefs.ptRoofPlanningStrategy, typeof(RoofPlanningStrategy), false) as RoofPlanningStrategy; + prefs.ptRoofConstructionStrategy = EditorGUILayout.ObjectField("Roof Construction Strategy", prefs.ptRoofConstructionStrategy, typeof(RoofConstructionStrategy), false) as RoofConstructionStrategy; +#endif + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Buildings.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Buildings.cs.meta new file mode 100644 index 000000000..5ce3506eb --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Buildings.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5c0c7518427817044a4d7e89f5306dfc +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.ElevationProvider.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.ElevationProvider.cs new file mode 100644 index 000000000..ac7b1874f --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.ElevationProvider.cs @@ -0,0 +1,137 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System.Diagnostics; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain +{ + public static partial class RealWorldTerrainWindowUI + { + private static string bingAPI; + private static string earthDataLogin; + private static string earthDataPass; + private static bool showElevationProvider = true; + + private static void BingMapsElevationExtraFields() + { + if (bingAPI == null) bingAPI = RealWorldTerrainPrefs.LoadPref("BingAPI", ""); + EditorGUILayout.HelpBox("Public Windows App or Public Windows Phone App have the 50.000 transaction within 24 hours. With the other chooses there's only 125.000 transactions within a year and the key will expire if exceeding it.", MessageType.Info); + GUILayout.BeginHorizontal(); + + EditorGUI.BeginChangeCheck(); + bingAPI = EditorGUILayout.TextField("Bing Maps API key", bingAPI); + if (EditorGUI.EndChangeCheck()) + { + if (bingAPI == "") RealWorldTerrainPrefs.DeletePref("BingAPI"); + else RealWorldTerrainPrefs.SetPref("BingAPI", bingAPI); + } + + if (string.IsNullOrEmpty(bingAPI)) + { + GUILayout.Box(new GUIContent(RealWorldTerrainResources.warningIcon, "Required"), RealWorldTerrainResources.helpStyle, GUILayout.ExpandWidth(false)); + } + + if (GUILayout.Button("Create Key", GUILayout.ExpandWidth(false))) Process.Start("http://msdn.microsoft.com/en-us/library/ff428642.aspx"); + GUILayout.EndHorizontal(); + } + + private static void ElevationProviderUI() + { + EditorGUILayout.BeginVertical(GUI.skin.box); + showElevationProvider = EditorGUILayout.Foldout(showElevationProvider, "Elevation Provider"); + + if (!showElevationProvider) + { + EditorGUILayout.EndVertical(); + return; + } + + prefs.elevationProvider = (RealWorldTerrainElevationProvider) EditorGUILayout.EnumPopup(prefs.elevationProvider); + if (prefs.elevationProvider == RealWorldTerrainElevationProvider.SRTM) + { + EditorGUILayout.HelpBox("The latitude range is 60°S - 60°N.\nThe resolution of the source data is 3 arc seconds(about 90 meters).", MessageType.Info); + } + else if (prefs.elevationProvider == RealWorldTerrainElevationProvider.SRTM30) + { + EditorGUILayout.HelpBox("The latitude range is 60°S - 60°N.\nThe resolution of the source data is 1 arc seconds(about 30 meters).", MessageType.Info); + } + else if (prefs.elevationProvider == RealWorldTerrainElevationProvider.BingMaps /*|| prefs.elevationProvider == RealWorldTerrainElevationProvider.ArcGIS*/) + { + EditorGUILayout.HelpBox("Global coverage.\nThe resolution of the source data:\nUSA - 10 meters, Global 56°S - 60°N - 90 meters, other (including poles) - 900 meters.", MessageType.Info); + } + else if (prefs.elevationProvider == RealWorldTerrainElevationProvider.Mapbox) + { + EditorGUILayout.HelpBox("Global coverage.\nThe resolution of the source data up to 5 meters.", MessageType.Info); + } + + ElevationProviderExtraFields(); + + EditorGUILayout.EndVertical(); + } + + private static void ElevationProviderExtraFields() + { + if (prefs.elevationProvider == RealWorldTerrainElevationProvider.SRTM || prefs.elevationProvider == RealWorldTerrainElevationProvider.SRTM30) + { + prefs.ignoreSRTMErrors = EditorGUILayout.Toggle("Ignore SRTM errors", prefs.ignoreSRTMErrors); + } + + if (prefs.elevationProvider == RealWorldTerrainElevationProvider.BingMaps) BingMapsElevationExtraFields(); + else if (prefs.elevationProvider == RealWorldTerrainElevationProvider.Mapbox) MapboxElevationExtraFields(); + else if (prefs.elevationProvider == RealWorldTerrainElevationProvider.SRTM30) SRTM30ExtraFields(); + } + + private static void MapboxElevationExtraFields() + { + MapboxAccessToken(); + GUILayout.Space(10); + } + + private static void SRTM30ExtraFields() + { + if (earthDataLogin == null || earthDataPass == null) + { + earthDataLogin = RealWorldTerrainPrefs.LoadPref("EarthDataLogin", ""); + earthDataPass = RealWorldTerrainPrefs.LoadPref("EarthDataPass", ""); + } + + GUILayout.BeginHorizontal(); + + EditorGUI.BeginChangeCheck(); + earthDataLogin = EditorGUILayout.TextField("EarthData username", earthDataLogin); + if (EditorGUI.EndChangeCheck()) + { + if (earthDataLogin == "") RealWorldTerrainPrefs.DeletePref("EarthDataLogin"); + else RealWorldTerrainPrefs.SetPref("EarthDataLogin", earthDataLogin); + } + + if (string.IsNullOrEmpty(earthDataLogin)) + { + GUILayout.Box(new GUIContent(RealWorldTerrainResources.warningIcon, "Required"), RealWorldTerrainResources.helpStyle, GUILayout.ExpandWidth(false)); + } + + GUILayout.EndHorizontal(); + + GUILayout.BeginHorizontal(); + EditorGUI.BeginChangeCheck(); + earthDataPass = EditorGUILayout.TextField("EarthData password", earthDataPass); + if (EditorGUI.EndChangeCheck()) + { + if (earthDataPass == "") RealWorldTerrainPrefs.DeletePref("EarthDataPass"); + else RealWorldTerrainPrefs.SetPref("EarthDataPass", earthDataPass); + } + + if (string.IsNullOrEmpty(earthDataPass)) + { + GUILayout.Button(new GUIContent(RealWorldTerrainResources.warningIcon, "Required"), RealWorldTerrainResources.helpStyle, GUILayout.ExpandWidth(false)); + } + + GUILayout.EndHorizontal(); + + if (GUILayout.Button("Register on EarthData", GUILayout.ExpandWidth(true))) Process.Start("https://urs.earthdata.nasa.gov/users/new"); + GUILayout.Space(10); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.ElevationProvider.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.ElevationProvider.cs.meta new file mode 100644 index 000000000..9a18a43b3 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.ElevationProvider.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8e450b8bd11e19442833ce383d90bcdd +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Grass.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Grass.cs new file mode 100644 index 000000000..8a2539b2e --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Grass.cs @@ -0,0 +1,113 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System.Collections.Generic; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain +{ + public static partial class RealWorldTerrainWindowUI + { + private static List availableGrassType; + + private static void GrassUI() + { + EditorGUILayout.BeginVertical(GUI.skin.box); + prefs.generateGrass = EditorGUILayout.Toggle("Generate grass", prefs.generateGrass); + if (!prefs.generateGrass) + { + EditorGUILayout.EndVertical(); + return; + } + + SelectGrassEngine(); + + if (prefs.grassEngine == "Standard") StandardGrassEngineFields(); + else if (prefs.grassEngine == "Volume Grass") VolumeGrassFields(); + else if (prefs.grassEngine == "Vegetation Studio") VegetationStudioGrassFields(); + + EditorGUILayout.Space(); + EditorGUILayout.EndVertical(); + } + + private static void VegetationStudioGrassFields() + { +#if VEGETATION_STUDIO || VEGETATION_STUDIO_PRO +#if !VEGETATION_STUDIO_PRO + prefs.vegetationStudioPackage = EditorGUILayout.ObjectField("Package", prefs.vegetationStudioPackage, typeof(AwesomeTechnologies.VegetationPackage), false) as AwesomeTechnologies.VegetationPackage; +#else + prefs.vegetationStudioPackage = EditorGUILayout.ObjectField("Package", prefs.vegetationStudioPackage, typeof(AwesomeTechnologies.VegetationSystem.VegetationPackagePro), false) as AwesomeTechnologies.VegetationSystem.VegetationPackagePro; +#endif + if (prefs.vegetationStudioGrassTypes == null) prefs.vegetationStudioGrassTypes = new List {1}; + + int removeIndex = -1; + for (int i = 0; i < prefs.vegetationStudioGrassTypes.Count; i++) + { + EditorGUILayout.BeginHorizontal(); + prefs.vegetationStudioGrassTypes[i] = EditorGUILayout.IntSlider("Vegetation Type " + (i + 1) + ": ", prefs.vegetationStudioGrassTypes[i], 1, 32); + if (prefs.vegetationStudioGrassTypes.Count > 1 && GUILayout.Button("X", GUILayout.ExpandWidth(false))) removeIndex = i; + EditorGUILayout.EndHorizontal(); + } + + if (removeIndex != -1) prefs.vegetationStudioGrassTypes.RemoveAt(removeIndex); + if (GUILayout.Button("Add item")) prefs.vegetationStudioGrassTypes.Add(1); +#endif + + } + + private static void VolumeGrassFields() + { +#if VOLUMEGRASS + EditorGUILayout.HelpBox("Important: points outside terrains can crash Unity Editor.", MessageType.Info); + prefs.volumeGrassOutsidePoints = (RealWorldTerrainVolumeGrassOutsidePoints) EditorGUILayout.EnumPopup("Outside Points", prefs.volumeGrassOutsidePoints); +#endif + } + + private static void StandardGrassEngineFields() + { + prefs.grassDensity = EditorGUILayout.IntField("Density (%)", prefs.grassDensity); + if (prefs.grassDensity < 1) prefs.grassDensity = 1; + if (prefs.grassPrefabs == null) prefs.grassPrefabs = new List(); + + EditorGUILayout.LabelField("Grass Prefabs"); + for (int i = 0; i < prefs.grassPrefabs.Count; i++) + { + prefs.grassPrefabs[i] = + (Texture2D) + EditorGUILayout.ObjectField(i + 1 + ":", prefs.grassPrefabs[i], typeof(Texture2D), false); + } + + Texture2D newGrass = + (Texture2D) + EditorGUILayout.ObjectField(prefs.grassPrefabs.Count + 1 + ":", null, typeof(Texture2D), false); + if (newGrass != null) prefs.grassPrefabs.Add(newGrass); + prefs.grassPrefabs.RemoveAll(go => go == null); + } + + private static void SelectGrassEngine() + { + if (availableGrassType.Count > 1) + { + int grassEngineIndex = availableGrassType.IndexOf(prefs.grassEngine); + if (grassEngineIndex == -1) grassEngineIndex = 0; + grassEngineIndex = EditorGUILayout.Popup("Grass engine ", grassEngineIndex, availableGrassType.ToArray()); + prefs.grassEngine = availableGrassType[grassEngineIndex]; + } + else prefs.grassEngine = availableGrassType[0]; + } + + private static void InitGrassEngines() + { + availableGrassType = new List(); + availableGrassType.Add("Standard"); +#if VOLUMEGRASS + availableGrassType.Add("Volume Grass"); +#endif +#if VEGETATION_STUDIO || VEGETATION_STUDIO_PRO + availableGrassType.Add("Vegetation Studio"); +#endif + + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Grass.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Grass.cs.meta new file mode 100644 index 000000000..612f72a66 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Grass.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7ddec60e0a0a6e6479429e629ec1cf14 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.HugeTexture.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.HugeTexture.cs new file mode 100644 index 000000000..bb11f1629 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.HugeTexture.cs @@ -0,0 +1,49 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System.Diagnostics; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain +{ + public static partial class RealWorldTerrainWindowUI + { +#if HUGETEXTURE + private static readonly string[] labelsHugeTexturePageSize = { "256", "512", "1024", "2048", "4096", "8192" }; + private static readonly int[] valuesHugeTexturePageSize = { 256, 512, 1024, 2048, 4096, 8192 }; +#endif + + private static void HugeTextureGUI() + { +#if HUGETEXTURE + EditorGUILayout.HelpBox("Important: when using Huge Texture, you cannot use Terrain Layers.", MessageType.Info); + + TextureSourceUI(); + + prefs.hugeTexturePageSize = EditorGUILayout.IntPopup("Page Size", prefs.hugeTexturePageSize, labelsHugeTexturePageSize, valuesHugeTexturePageSize); + prefs.hugeTextureCols = EditorGUILayout.IntField("Cols", prefs.hugeTextureCols); + prefs.hugeTextureRows = EditorGUILayout.IntField("Rows", prefs.hugeTextureRows); + + if (prefs.hugeTextureCols < 1) prefs.hugeTextureCols = 1; + if (prefs.hugeTextureRows < 1) prefs.hugeTextureRows = 1; + + long width = prefs.hugeTexturePageSize * prefs.hugeTextureCols; + long height = prefs.hugeTexturePageSize * prefs.hugeTextureRows; + EditorGUILayout.LabelField("Width", width.ToString()); + EditorGUILayout.LabelField("Height", height.ToString()); + EditorGUILayout.LabelField("Total Pages", (prefs.hugeTextureCols * prefs.hugeTextureCols).ToString()); + + if (width * height * 3 > 2147483648L) + { + EditorGUILayout.HelpBox("Width * Height * 3 must be less than or equal to 2 GB (2 147 483 648 bytes).", MessageType.Error); + } + + TextureMaxLevelUI(); +#else + EditorGUILayout.HelpBox("HugeTexture is not in the project.", MessageType.Warning); + if (GUILayout.Button("Huge Texture")) Process.Start("https://assetstore.unity.com/packages/tools/input-management/huge-texture-163576?aid=1100liByC&pubref=rwt_ht_asset"); +#endif + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.HugeTexture.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.HugeTexture.cs.meta new file mode 100644 index 000000000..dabf69b64 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.HugeTexture.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 50e2498c71e291142be31fe592cabb1f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.OSM.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.OSM.cs new file mode 100644 index 000000000..1bcbf60c6 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.OSM.cs @@ -0,0 +1,40 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using InfinityCode.RealWorldTerrain.Windows; +using UnityEditor; + +namespace InfinityCode.RealWorldTerrain +{ + public static partial class RealWorldTerrainWindowUI + { + private static void OsmUI() + { + EditorGUIUtility.labelWidth = LabelWidth + 20; + + if (RealWorldTerrainWindow.generateType == RealWorldTerrainGenerateType.additional) + { + prefs.elevationType = (RealWorldTerrainElevationType)EditorGUILayout.EnumPopup("Elevation", prefs.elevationType); + } + else prefs.elevationType = RealWorldTerrainElevationType.realWorld; + + + BuildingsUI(); + RoadsUI(); + RiversUI(); + + if (prefs.resultType == RealWorldTerrainResultType.terrain) + { + TreesUI(); + GrassUI(); + } + else + { + prefs.generateGrass = false; + prefs.generateTrees = false; + } + + EditorGUIUtility.labelWidth = LabelWidth; + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.OSM.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.OSM.cs.meta new file mode 100644 index 000000000..3299b01f4 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.OSM.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: bf8d945692cc56c4a8362979015b534a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.POI.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.POI.cs new file mode 100644 index 000000000..12aa108c5 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.POI.cs @@ -0,0 +1,68 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System.Collections.Generic; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain +{ + public static partial class RealWorldTerrainWindowUI + { + private static bool showPOI; + + private static void PoiUI() + { + EditorGUILayout.BeginHorizontal(EditorStyles.toolbar); + + if (prefs.POI == null) prefs.POI = new List(); + + if (GUILayout.Button(new GUIContent("+", "Add POI"), EditorStyles.toolbarButton, GUILayout.ExpandWidth(false))) + { + prefs.POI.Add(new RealWorldTerrainPOI("New POI " + (prefs.POI.Count + 1), + (prefs.leftLongitude + prefs.rightLongitude) / 2, (prefs.topLatitude + prefs.bottomLatitude) / 2)); + } + + GUILayout.Label(""); + + if (GUILayout.Button("Clear", EditorStyles.toolbarButton, GUILayout.ExpandWidth(false))) prefs.POI = new List(); + + EditorGUILayout.EndHorizontal(); + + if (prefs.POI.Count == 0) + { + GUILayout.Label("POI is not specified."); + } + + int poiIndex = 1; + int poiDeleteIndex = -1; + + foreach (RealWorldTerrainPOI poi in prefs.POI) + { + EditorGUILayout.BeginHorizontal(); + GUILayout.Label(poiIndex.ToString(), GUILayout.ExpandWidth(false)); + poi.title = EditorGUILayout.TextField("", poi.title); + GUILayout.Label("Lat", GUILayout.ExpandWidth(false)); + poi.y = EditorGUILayout.DoubleField("", poi.y, GUILayout.Width(80)); + GUILayout.Label("Lng", GUILayout.ExpandWidth(false)); + poi.x = EditorGUILayout.DoubleField("", poi.x, GUILayout.Width(80)); + if (GUILayout.Button(new GUIContent("X", "Delete POI"), GUILayout.ExpandWidth(false))) poiDeleteIndex = poiIndex - 1; + EditorGUILayout.EndHorizontal(); + + EditorGUILayout.BeginHorizontal(); + GUILayout.Space(16); + GUILayout.Label("Altitude", GUILayout.ExpandWidth(false)); + poi.altitude = EditorGUILayout.FloatField("", poi.altitude, GUILayout.Width(40)); + GUILayout.Label("Prefab", GUILayout.ExpandWidth(false)); + poi.prefab = EditorGUILayout.ObjectField("", poi.prefab, typeof(GameObject), false) as GameObject; + EditorGUILayout.EndHorizontal(); + + poiIndex++; + } + + if (poiDeleteIndex != -1) prefs.POI.RemoveAt(poiDeleteIndex); + + EditorGUILayout.Space(); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.POI.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.POI.cs.meta new file mode 100644 index 000000000..f747fd413 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.POI.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a2f50c1586916674592ee423773ff5ad +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Rivers.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Rivers.cs new file mode 100644 index 000000000..350eec255 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Rivers.cs @@ -0,0 +1,63 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System.Collections.Generic; +using InfinityCode.RealWorldTerrain.Generators; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain +{ + public static partial class RealWorldTerrainWindowUI + { + private static List availableRiverEngines; + private static string[] availableRiverEnginesArr; + + private static void InitRiverEngines() + { + availableRiverEngines = new List { + RealWorldTerrainRiverGenerator.BUILTIN_RIVER_ENGINE, +#if RAM2019 + RealWorldTerrainRiverGenerator.RAM2019_RIVER_ENGINE +#endif + }; + + availableRiverEnginesArr = availableRiverEngines.ToArray(); + } + + private static void RiversUI() + { + EditorGUILayout.BeginVertical(GUI.skin.box); + prefs.generateRivers = EditorGUILayout.Toggle("Generate rivers", prefs.generateRivers); + + if (!prefs.generateRivers) + { + EditorGUILayout.EndVertical(); + return; + } + + int riverEngineIndex = availableRiverEngines.IndexOf(prefs.riverEngine); + if (riverEngineIndex == -1) + { + riverEngineIndex = 0; + prefs.riverEngine = availableRiverEnginesArr[0]; + } + int ri = EditorGUILayout.Popup("River Engine", riverEngineIndex, availableRiverEnginesArr); + if (ri != riverEngineIndex) prefs.riverEngine = availableRiverEnginesArr[ri]; + + if (prefs.riverEngine == RealWorldTerrainRiverGenerator.BUILTIN_RIVER_ENGINE) + { + prefs.riverMaterial = EditorGUILayout.ObjectField("Material", prefs.riverMaterial, typeof(Material), false) as Material; + } + else if (prefs.riverEngine == RealWorldTerrainRiverGenerator.RAM2019_RIVER_ENGINE) + { +#if RAM2019 + prefs.ramAreaProfile = EditorGUILayout.ObjectField("Area Profile", prefs.ramAreaProfile, typeof(LakePolygonProfile), false) as LakePolygonProfile; + prefs.ramSplineProfile = EditorGUILayout.ObjectField("Spline Profile", prefs.ramSplineProfile, typeof(SplineProfile), false) as SplineProfile; +#endif + } + + EditorGUILayout.EndVertical(); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Rivers.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Rivers.cs.meta new file mode 100644 index 000000000..80cfc56b3 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Rivers.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 604a5631442b0a24b825aa03293ef1a4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Roads.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Roads.cs new file mode 100644 index 000000000..63bf86520 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Roads.cs @@ -0,0 +1,197 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.Collections.Generic; +using System.Linq; +using UnityEditor; +using UnityEngine; +using Object = UnityEngine.Object; + +#if EASYROADS3D +using EasyRoads3Dv3; +#endif + +namespace InfinityCode.RealWorldTerrain +{ + public static partial class RealWorldTerrainWindowUI + { + private const string EasyRoadsLabel = "EasyRoads3D"; + private const string RoadArchitectLabel = "Road Architect"; + + private static List availableRoadType; + private static string[] roadTypeNames; + +#if EASYROADS3D + private static ERModularBase roadNetwork; + private static bool needFindRoadNetwork = true; + private static string[] erRoadTypeNames; +#endif + + private static void EasyRoads3DFields() + { + prefs.erSnapToTerrain = EditorGUILayout.Toggle("Snap to Terrain", prefs.erSnapToTerrain); + + if (Math.Abs(prefs.erWidthMultiplier - 1) > float.Epsilon && prefs.erGenerateConnection) + { + EditorGUILayout.HelpBox("If you select any connection, the width of the road will be reset to the default value.", MessageType.Warning); + } + + prefs.roadTypeMode = (RealWorldTerrainRoadTypeMode)EditorGUILayout.EnumPopup("Mode", prefs.roadTypeMode); + if (prefs.roadTypeMode == RealWorldTerrainRoadTypeMode.simple) + { + prefs.erWidthMultiplier = EditorGUILayout.FloatField("Width Multiplier", prefs.erWidthMultiplier); + } + + prefs.erGenerateConnection = EditorGUILayout.Toggle("Generate Connections", prefs.erGenerateConnection); + if (prefs.erGenerateConnection) + { + EditorGUILayout.HelpBox("Important: the ability to generate connections is in beta. \nThis means that some roads may be not connected. \nWe and AndaSoft are working to improve this feature.", MessageType.Warning); + } + + if (prefs.roadTypeMode == RealWorldTerrainRoadTypeMode.simple) + { + prefs.roadTypes = (RealWorldTerrainRoadType)EditorGUILayout.EnumFlagsField("Road types", prefs.roadTypes); + } + else if (prefs.roadTypeMode == RealWorldTerrainRoadTypeMode.advanced) + { +#if EASYROADS3D + if (roadNetwork == null && needFindRoadNetwork) + { + roadNetwork = RealWorldTerrainUtils.FindObjectOfType(); + needFindRoadNetwork = false; + } + + if (roadNetwork == null) + { + EditorGUILayout.HelpBox("Mode - Advanced requires a road network in the scene.", MessageType.Error); + + if (GUILayout.Button("Find Road Network in scene")) + { + roadNetwork = RealWorldTerrainUtils.FindObjectOfType(); + } + + if (GUILayout.Button("Create Road Network")) + { + ERRoadNetwork newRoadNetwork = new ERRoadNetwork(); + roadNetwork = newRoadNetwork.roadNetwork; + } + } + + if (roadTypeNames == null) roadTypeNames = Enum.GetNames(typeof(RealWorldTerrainRoadType)); + + if (roadNetwork == null) + { + foreach (string name in roadTypeNames) EditorGUILayout.LabelField(ObjectNames.NicifyVariableName(name)); + } + else + { + if (erRoadTypeNames == null) UpdateERRoadTypes(); + + if (GUILayout.Button("Update EasyRoad3D Road Types")) UpdateERRoadTypes(); + + if (erRoadTypeNames != null) + { + if (prefs.erRoadTypes == null) prefs.erRoadTypes = new string[roadTypeNames.Length]; + if (prefs.erRoadTypes.Length != erRoadTypeNames.Length) Array.Resize(ref prefs.erRoadTypes, roadTypeNames.Length); + + for (int i = 0; i < roadTypeNames.Length; i++) + { + int index = 0; + string roadTypeName = prefs.erRoadTypes[i]; + + if (!string.IsNullOrEmpty(roadTypeName)) + { + for (int j = 0; j < erRoadTypeNames.Length; j++) + { + if (erRoadTypeNames[j] == roadTypeName) + { + index = j; + break; + } + } + } + + index = EditorGUILayout.Popup(ObjectNames.NicifyVariableName(roadTypeNames[i]), index, erRoadTypeNames); + if (index != 0) prefs.erRoadTypes[i] = erRoadTypeNames[index]; + else prefs.erRoadTypes[i] = string.Empty; + } + } + } +#endif + } + } + + private static void InitRoadEngines() + { + availableRoadType = new List(); +#if EASYROADS3D + availableRoadType.Add(EasyRoadsLabel); +#endif +#if ROADARCHITECT + availableRoadType.Add(RoadArchitectLabel); +#endif + + } + + private static void RoadArchitectFields() + { + prefs.roadTypeMode = RealWorldTerrainRoadTypeMode.simple; + prefs.roadTypes = (RealWorldTerrainRoadType)EditorGUILayout.EnumFlagsField("Road types", prefs.roadTypes); + } + + private static void RoadsUI() + { + if (availableRoadType.Count == 0) + { + prefs.generateRoads = false; + return; + } + + EditorGUILayout.BeginVertical(GUI.skin.box); + prefs.generateRoads = EditorGUILayout.Toggle("Generate roads", prefs.generateRoads); + + if (!prefs.generateRoads) + { + EditorGUILayout.EndVertical(); + return; + } + + EditorGUILayout.HelpBox("If the selected area contains cities, generation of roads can take a VERY long time.", MessageType.Info); + + SelectRoadEngine(); + + prefs.normalizeRoadDistances = EditorGUILayout.Toggle("Normalize Road Distances", prefs.normalizeRoadDistances); + + if (prefs.roadEngine == EasyRoadsLabel) EasyRoads3DFields(); + else if (prefs.roadEngine == RoadArchitectLabel) RoadArchitectFields(); + + EditorGUILayout.EndVertical(); + } + + private static void SelectRoadEngine() + { + if (availableRoadType.Count == 1) + { + EditorGUILayout.LabelField("Road engine - " + availableRoadType[0]); + prefs.roadEngine = availableRoadType[0]; + } + else + { + int roadEngineIndex = availableRoadType.IndexOf(prefs.roadEngine); + if (roadEngineIndex == -1) roadEngineIndex = 0; + roadEngineIndex = EditorGUILayout.Popup("Road engine", roadEngineIndex, availableRoadType.ToArray()); + prefs.roadEngine = availableRoadType[roadEngineIndex]; + } + } + + private static void UpdateERRoadTypes() + { +#if EASYROADS3D + ERRoadType[] erRoadTypes = roadNetwork.GetRoadTypes(); + if (erRoadTypes != null) erRoadTypeNames = new[] { "Ignore" }.Concat(erRoadTypes.Select(t => t.roadTypeName)).ToArray(); + else erRoadTypeNames = null; +#endif + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Roads.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Roads.cs.meta new file mode 100644 index 000000000..a06ce9a37 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Roads.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ccdf09dcd9e60ba4abf323ac7e51cee9 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Terrain.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Terrain.cs new file mode 100644 index 000000000..d722b3356 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Terrain.cs @@ -0,0 +1,213 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System.Diagnostics; +using System.Linq; +using System.Reflection; +using InfinityCode.RealWorldTerrain.Windows; +using UnityEditor; +using UnityEngine; +using Debug = UnityEngine.Debug; + +namespace InfinityCode.RealWorldTerrain +{ + public static partial class RealWorldTerrainWindowUI + { + private static readonly string[] labelsBaseMapRes = { "16", "32", "64", "128", "256", "512", "1024", "2048" }; + private static readonly int[] valuesBaseMapRes = { 16, 32, 64, 128, 256, 512, 1024, 2048 }; + private static bool showTerrains = true; + + private static void CountTerrainsUI() + { + if (prefs.resultType != RealWorldTerrainResultType.terrain && prefs.resultType != RealWorldTerrainResultType.mesh) return; + + GUILayout.BeginHorizontal(); + GUILayout.Label("Count terrains. X"); + prefs.terrainCount.x = Mathf.Max(EditorGUILayout.IntField(prefs.terrainCount.x), 1); + GUILayout.Label("Z"); + prefs.terrainCount.y = Mathf.Max(EditorGUILayout.IntField(prefs.terrainCount.y), 1); + DrawHelpButton("The number of terrains horizontally and vertically (XZ axis)."); + GUILayout.EndHorizontal(); + } + + private static void ElevationRangeUI() + { + if (prefs.resultType == RealWorldTerrainResultType.rawFile) return; + + prefs.elevationRange = (RealWorldTerrainElevationRange) EditorGUILayout.EnumPopup("Elevation range", prefs.elevationRange); + if (prefs.elevationRange == RealWorldTerrainElevationRange.autoDetect) + { + prefs.autoDetectElevationOffset.x = EditorGUILayout.FloatField("Min elevation offset", prefs.autoDetectElevationOffset.x); + prefs.autoDetectElevationOffset.y = EditorGUILayout.FloatField("Max elevation offset", prefs.autoDetectElevationOffset.y); + } + else if (prefs.elevationRange == RealWorldTerrainElevationRange.fixedValue) + { + prefs.fixedMinElevation = EditorGUILayout.FloatField("Min elevation", prefs.fixedMinElevation); + prefs.fixedMaxElevation = EditorGUILayout.FloatField("Max elevation", prefs.fixedMaxElevation); + } + else if (prefs.elevationRange == RealWorldTerrainElevationRange.realWorldValue) + { + EditorGUILayout.HelpBox("When using Elevation range - Real World Value, you can have steps in the hills.\nThis is due to the way the Unity Terrain Engine stores elevation data.\nUse Elevation range - Real World Value only for areas that have a very wide range of heights, and when you are sure that you really need it!", MessageType.Warning); + } + } + + private static void GaiaStampFields() + { +#if !GAIA_PRESENT && !GAIA_PRO_PRESENT && !GAIA_2_PRESENT && !GAIA_2023 + EditorGUILayout.HelpBox("Gaia not found. Import Gaia into the project.", MessageType.Error); +#endif + prefs.gaiaStampResolution = EditorGUILayout.IntField("Stamp Resolution", prefs.gaiaStampResolution); + } + + private static void GenerateUnderwaterUI() + { + prefs.generateUnderWater = EditorGUILayout.Toggle("Generate Underwater", prefs.generateUnderWater); + + if (!prefs.generateUnderWater) return; + + EditorGUI.indentLevel++; + int nodata = IntField( + "Max Underwater Depth", + prefs.nodataValue, + "SRTM v4.1 does not contain data on the underwater depths. Real World Terrain generates it by closest known areas of land. \nSpecify a value relative to sea level. \nFor example, if you want to get a depth of 200 meters, set the value \"-200\"." + ); + if (nodata < short.MinValue) nodata = short.MinValue; + if (nodata > short.MaxValue) nodata = short.MaxValue; + prefs.depthSharpness = FloatField( + "Depth Sharpness", + prefs.depthSharpness, + "Escarpment of the seabed. \nGreater value - steeper slope.\nUnknown Value = Average Neighbor Known Values - Depth Sharpness." + ); + if (prefs.depthSharpness < 0) prefs.depthSharpness = 0; + if (prefs.elevationProvider == RealWorldTerrainElevationProvider.BingMaps) prefs.bingMapsUseZeroAsUnknown = EditorGUILayout.Toggle("Zero Elevation is Unknown", prefs.bingMapsUseZeroAsUnknown); + prefs.nodataValue = (short) nodata; + prefs.waterDetectionSource = (RealWorldTerrainWaterDetectionSource)EditorGUILayout.EnumPopup("Water Detection Source", prefs.waterDetectionSource); + if (prefs.waterDetectionSource == RealWorldTerrainWaterDetectionSource.texture) + { + prefs.waterDetectionTexture = ObjectField("Water Detection Texture", prefs.waterDetectionTexture, typeof(Texture2D), "The texture of the current area where the water is white and the rest is black.\nThe coordinates of the borders of the texture must match the coordinates of the borders of the generated area.\nMust have Read / Write Enabled - ON.") as Texture2D; + } + else + { + prefs.waterDetectionBitMask = ObjectField("Water Detection BitMask", prefs.waterDetectionBitMask, typeof(TextAsset), "The bit mask of the current area where the water is 0 and the rest is 1.") as TextAsset; + if (GUILayout.Button("Open BitMask Convertor")) + { + RealWorldTerrainWaterMaskConverter.OpenWindow(); + } + } + EditorGUI.indentLevel--; + } + + private static void RawFileFields() + { + EditorGUILayout.BeginHorizontal(); + prefs.rawFilename = EditorGUILayout.TextField("Filename", prefs.rawFilename); + if (GUILayout.Button("...", GUILayout.ExpandWidth(false))) + { + GUI.FocusControl(null); + string ext = prefs.rawType == RealWorldTerrainRawType.RAW ? "raw" : "png"; + string rawFilename = EditorUtility.SaveFilePanel("Output RAW filename", Application.dataPath, "terrain." + ext, ext); + if (!string.IsNullOrEmpty(rawFilename)) prefs.rawFilename = rawFilename; + } + + EditorGUILayout.EndHorizontal(); + prefs.rawType = (RealWorldTerrainRawType) EditorGUILayout.EnumPopup("Type", prefs.rawType); + if (prefs.rawType == RealWorldTerrainRawType.RAW) prefs.rawByteOrder = (RealWorldTerrainByteOrder) EditorGUILayout.EnumPopup("Byte order", prefs.rawByteOrder); + prefs.rawWidth = EditorGUILayout.IntField("Width", prefs.rawWidth); + prefs.rawHeight = EditorGUILayout.IntField("Height", prefs.rawHeight); + } + + private static void TerrainDataSettings() + { + if (values2n1.All(v => v != prefs.heightmapResolution)) + { + prefs.heightmapResolution = Mathf.ClosestPowerOfTwo(prefs.heightmapResolution) + 1; + if (values2n1.All(v => v != prefs.heightmapResolution)) prefs.heightmapResolution = 129; + } + + prefs.heightmapResolution = + IntPopup("Heightmap Resolution", prefs.heightmapResolution, labels2n1, values2n1, + "The Heightmap resolution for each Terrain.", "http://docs.unity3d.com/Documentation/Components/terrain-UsingTerrains.html"); + + prefs.detailResolution = IntField("Detail Resolution", prefs.detailResolution, + "The resolution of the map that controls grass and detail meshes. For performance reasons (to save on draw calls) the lower you set this number the better.", + "http://docs.unity3d.com/Documentation/Components/terrain-UsingTerrains.html"); + + prefs.detailResolution = Mathf.Clamp(prefs.detailResolution, 32, 4096); + + prefs.resolutionPerPatch = IntField("Resolution Per Patch", prefs.resolutionPerPatch, + "Specifies the size in pixels of each individually rendered detail patch. A larger number reduces draw calls, but might increase triangle count since detail patches are culled on a per batch basis. A recommended value is 16. If you use a very large detail object distance and your grass is very sparse, it makes sense to increase the value.", + "http://docs.unity3d.com/Documentation/ScriptReference/TerrainData.SetDetailResolution.html"); + prefs.resolutionPerPatch = Mathf.Clamp(prefs.resolutionPerPatch, 8, 1000); + + if (prefs.detailResolution % prefs.resolutionPerPatch != 0) + { + prefs.detailResolution = prefs.detailResolution / prefs.resolutionPerPatch * prefs.resolutionPerPatch; + if (prefs.detailResolution < 32) prefs.detailResolution = 32; + } + + prefs.controlTextureResolution = IntPopup("Control Texture Resolution", prefs.controlTextureResolution, labels2n, values2n, + "Resolution of the splatmap that controls the blending of the different terrain textures.", + "http://docs.unity3d.com/Documentation/Components/terrain-UsingTerrains.html"); + + prefs.baseMapResolution = IntPopup("Base Map Resolution", prefs.baseMapResolution, labelsBaseMapRes, valuesBaseMapRes, + "The resolution of the composite texture that is used in place of the splat map at certain distances.", + "http://docs.unity3d.com/Documentation/Components/terrain-UsingTerrains.html"); + + if (!valuesBaseMapRes.Contains(prefs.baseMapResolution)) prefs.baseMapResolution = 1024; + } + + private static void TerrainFullFields() + { + prefs.resultType = (RealWorldTerrainResultType)EnumPopup("Result", prefs.resultType, "The type of the generated object."); + + CountTerrainsUI(); + + prefs.alignWaterLine = Toggle("Align Water Line", prefs.alignWaterLine, false, + "If disabled terrains will have zero Y at minimum elevation.\nIf enabled, terrains will have zero Y on the water line(zero elevation)."); + + if (prefs.resultType == RealWorldTerrainResultType.gaiaStamp) GaiaStampFields(); + else if (prefs.resultType == RealWorldTerrainResultType.rawFile) RawFileFields(); + else TerrainSizeTypeUI(); + + ElevationRangeUI(); + } + + private static void TerrainSizeTypeUI() + { + prefs.sizeType = IntPopup( + "Size type", + prefs.sizeType, new[] {"Real world sizes", "Mercator sizes", "Fixed size"}, + new[] {0, 1, 2}, + "Specifies whether the projection will be determined by the size of the area.", + new[] {"http://en.wikipedia.org/wiki/Cylindrical_equal-area_projection", "http://en.wikipedia.org/wiki/Mercator_projection"} + ); + + if (prefs.sizeType == 2) + { + prefs.fixedTerrainSize.x = FloatField("Terrain Width", prefs.fixedTerrainSize.x, "Width of each terrain (units)"); + prefs.fixedTerrainSize.z = FloatField("Terrain Length", prefs.fixedTerrainSize.z, "Length of each terrain (units)"); + prefs.terrainScale.y = FloatField("Scale Y", prefs.terrainScale.y, "The scale of the elevations."); + } + else prefs.terrainScale = Vector3Field("Scale", prefs.terrainScale, "The scale of the resulting objects."); + } + + private static void TerrainUI() + { + if (generateType == RealWorldTerrainGenerateType.full) TerrainFullFields(); + + if (prefs.resultType == RealWorldTerrainResultType.terrain) GenerateUnderwaterUI(); + else prefs.generateUnderWater = false; + + + if (prefs.resultType == RealWorldTerrainResultType.terrain) TerrainDataSettings(); + else if (prefs.resultType == RealWorldTerrainResultType.mesh) + { + prefs.heightmapResolution = + RealWorldTerrainMath.Limit(IntField("Height Map Resolution", prefs.heightmapResolution, + "Heightmap resolution for each mesh."), 8, 250); + } + + GUILayout.Space(10); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Terrain.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Terrain.cs.meta new file mode 100644 index 000000000..c72dacc5a --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Terrain.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 29aa7a479c145ba4ab7bd267c09fb7b1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.TerrainLayers.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.TerrainLayers.cs new file mode 100644 index 000000000..5a20fde31 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.TerrainLayers.cs @@ -0,0 +1,202 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System.Collections.Generic; +using UnityEditor; +using UnityEditorInternal; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain +{ + public static partial class RealWorldTerrainWindowUI + { + private const float TerrainLayerLineHeight = RealWorldTerrainVectorTerrainLayerFeature.TerrainLayerLineHeight; + private static ReorderableList terrainLayersList; + + private static void AddVectorTerrainLayerFeature(ReorderableList list) + { + prefs.vectorTerrainLayers.Add(new RealWorldTerrainVectorTerrainLayerFeature()); + } + + private static int DrawVectorLayerData(RealWorldTerrainVectorTerrainLayerFeature.Rule rule, int index, ref Rect r) + { + int ret = 0; // 0 - do nothing, -1 - remove, 1 - update height + + GUI.Label(new Rect(r.x, r.y, r.width - 20, r.height), "Rule " + (index + 1) + ": "); + if (GUI.Button(new Rect(r.xMax - 20, r.y, 20, r.height), "X")) ret = -1; + r.y += TerrainLayerLineHeight; + + EditorGUI.BeginChangeCheck(); + rule.layer = (RealWorldTerrainMapboxLayer)EditorGUI.EnumPopup(r, "Layer", rule.layer); + r.y += TerrainLayerLineHeight; + if (EditorGUI.EndChangeCheck()) + { + rule.extra = ~0; + ret = 1; + } + + if (rule.hasExtra) + { + if (rule.layer == RealWorldTerrainMapboxLayer.landuse) + { + rule.extra = (int)(RealWorldTerrainMapboxLanduse)EditorGUI.EnumFlagsField(r, "Classes", (RealWorldTerrainMapboxLanduse)rule.extra); + r.y += TerrainLayerLineHeight; + } + else if (rule.layer == RealWorldTerrainMapboxLayer.landuse_overlay) + { + rule.extra = (int)(RealWorldTerrainMapboxLanduseOverlay)EditorGUI.EnumFlagsField(r, "Classes", (RealWorldTerrainMapboxLanduseOverlay)rule.extra); + r.y += TerrainLayerLineHeight; + } + else if (rule.layer == RealWorldTerrainMapboxLayer.waterway) + { + rule.extra = (int)(RealWorldTerrainMapboxWaterway)EditorGUI.EnumFlagsField(r, "Classes", (RealWorldTerrainMapboxWaterway)rule.extra); + r.y += TerrainLayerLineHeight; + } + else if (rule.layer == RealWorldTerrainMapboxLayer.structure) + { + rule.extra = (int)(RealWorldTerrainMapboxStructure)EditorGUI.EnumFlagsField(r, "Classes", (RealWorldTerrainMapboxStructure)rule.extra); + r.y += TerrainLayerLineHeight; + } + } + + return ret; + } + + private static void DrawVectorTerrainBaseLayers() + { + EditorGUILayout.LabelField("Base Layers"); + if (prefs.vectorTerrainBaseLayers == null) prefs.vectorTerrainBaseLayers = new List(); + if (prefs.vectorTerrainBaseLayers.Count == 0) prefs.vectorTerrainBaseLayers.Add(null); + + int removeIndex = -1; + for (int i = 0; i < prefs.vectorTerrainBaseLayers.Count; i++) + { + EditorGUILayout.BeginHorizontal(); + prefs.vectorTerrainBaseLayers[i] = EditorGUILayout.ObjectField(new GUIContent((i + 1).ToString()), prefs.vectorTerrainBaseLayers[i], typeof(TerrainLayer), false) as TerrainLayer; + if (GUILayout.Button("X", GUILayout.ExpandWidth(false))) removeIndex = i; + EditorGUILayout.EndHorizontal(); + } + + if (prefs.vectorTerrainBaseLayers.Count > 1) + { + prefs.vectorTerrainBaseLayersNoiseOffset = EditorGUILayout.Vector2Field("Noise Offset", prefs.vectorTerrainBaseLayersNoiseOffset); + prefs.vectorTerrainBaseLayersNoiseScale = EditorGUILayout.FloatField("Noise Scale", prefs.vectorTerrainBaseLayersNoiseScale); + } + + if (removeIndex != -1) prefs.vectorTerrainBaseLayers.RemoveAt(removeIndex); + if (GUILayout.Button("Add Base Layer")) prefs.vectorTerrainBaseLayers.Add(null); + } + + private static void DrawVectorTerrainLayerFeature(Rect rect, int index, bool isactive, bool isfocused) + { + Rect r = new Rect(rect) + { + height = TerrainLayerLineHeight - 2 + }; + + RealWorldTerrainVectorTerrainLayerFeature layer = prefs.vectorTerrainLayers[index]; + GUI.Label(r, "Layer " + (index + 1) + ": "); + r.y += TerrainLayerLineHeight; + + if (layer.terrainLayers == null) layer.terrainLayers = new List(); + if (layer.terrainLayers.Count == 0) layer.terrainLayers.Add(null); + + int removeIndex = -1; + + for (int i = 0; i < layer.terrainLayers.Count; i++) + { + TerrainLayer terrainLayer = layer.terrainLayers[i]; + layer.terrainLayers[i] = EditorGUI.ObjectField(new Rect(r.x, r.y, r.width - 20, r.height), new GUIContent("Terrain Layer"), terrainLayer, typeof(TerrainLayer), false) as TerrainLayer; + if (GUI.Button(new Rect(r.xMax - 20, r.y, 20, r.height), "X")) removeIndex = i; + r.y += TerrainLayerLineHeight; + } + + if (layer.terrainLayers.Count > 1) + { + EditorGUI.LabelField(r, "Noise Offset"); + float labelWidth = EditorGUIUtility.labelWidth; + EditorGUIUtility.labelWidth = 20; + float halfWidth = (r.width - labelWidth) / 2; + layer.noiseOffset.x = EditorGUI.FloatField(new Rect(r.x + labelWidth, r.y, halfWidth, r.height), "X", layer.noiseOffset.x); + layer.noiseOffset.y = EditorGUI.FloatField(new Rect(r.x + labelWidth + halfWidth, r.y, halfWidth, r.height), "Y", layer.noiseOffset.y); + EditorGUIUtility.labelWidth = labelWidth; + r.y += TerrainLayerLineHeight; + layer.noiseScale = EditorGUI.FloatField(r, "Noise Scale", layer.noiseScale); + r.y += TerrainLayerLineHeight; + } + + if (GUI.Button(r, "Add TerrainLayer")) + { + layer.terrainLayers.Add(null); + layer.UpdateHeight(); + } + r.y += TerrainLayerLineHeight; + + if (removeIndex != -1) + { + layer.terrainLayers.RemoveAt(removeIndex); + layer.UpdateHeight(); + } + + if (layer.rules == null) layer.rules = new List(); + + removeIndex = -1; + for (int i = 0; i < layer.rules.Count; i++) + { + int ret = DrawVectorLayerData(layer.rules[i], i, ref r); + if (ret == -1) removeIndex = i; + else if (ret == 1) layer.UpdateHeight(); + } + + if (removeIndex != -1) + { + layer.rules.RemoveAt(removeIndex); + layer.UpdateHeight(); + } + + if (GUI.Button(r, "Add Rule")) + { + layer.rules.Add(new RealWorldTerrainVectorTerrainLayerFeature.Rule()); + layer.UpdateHeight(); + } + } + + private static float HeightVectorTerrainLayerFeature(int index) + { + if (index < 0 || index >= prefs.vectorTerrainLayers.Count) return 0; + RealWorldTerrainVectorTerrainLayerFeature layer = prefs.vectorTerrainLayers[index]; + return layer.height; + } + + private static void RemoveVectorTerrainLayerFeature(ReorderableList list) + { + prefs.vectorTerrainLayers.RemoveAt(list.index); + } + + private static void TerrainLayersUI() + { + EditorGUILayout.HelpBox("The ability to generate Terrain Layers is in beta. If you have any problems or have suggestions for improving this feature, please contact us (support@infinity-code.com).", MessageType.Info); + EditorGUILayout.HelpBox("Important: you can specify materials only for new terrains. During regeneration, modified Terrain Layers will not be assigned. This is some kind of bug in Unity Editor. We are working on finding a way around this.", MessageType.Warning); + + MapboxAccessToken(); + TextureMaxLevelUI(); + DrawVectorTerrainBaseLayers(); + + if (prefs.vectorTerrainLayers == null) prefs.vectorTerrainLayers = new List(); + + if (terrainLayersList == null) + { + terrainLayersList = new ReorderableList(prefs.vectorTerrainLayers, typeof(RealWorldTerrainVectorTerrainLayerFeature), true, true, true, true); + terrainLayersList.drawElementCallback += DrawVectorTerrainLayerFeature; + terrainLayersList.drawHeaderCallback += r => GUI.Label(r, "Layers"); + terrainLayersList.onAddCallback += AddVectorTerrainLayerFeature; + terrainLayersList.onRemoveCallback += RemoveVectorTerrainLayerFeature; + terrainLayersList.elementHeightCallback += HeightVectorTerrainLayerFeature; + } + + terrainLayersList.DoLayoutList(); + + GUILayout.Space(10); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.TerrainLayers.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.TerrainLayers.cs.meta new file mode 100644 index 000000000..c96545fec --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.TerrainLayers.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3e48b6a827433d84e9505d9925afc5d6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Texture.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Texture.cs new file mode 100644 index 000000000..869a684f2 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Texture.cs @@ -0,0 +1,256 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain +{ + public static partial class RealWorldTerrainWindowUI + { + private static readonly string[] labelsTextureSize = { "32", "64", "128", "256", "512", "1024", "2048", "4096", "8192", "12288", "16384", "20480", "26624" }; + private static readonly int[] valuesTextureSize = { 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 12288, 16384, 20480, 26624 }; + + private static int providerIndex; + private static string[] providersTitle; + private static RealWorldTerrainTextureProviderManager.Provider[] providers; + private static bool showCustomProviderTokens; + private static bool showTextures = true; + + public static void InitTextureProviders() + { + providersTitle = RealWorldTerrainTextureProviderManager.GetProvidersTitle(); + providers = RealWorldTerrainTextureProviderManager.GetProviders(); + + if (prefs.mapType == null) prefs.mapType = RealWorldTerrainTextureProviderManager.FindMapType(prefs.mapTypeID); + providerIndex = prefs.mapType.provider.index; + } + + private static void PrecalculateMaxLevel() + { + int tx = 0; + int ty = 0; + int textureLevel = 0; + + if (prefs.textureResultType == RealWorldTerrainTextureResultType.regularTexture) + { + tx = prefs.textureSize.x * prefs.terrainCount.x / 256; + ty = prefs.textureSize.y * prefs.terrainCount.y / 256; + } + else if (prefs.textureResultType == RealWorldTerrainTextureResultType.hugeTexture) + { + tx = prefs.hugeTexturePageSize * prefs.hugeTextureCols * prefs.terrainCount.x / 256; + ty = prefs.hugeTexturePageSize * prefs.hugeTextureRows * prefs.terrainCount.y / 256; + } + else if (prefs.textureResultType == RealWorldTerrainTextureResultType.terrainLayers) + { + tx = prefs.controlTextureResolution * prefs.terrainCount.x / 256; + ty = prefs.controlTextureResolution * prefs.terrainCount.y / 256; + } + + for (int z = 5; z < 22; z++) + { + double stx, sty, etx, ety; + RealWorldTerrainGeo.LatLongToTile(prefs.leftLongitude, prefs.topLatitude, z, out stx, out sty); + RealWorldTerrainGeo.LatLongToTile(prefs.rightLongitude, prefs.bottomLatitude, z, out etx, out ety); + + if (etx < stx) etx += 1 << z; + + if (etx - stx > tx && ety - sty > ty) + { + textureLevel = z; + break; + } + } + + if (textureLevel == 0) textureLevel = 22; + + EditorGUILayout.HelpBox("Texture level = " + textureLevel + " will be used.", MessageType.Info); + } + + private static void RegularTextureUI() + { + TextureSourceUI(); + + EditorGUILayout.BeginHorizontal(); + GUILayout.Label("Texture width"); + prefs.textureSize.x = EditorGUILayout.IntPopup(prefs.textureSize.x, labelsTextureSize, valuesTextureSize); + GUILayout.Label("height"); + prefs.textureSize.y = EditorGUILayout.IntPopup(prefs.textureSize.y, labelsTextureSize, valuesTextureSize); + DrawHelpButton("Texture size for each terrains."); + EditorGUILayout.EndHorizontal(); + + if (prefs.textureSize.x > 8192 || prefs.textureSize.y > 8192) + { +#if !HUGETEXTURE + EditorGUILayout.HelpBox("To use textures with side sizes larger than 8192 px, you must have a Huge Texture asset in the project.", MessageType.Error); + if (GUILayout.Button("Huge Texture")) Process.Start("https://assetstore.unity.com/packages/tools/input-management/huge-texture-163576"); +#else + EditorGUILayout.HelpBox("To use textures with side sizes larger than 8192 px switch to Result Type - Huge Texture.", MessageType.Error); + if (GUILayout.Button("Set Result Type - Huge Texture")) + { + prefs.textureResultType = RealWorldTerrainTextureResultType.hugeTexture; + prefs.hugeTexturePageSize = 1024; + prefs.hugeTextureCols = Mathf.CeilToInt(prefs.textureSize.x / (float)prefs.hugeTexturePageSize); + prefs.hugeTextureRows = Mathf.CeilToInt(prefs.textureSize.y / (float)prefs.hugeTexturePageSize); + } +#endif + } + + prefs.textureMipMaps = Toggle(prefs.textureMipMaps, "Mipmaps", false, "Mipmaps are lists of progressively smaller versions of an image, used to optimize performance on real-time 3D engines. Objects that are far away from the Camera use smaller Texture versions."); + + EditorGUILayout.BeginHorizontal(); + prefs.textureFileType = (RealWorldTerrainTextureFileType)EnumPopup("Format", prefs.textureFileType, "Texture format. PNG is highly recommended to avoid double quality loss due to compression."); + if (prefs.textureFileType == RealWorldTerrainTextureFileType.jpg) prefs.textureFileQuality = EditorGUILayout.IntSlider("Quality", prefs.textureFileQuality, 0, 100); + EditorGUILayout.EndHorizontal(); + + TextureMaxLevelUI(); + } + + private static void TextureUI() + { + prefs.textureResultType = (RealWorldTerrainTextureResultType)EnumPopup("Result Type", prefs.textureResultType, "The type of the resulting texture."); + + if (prefs.textureResultType == RealWorldTerrainTextureResultType.regularTexture) RegularTextureUI(); + else if (prefs.textureResultType == RealWorldTerrainTextureResultType.hugeTexture) HugeTextureGUI(); + else if (prefs.textureResultType == RealWorldTerrainTextureResultType.terrainLayers) TerrainLayersUI(); + + EditorGUILayout.Space(); + } + + private static void TextureMaxLevelUI() + { + List levels = new List { "Auto" }; + for (int i = 5; i < 23; i++) levels.Add(i.ToString()); + int index = prefs.maxTextureLevel; + if (index != 0) index -= 4; + index = EditorGUILayout.Popup("Max level", index, levels.ToArray()); + prefs.maxTextureLevel = index; + if (index != 0) prefs.maxTextureLevel += 4; + else + { + PrecalculateMaxLevel(); + prefs.reduceTextures = Toggle(prefs.reduceTextures, "Reduce size of textures, with no levels of tiles?", true, + "Reducing the size of the texture, reduces the time texture generation and memory usage."); + } + } + + private static void TextureSourceUI() + { + TextureProviderUI(); + + if (prefs.mapType.provider.types.Length > 1) + { + GUIContent[] availableTypes = prefs.mapType.provider.types.Select(t => new GUIContent(t.title)).ToArray(); + int mti = prefs.mapType.index; + EditorGUI.BeginChangeCheck(); + mti = EditorGUILayout.Popup(new GUIContent("Type", "Type of map texture"), mti, availableTypes); + if (EditorGUI.EndChangeCheck()) + { + prefs.mapType = prefs.mapType.provider.types[mti]; + prefs.mapTypeID = prefs.mapType.fullID; + } + } + + TextureProviderExtraFields(); + TextureProviderHelp(); + } + + private static void TextureProviderExtraFields() + { + RealWorldTerrainTextureProviderManager.IExtraField[] extraFields = prefs.mapType.extraFields; + if (extraFields != null) + { + foreach (RealWorldTerrainTextureProviderManager.IExtraField field in extraFields) + { + if (field is RealWorldTerrainTextureProviderManager.ToggleExtraGroup) TextureProviderToggleExtraGroup(field as RealWorldTerrainTextureProviderManager.ToggleExtraGroup); + else if (field is RealWorldTerrainTextureProviderManager.ExtraField) TextureProviderExtraField(field as RealWorldTerrainTextureProviderManager.ExtraField); + } + } + + extraFields = prefs.mapType.provider.extraFields; + if (extraFields != null) + { + foreach (RealWorldTerrainTextureProviderManager.IExtraField field in extraFields) + { + if (field is RealWorldTerrainTextureProviderManager.ToggleExtraGroup) TextureProviderToggleExtraGroup(field as RealWorldTerrainTextureProviderManager.ToggleExtraGroup); + else if (field is RealWorldTerrainTextureProviderManager.ExtraField) TextureProviderExtraField(field as RealWorldTerrainTextureProviderManager.ExtraField); + } + } + } + + private static void TextureProviderExtraField(RealWorldTerrainTextureProviderManager.ExtraField field) + { + field.value = EditorGUILayout.TextField(field.title, field.value); + } + + private static void TextureProviderHelp() + { + string[] help = prefs.mapType.help; + if (help != null) + { + foreach (string field in help) + { + EditorGUILayout.HelpBox(field, MessageType.Info); + } + } + + help = prefs.mapType.provider.help; + if (help != null) + { + foreach (string field in help) + { + EditorGUILayout.HelpBox(field, MessageType.Info); + } + } + } + + private static void TextureProviderToggleExtraGroup(RealWorldTerrainTextureProviderManager.ToggleExtraGroup @group) + { + @group.value = EditorGUILayout.Toggle(@group.title, @group.value); + EditorGUI.BeginDisabledGroup(@group.value); + + if (@group.fields != null) + { + foreach (RealWorldTerrainTextureProviderManager.IExtraField field in @group.fields) + { + if (field is RealWorldTerrainTextureProviderManager.ToggleExtraGroup) TextureProviderToggleExtraGroup(field as RealWorldTerrainTextureProviderManager.ToggleExtraGroup); + else if (field is RealWorldTerrainTextureProviderManager.ExtraField) TextureProviderExtraField(field as RealWorldTerrainTextureProviderManager.ExtraField); + } + } + + EditorGUI.EndDisabledGroup(); + } + + private static void TextureProviderUI() + { + EditorGUI.BeginChangeCheck(); + providerIndex = Popup("Provider", providerIndex, providersTitle, "Source of tiles for generating texture."); + if (EditorGUI.EndChangeCheck()) + { + prefs.mapType = providers[providerIndex].types[0]; + prefs.mapTypeID = prefs.mapType.fullID; + } + + if (prefs.mapType.isCustom) + { + prefs.textureProviderURL = EditorGUILayout.TextField(prefs.textureProviderURL); + + EditorGUILayout.BeginVertical(GUI.skin.box); + showCustomProviderTokens = Foldout(showCustomProviderTokens, "Available tokens"); + if (showCustomProviderTokens) + { + GUILayout.Label("{zoom}"); + GUILayout.Label("{x}"); + GUILayout.Label("{y}"); + GUILayout.Label("{quad}"); + GUILayout.Space(10); + } + EditorGUILayout.EndVertical(); + } + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Texture.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Texture.cs.meta new file mode 100644 index 000000000..903e0ead1 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Texture.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f2af5474c91bbe340bfb60ba389fdc6c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Toolbar.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Toolbar.cs new file mode 100644 index 000000000..163315f8b --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Toolbar.cs @@ -0,0 +1,100 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System.IO; +using System.Text; +using System.Xml; +using InfinityCode.RealWorldTerrain.Editors; +using InfinityCode.RealWorldTerrain.Windows; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain +{ + public static partial class RealWorldTerrainWindowUI + { + private static void ToolbarUI() + { + GUIStyle buttonStyle = new GUIStyle(EditorStyles.toolbarButton); + + GUILayout.BeginHorizontal(); + + ToolbarFileUI(buttonStyle); + + if (GUILayout.Button("History", buttonStyle, GUILayout.ExpandWidth(false))) + { + RealWorldTerrainHistoryWindow.OpenWindow(); + } + + ToolbarUpdateUI(buttonStyle); + + if (GUILayout.Button("Settings", buttonStyle, GUILayout.ExpandWidth(false))) RealWorldTerrainSettingsWindow.OpenWindow(); + + ToolbarHelpUI(buttonStyle); + + GUILayout.EndHorizontal(); + + EditorGUILayout.Space(); + } + + private static void ToolbarFileUI(GUIStyle buttonStyle) + { + if (GUILayout.Button("File", buttonStyle, GUILayout.ExpandWidth(false))) + { + GenericMenu menu = new GenericMenu(); + menu.AddItem(new GUIContent("Import Prefs"), false, () => + { + string filename = EditorUtility.OpenFilePanel("Import Prefs", Application.dataPath, "xml"); + if (!string.IsNullOrEmpty(filename)) prefs.LoadFromXML(filename); + }); + menu.AddItem(new GUIContent("Export Prefs"), false, () => + { + string filename = EditorUtility.SaveFilePanel("Import Prefs", Application.dataPath, "Prefs", "xml"); + if (!string.IsNullOrEmpty(filename)) File.WriteAllText(filename, prefs.ToXML(new XmlDocument()).OuterXml, Encoding.UTF8); + }); + menu.ShowAsContext(); + } + } + + private static void ToolbarHelpUI(GUIStyle buttonStyle) + { + if (GUILayout.Button("Help", buttonStyle, GUILayout.ExpandWidth(false))) + { + GenericMenu menu = new GenericMenu(); + + menu.AddItem(new GUIContent("Documentation"), false, RealWorldTerrainLinks.OpenLocalDocumentation); + menu.AddItem(new GUIContent("Changelog"), false, RealWorldTerrainLinks.OpenChangelog); + menu.AddSeparator(""); + menu.AddItem(new GUIContent("Asset Store"), false, RealWorldTerrainLinks.OpenAssetStore); + menu.AddItem(new GUIContent("Homepage"), false, RealWorldTerrainLinks.OpenHomepage); + menu.AddItem(new GUIContent("Support"), false, RealWorldTerrainLinks.OpenSupport); + menu.AddItem(new GUIContent("Forum"), false, RealWorldTerrainLinks.OpenForum); + menu.AddItem(new GUIContent("Discord"), false, RealWorldTerrainLinks.OpenDiscord); + menu.AddSeparator(""); + menu.AddItem(new GUIContent("Check Updates"), false, RealWorldTerrainUpdaterWindow.OpenWindow); + menu.AddItem(new GUIContent("About"), false, RealWorldTerrainAboutWindow.OpenWindow); + + menu.ShowAsContext(); + } + } + + private static void ToolbarUpdateUI(GUIStyle buttonStyle) + { + if (!RealWorldTerrainUpdaterWindow.hasNewVersion) + { + GUILayout.Label("", buttonStyle); + return; + } + + Color defColor = GUI.backgroundColor; + GUI.backgroundColor = new Color(1, 0.5f, 0.5f); + if (GUILayout.Button("New version available!!! Click here to update.", buttonStyle)) + { + wnd.Close(); + RealWorldTerrainUpdaterWindow.OpenWindow(); + } + + GUI.backgroundColor = defColor; + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Toolbar.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Toolbar.cs.meta new file mode 100644 index 000000000..129db5e1a --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Toolbar.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6c295bc603ee4e545b6c21c00fa1faa7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Trees.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Trees.cs new file mode 100644 index 000000000..89dc375b8 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Trees.cs @@ -0,0 +1,99 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System.Collections.Generic; +using UnityEditor; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain +{ + public static partial class RealWorldTerrainWindowUI + { + private static List availableTreeType; + + private static void StandardTreeEngineFields() + { + prefs.treeDensity = EditorGUILayout.IntField("Density (%)", prefs.treeDensity); + if (prefs.treeDensity < 1) prefs.treeDensity = 1; + if (prefs.treePrefabs == null) prefs.treePrefabs = new List(); + EditorGUILayout.LabelField("Tree Prefabs"); + for (int i = 0; i < prefs.treePrefabs.Count; i++) + { + prefs.treePrefabs[i] = + (GameObject) + EditorGUILayout.ObjectField(i + 1 + ":", prefs.treePrefabs[i], typeof(GameObject), false); + } + + GameObject newTree = + (GameObject) + EditorGUILayout.ObjectField(prefs.treePrefabs.Count + 1 + ":", null, typeof(GameObject), false); + if (newTree != null) prefs.treePrefabs.Add(newTree); + prefs.treePrefabs.RemoveAll(go => go == null); + } + + private static void VegetationStudioTreeEngineFields() + { +#if VEGETATION_STUDIO || VEGETATION_STUDIO_PRO +#if !VEGETATION_STUDIO_PRO + prefs.vegetationStudioPackage = EditorGUILayout.ObjectField("Package", prefs.vegetationStudioPackage, typeof(AwesomeTechnologies.VegetationPackage), false) as AwesomeTechnologies.VegetationPackage; +#else + prefs.vegetationStudioPackage = EditorGUILayout.ObjectField("Package", prefs.vegetationStudioPackage, typeof(AwesomeTechnologies.VegetationSystem.VegetationPackagePro), false) as AwesomeTechnologies.VegetationSystem.VegetationPackagePro; +#endif + if (prefs.vegetationStudioTreeTypes == null) prefs.vegetationStudioTreeTypes = new List{1}; + + int removeIndex = -1; + for (int i = 0; i < prefs.vegetationStudioTreeTypes.Count; i++) + { + EditorGUILayout.BeginHorizontal(); + prefs.vegetationStudioTreeTypes[i] = EditorGUILayout.IntSlider("Vegetation Type " + (i + 1) + ": ", prefs.vegetationStudioTreeTypes[i], 1, 32); + if (prefs.vegetationStudioTreeTypes.Count > 1 && GUILayout.Button("X", GUILayout.ExpandWidth(false))) removeIndex = i; + EditorGUILayout.EndHorizontal(); + } + + if (removeIndex != -1) prefs.vegetationStudioTreeTypes.RemoveAt(removeIndex); + if (GUILayout.Button("Add item")) prefs.vegetationStudioTreeTypes.Add(1); +#endif + } + + private static void InitTreeEngines() + { + availableTreeType = new List(); + availableTreeType.Add("Standard"); +#if VEGETATION_STUDIO || VEGETATION_STUDIO_PRO + availableTreeType.Add("Vegetation Studio"); +#endif + } + + private static void SelectTreeEngine() + { + if (availableTreeType.Count > 1) + { + int treeEngineIndex = availableTreeType.IndexOf(prefs.treeEngine); + if (treeEngineIndex == -1) treeEngineIndex = 0; + treeEngineIndex = EditorGUILayout.Popup("Tree engine ", treeEngineIndex, availableTreeType.ToArray()); + prefs.treeEngine = availableTreeType[treeEngineIndex]; + } + else prefs.treeEngine = availableTreeType[0]; + } + + private static void TreesUI() + { + EditorGUILayout.BeginVertical(GUI.skin.box); + prefs.generateTrees = EditorGUILayout.Toggle("Generate trees", prefs.generateTrees); + + if (!prefs.generateTrees) + { + EditorGUILayout.EndVertical(); + return; + } + + SelectTreeEngine(); + + if (prefs.treeEngine == "Standard") StandardTreeEngineFields(); + else if (prefs.treeEngine == "Vegetation Studio") VegetationStudioTreeEngineFields(); + + EditorGUILayout.Space(); + EditorGUILayout.EndVertical(); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Trees.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Trees.cs.meta new file mode 100644 index 000000000..a27617fa7 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.Trees.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3da84962a2c31344baf3ec8849e2b863 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.cs new file mode 100644 index 000000000..2d768c259 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.cs @@ -0,0 +1,362 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.Diagnostics; +using InfinityCode.RealWorldTerrain.Net; +using InfinityCode.RealWorldTerrain.Phases; +using InfinityCode.RealWorldTerrain.Windows; +using UnityEditor; +using UnityEngine; +using Object = UnityEngine.Object; + +namespace InfinityCode.RealWorldTerrain +{ + public static partial class RealWorldTerrainWindowUI + { + private const int LabelWidth = 170; + + public static int iProgress; + public static string phasetitle = ""; + + private static GUIStyle _oddStyle; + private static GUIStyle _evenStyle; + + private static string mapboxAPI; + private static Vector2 scrollPos = Vector2.zero; + + private static readonly string[] labels2n = { "32", "64", "128", "256", "512", "1024", "2048", "4096" }; + private static readonly int[] values2n = { 32, 64, 128, 256, 512, 1024, 2048, 4096 }; + private static readonly string[] labels2n1 = { "33", "65", "129", "257", "513", "1025", "2049", "4097" }; + private static readonly int[] values2n1 = { 33, 65, 129, 257, 513, 1025, 2049, 4097 }; + + public static GUIStyle evenStyle + { + get + { + if (_evenStyle == null) _evenStyle = new GUIStyle(); + return _evenStyle; + } + } + + public static GUIStyle oddStyle + { + get + { + if (_oddStyle == null) + { + _oddStyle = new GUIStyle(); + _oddStyle.normal.background = new Texture2D(1, 1); + _oddStyle.normal.background.SetPixel(0, 0, new Color(0.5f, 0.5f, 0.5f, 0.2f)); + _oddStyle.normal.background.Apply(); + } + + return _oddStyle; + } + } + + + public static RealWorldTerrainGenerateType generateType + { + get { return RealWorldTerrainWindow.generateType; } + } + + private static RealWorldTerrainPhase phase + { + get { return RealWorldTerrainPhase.activePhase; } + } + + private static RealWorldTerrainPrefs prefs + { + get { return RealWorldTerrainWindow.prefs; } + } + + private static RealWorldTerrainWindow wnd + { + get { return RealWorldTerrainWindow.wnd; } + } + + public static double DoubleField(string label, double value, string tooltip, string href = "") + { + GUILayout.BeginHorizontal(); + value = EditorGUILayout.DoubleField(label, value); + + if (GUILayout.Button(new GUIContent(RealWorldTerrainResources.helpIcon, tooltip), + RealWorldTerrainResources.helpStyle, GUILayout.ExpandWidth(false))) + { + if (href != "") Application.OpenURL(href); + } + GUILayout.EndHorizontal(); + return value; + } + + public static void DrawHelpButton(string tooltip = null, string href = null) + { + if (string.IsNullOrEmpty(tooltip)) return; + + GUIContent content = new GUIContent(RealWorldTerrainResources.helpIcon, tooltip); + if (GUILayout.Button(content, RealWorldTerrainResources.helpStyle, GUILayout.ExpandWidth(false)) + && !string.IsNullOrEmpty(href)) + { + Application.OpenURL(href); + } + } + + public static System.Enum EnumPopup(string label, System.Enum selected, string tooltip, string href = "") + { + GUILayout.BeginHorizontal(); + Enum res = EditorGUILayout.EnumPopup(label, selected); + DrawHelpButton(tooltip, href); + GUILayout.EndHorizontal(); + + return res; + } + + public static float FloatField(string label, float value, string tooltip, string href = "") + { + GUILayout.BeginHorizontal(); + value = EditorGUILayout.FloatField(label, value); + DrawHelpButton(tooltip, href); + GUILayout.EndHorizontal(); + return value; + } + + public static bool Foldout(bool value, string text) + { + return GUILayout.Toggle(value, text, EditorStyles.foldout); + } + + public static int IntPopup(string label, int value, string[] displayedOptions, int[] optionValues, string tooltip, string href) + { + GUILayout.BeginHorizontal(); + value = EditorGUILayout.IntPopup(label, value, displayedOptions, optionValues); + + DrawHelpButton(tooltip, href); + GUILayout.EndHorizontal(); + return value; + } + + public static int IntPopup(string label, int value, string[] displayedOptions, int[] optionValues, string tooltip, string[] hrefs) + { + GUILayout.BeginHorizontal(); + value = EditorGUILayout.IntPopup(label, value, displayedOptions, optionValues); + string href = null; + if (hrefs != null && hrefs.Length > value) href = hrefs[value]; + DrawHelpButton(tooltip, href); + GUILayout.EndHorizontal(); + return value; + } + + public static int IntField(string label, int value, string tooltip, string href = null) + { + GUILayout.BeginHorizontal(); + value = EditorGUILayout.IntField(label, value); + DrawHelpButton(tooltip, href); + GUILayout.EndHorizontal(); + return value; + } + + private static void MapboxAccessToken() + { + if (mapboxAPI == null) mapboxAPI = RealWorldTerrainPrefs.LoadPref("MapboxAPI", ""); + GUILayout.BeginHorizontal(); + + EditorGUI.BeginChangeCheck(); + mapboxAPI = EditorGUILayout.TextField("Mapbox Access Token", mapboxAPI); + if (EditorGUI.EndChangeCheck()) + { + if (mapboxAPI == "") RealWorldTerrainPrefs.DeletePref("MapboxAPI"); + else RealWorldTerrainPrefs.SetPref("MapboxAPI", mapboxAPI); + } + + if (string.IsNullOrEmpty(mapboxAPI)) + { + GUILayout.Box(new GUIContent(RealWorldTerrainResources.warningIcon, "Required"), RealWorldTerrainResources.helpStyle, GUILayout.ExpandWidth(false)); + } + + GUILayout.EndHorizontal(); + if (GUILayout.Button("Get Mapbox Access Token")) Process.Start("https://www.mapbox.com/studio/account/tokens/"); + } + + public static void OnEnable() + { + InitTextureProviders(); + InitBuildingEngines(); + InitRoadEngines(); + InitGrassEngines(); + InitTreeEngines(); + InitRiverEngines(); + } + + public static void OnGUI() + { + if (!RealWorldTerrainWindow.isCapturing) OnIdleGUI(); + else OnGenerate(); + } + + private static void OnGenerate() + { + if (phase != null && phase is RealWorldTerrainDownloadingPhase) + { + int completed = Mathf.FloorToInt(RealWorldTerrainDownloadManager.totalSizeMB * RealWorldTerrainWindow.progress); + GUILayout.Label(phasetitle + " (" + completed + " of " + RealWorldTerrainDownloadManager.totalSizeMB + " mb)"); + } + else GUILayout.Label(phasetitle); + + Rect r = EditorGUILayout.BeginVertical(); + iProgress = Mathf.FloorToInt(RealWorldTerrainWindow.progress * 100); + EditorGUI.ProgressBar(r, RealWorldTerrainWindow.progress, iProgress + "%"); + GUILayout.Space(16); + EditorGUILayout.EndVertical(); + + if (GUILayout.Button("Cancel")) RealWorldTerrainWindow.CancelCapture(); + + GUILayout.Label("Warning: Keep this window open."); + } + + private static void OnIdleButtons() + { + GUILayout.BeginHorizontal(); + if (GUILayout.Button("Start")) RealWorldTerrainWindow.StartCapture(); + if (RealWorldTerrainWindow.generateType == RealWorldTerrainGenerateType.full) + { + if (GUILayout.Button("Memory Usage", GUILayout.ExpandWidth(false))) RealWorldTerrainMemoryUsageWindow.OpenWindow(); + } + else + { + if (GUILayout.Button("Switch to Full", GUILayout.ExpandWidth(false))) + { + RealWorldTerrainWindow.generateType = RealWorldTerrainGenerateType.full; + RealWorldTerrainWindow.generateTarget = null; + } + } + + if (GUILayout.Button("Clear Cache", GUILayout.ExpandWidth(false))) RealWorldTerrainWindow.ClearCache(); + GUILayout.EndHorizontal(); + } + + private static void OnIdleGUI() + { + ToolbarUI(); + scrollPos = EditorGUILayout.BeginScrollView(scrollPos); + EditorGUIUtility.labelWidth = LabelWidth; + + bool isFull = RealWorldTerrainWindow.generateType == RealWorldTerrainGenerateType.full; + bool isTerrain = isFull || RealWorldTerrainWindow.generateType == RealWorldTerrainGenerateType.terrain; + bool isTexture = isFull || RealWorldTerrainWindow.generateType == RealWorldTerrainGenerateType.texture; + bool isAdditional = isFull || RealWorldTerrainWindow.generateType == RealWorldTerrainGenerateType.additional; + bool isRawOutput = prefs.resultType == RealWorldTerrainResultType.gaiaStamp || prefs.resultType == RealWorldTerrainResultType.rawFile; + + if (isFull) AreaUI(); + + if (isTerrain) + { + EditorGUILayout.BeginVertical(GUI.skin.box); + showTerrains = EditorGUILayout.Foldout(showTerrains, "Terrains"); + + if (showTerrains) TerrainUI(); + + EditorGUILayout.EndVertical(); + + ElevationProviderUI(); + } + + if (isTexture && !isRawOutput) + { + if (isFull) + { + EditorGUILayout.BeginVertical(GUI.skin.box); + EditorGUILayout.BeginHorizontal(); + if (prefs.generateTextures) showTextures = GUILayout.Toggle(showTextures, "", EditorStyles.foldout, GUILayout.ExpandWidth(false)); + prefs.generateTextures = GUILayout.Toggle(prefs.generateTextures, "Textures"); + EditorGUILayout.EndHorizontal(); + if (showTextures && prefs.generateTextures) TextureUI(); + EditorGUILayout.EndVertical(); + } + else + { + EditorGUILayout.BeginVertical(GUI.skin.box); + EditorGUILayout.LabelField("Textures"); + prefs.generateTextures = true; + + TextureUI(); + + EditorGUILayout.EndVertical(); + } + } + + if (isFull && !isRawOutput) + { + EditorGUILayout.BeginVertical(GUI.skin.box); + EditorGUILayout.BeginHorizontal(); + showPOI = EditorGUILayout.Foldout(showPOI, "POI"); + DrawHelpButton("Here you can specify a point of interest, which will be created on the terrains."); + EditorGUILayout.EndHorizontal(); + if (showPOI) PoiUI(); + EditorGUILayout.EndVertical(); + } + + if (isAdditional && !isRawOutput) OsmUI(); + + GUILayout.EndScrollView(); + OnIdleButtons(); + } + + public static Object ObjectField(string label, Object obj, Type type, string tooltip = null, string href = null) + { + EditorGUILayout.BeginHorizontal(); + obj = EditorGUILayout.ObjectField(label, obj, type, false); + DrawHelpButton(tooltip, href); + EditorGUILayout.EndHorizontal(); + return obj; + } + + private static int Popup(string label, int selectedIndex, string[] displayedOptions, string tooltip = null, string href = null) + { + EditorGUILayout.BeginHorizontal(); + int res = EditorGUILayout.Popup(label, selectedIndex, displayedOptions); + DrawHelpButton(tooltip, href); + EditorGUILayout.EndHorizontal(); + return res; + } + + private static bool Toggle(bool value, string text, string tooltip = null, string href = null) + { + return Toggle(value, text, true, tooltip, href); + } + + private static bool Toggle(string text, bool value, bool left, string tooltip = null, string href = null) + { + return Toggle(value, text, left, tooltip, href); + } + + private static bool Toggle(bool value, string text, bool left, string tooltip = null, string href = null) + { + EditorGUILayout.BeginHorizontal(); + + if (left) value = GUILayout.Toggle(value, text); + else value = EditorGUILayout.Toggle(text, value); + DrawHelpButton(tooltip, href); + EditorGUILayout.EndHorizontal(); + + return value; + } + + private static Vector3 Vector3Field(string label, Vector3 value, string tooltip = null, string href = null) + { + EditorGUILayout.BeginHorizontal(); + Vector3 res = EditorGUILayout.Vector3Field(label, value); + DrawHelpButton(tooltip, href); + EditorGUILayout.EndHorizontal(); + return res; + } + + private static void MinMaxSlider(string label, ref float minValue, ref float maxValue, int minLimit, int maxLimit, string tooltip = null, string href = null) + { + EditorGUILayout.BeginHorizontal(); + EditorGUILayout.MinMaxSlider(label, ref minValue, ref maxValue, minLimit, maxLimit); + DrawHelpButton(tooltip, href); + EditorGUILayout.EndHorizontal(); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.cs.meta new file mode 100644 index 000000000..ad46851e1 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Editor/Windows/RealWorldTerrainWindowUI/RealWorldTerrainWindowUI.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 01806f7a456c6f44b8d61036ece4952c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/ExtraTypes.meta b/Assets/Infinity Code/Real World Terrain/Scripts/ExtraTypes.meta new file mode 100644 index 000000000..1ef3d9c7d --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/ExtraTypes.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 17fdd9fb7be517c4d8cfceeb54d8e1c2 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/ExtraTypes/RealWorldTerrainGeoRect.cs b/Assets/Infinity Code/Real World Terrain/Scripts/ExtraTypes/RealWorldTerrainGeoRect.cs new file mode 100644 index 000000000..bfc523f9e --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/ExtraTypes/RealWorldTerrainGeoRect.cs @@ -0,0 +1,54 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +namespace InfinityCode.RealWorldTerrain.ExtraTypes +{ + /// + /// The class contains the coordinates of the area boundaries. + /// + public class RealWorldTerrainGeoRect + { + /// + /// Left longitude + /// + public double left; + + /// + /// Right longitude + /// + public double right; + + /// + /// Top latitude + /// + public double top; + + /// + /// Bottom latitude + /// + public double bottom; + + /// + /// Constructor + /// + public RealWorldTerrainGeoRect() + { + + } + + /// + /// Constructor + /// + /// Left longitude + /// Top latitude + /// Right longitude + /// Bottom latitude + public RealWorldTerrainGeoRect(double left, double top, double right, double bottom) + { + this.left = left; + this.top = top; + this.right = right; + this.bottom = bottom; + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/ExtraTypes/RealWorldTerrainGeoRect.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/ExtraTypes/RealWorldTerrainGeoRect.cs.meta new file mode 100644 index 000000000..c58f44e3e --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/ExtraTypes/RealWorldTerrainGeoRect.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c7aab563a061b114e8642d5ab5d7a84d +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/ExtraTypes/RealWorldTerrainWWW.cs b/Assets/Infinity Code/Real World Terrain/Scripts/ExtraTypes/RealWorldTerrainWWW.cs new file mode 100644 index 000000000..939a1804d --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/ExtraTypes/RealWorldTerrainWWW.cs @@ -0,0 +1,369 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System; +using System.Collections; +using System.Collections.Generic; +using System.IO; +using System.Text; +using UnityEngine; +using UnityEngine.Networking; +using Object = UnityEngine.Object; + +#if UNITY_EDITOR +using UnityEditor; +#endif + +namespace InfinityCode.RealWorldTerrain.ExtraTypes +{ + /// + /// The wrapper class for WWW.\n + /// It allows you to control requests.\n + /// + public class RealWorldTerrainWWW + { + /// + /// Event that occurs when a request is completed. + /// + public Action OnComplete; + + /// + /// In this variable you can put any data that you need to work with request. + /// + public object customData; + + private UnityWebRequest www; + private RequestType type; + private byte[] _bytes; + private string _error; + private bool _isDone; + private string _url; + private string responseHeadersString; + private string _id; + private IEnumerator waitResponse; + private RealWorldTerrainWWWHelper _helper; + + + /// + /// Returns the contents of the fetched web page as a byte array. + /// + public byte[] bytes + { + get + { + if (type == RequestType.www) return www.downloadHandler.data; + return _bytes; + } + } + + /// + /// The number of bytes downloaded by this query. + /// + public int bytesDownloaded + { + get + { + if (type == RequestType.www) return (int) www.downloadedBytes; + return _bytes != null ? _bytes.Length : 0; + } + } + + /// + /// Returns an error message if there was an error during the download. + /// + public string error + { + get + { + if (type == RequestType.www) return www.error; + return _error; + } + } + + private RealWorldTerrainWWWHelper helper + { + get + { + if (_helper != null) return _helper; + GameObject go = new GameObject("WWW Helper"); + return _helper = go.AddComponent(); + } + } + + /// + /// ID of query. + /// + public string id + { + get { return _id; } + } + + /// + /// Is the download already finished? + /// + public bool isDone + { + get + { + if (type == RequestType.www) return www.isDone; + return _isDone; + } + } + + private bool isPlaying + { + get + { +#if UNITY_EDITOR + return EditorApplication.isPlaying; +#else + return true; +#endif + } + } + + /// + /// Dictionary of headers returned by the request. + /// + public Dictionary responseHeaders + { + get + { + if (!isDone) throw new UnityException("WWW is not finished downloading yet"); + + if (type == RequestType.www) return www.GetResponseHeaders(); + return ParseHTTPHeaderString(responseHeadersString); + } + } + + /// + /// Returns the contents of the fetched web page as a string. + /// + public string text + { + get + { + if (type == RequestType.www) return www.downloadHandler.text; + return _bytes != null ? GetTextEncoder().GetString(_bytes, 0, _bytes.Length) : null; + } + } + + /// + /// The URL of this request. + /// + public string url + { + get { return _url; } + } + + /// + /// Constructor. + /// + /// URL of request. + public RealWorldTerrainWWW(string url) + { + _url = url; + type = RequestType.www; + + www = UnityWebRequest.Get(url); + www.SendWebRequest(); + + if (isPlaying) helper.StartCoroutine(WaitResponse()); +#if UNITY_EDITOR + else EditorApplication.update += CheckWWWComplete; +#endif + } + + /// + /// Constructor. + /// + /// URL of request. + /// Type of request. + /// Request ID + public RealWorldTerrainWWW(string url, RequestType type, string reqID) + { + this.type = type; + _url = url; + _id = reqID; + if (type == RequestType.www) + { + www = UnityWebRequest.Get(url); + www.SendWebRequest(); + + if (isPlaying) helper.StartCoroutine(WaitResponse()); +#if UNITY_EDITOR + else EditorApplication.update += CheckWWWComplete; +#endif + + } + } + + private void CheckWWWComplete() + { + if (www.isDone) + { + Finish(); +#if UNITY_EDITOR + EditorApplication.update -= CheckWWWComplete; +#endif + } + } + + /// + /// Disposes of an existing object. + /// + public void Dispose() + { + if (www != null && !www.isDone) www.Dispose(); + www = null; + customData = null; + if (waitResponse != null) helper.StopCoroutine(waitResponse); + + if (isPlaying) Object.Destroy(helper.gameObject); + else Object.DestroyImmediate(helper.gameObject); + } + + /// + /// Escapes characters in a string to ensure they are URL-friendly. + /// + /// A string with characters to be escaped. + /// Escaped string. + public static string EscapeURL(string s) + { + return UnityWebRequest.EscapeURL(s); + } + + private void Finish() + { + if (OnComplete != null) OnComplete(this); + Dispose(); + } + + private Encoding GetTextEncoder() + { + string str; + if (responseHeaders.TryGetValue("CONTENT-TYPE", out str)) + { + int index = str.IndexOf("charset", StringComparison.OrdinalIgnoreCase); + if (index > -1) + { + int num2 = str.IndexOf('=', index); + if (num2 > -1) + { + char[] trimChars = { '\'', '"' }; + string name = str.Substring(num2 + 1).Trim().Trim(trimChars).Trim(); + int length = name.IndexOf(';'); + if (length > -1) + { + name = name.Substring(0, length); + } + try + { + return Encoding.GetEncoding(name); + } + catch (Exception) + { + Debug.Log("Unsupported encoding: '" + name + "'"); + } + } + } + } + return Encoding.UTF8; + } + + /// + /// Replaces the contents of an existing Texture2D with an image from the downloaded data. + /// + /// An existing texture object to be overwritten with the image data. + public void LoadImageIntoTexture(Texture2D tex) + { + if (tex == null) throw new Exception("Texture is null"); + + if (type == RequestType.www) tex.LoadImage(www.downloadHandler.data); + else tex.LoadImage(_bytes); + } + + internal static Dictionary ParseHTTPHeaderString(string input) + { + Dictionary dictionary = new Dictionary(); + + if (string.IsNullOrEmpty(input)) return dictionary; + + StringReader reader = new StringReader(input); + int num = 0; + while (true) + { + string str = reader.ReadLine(); + if (str == null) + { + return dictionary; + } + if ((num++ == 0) && str.StartsWith("HTTP")) + { + dictionary["STATUS"] = str; + } + else + { + int index = str.IndexOf(": "); + if (index != -1) + { + string str2 = str.Substring(0, index).ToUpper(); + string str3 = str.Substring(index + 2); + dictionary[str2] = str3; + } + } + } + } + + /// + /// Sets the contents and headers of the response for type = direct. + /// + /// Headers of response. + /// Content of response. + public void SetBytes(string responseHeadersString, byte[] _bytes) + { + if (type == RequestType.www) throw new Exception("RealWorldTerrainWWW.SetBytes available only for type = direct."); + + this.responseHeadersString = responseHeadersString; + this._bytes = _bytes; + _isDone = true; + Finish(); + } + + /// + /// Sets the error for type = direct. + /// + /// Error message. + public void SetError(string errorStr) + { + if (type == RequestType.www) throw new Exception("RealWorldTerrainWWW.SetError available only for type = direct."); + _error = errorStr; + _isDone = true; + Finish(); + + } + + private IEnumerator WaitResponse() + { + yield return www; + waitResponse = null; + Finish(); + } + + /// + /// Type of request. + /// + public enum RequestType + { + /// + /// The request will be processed independently. + /// + direct, + + /// + /// The request will be processed using WWW class. + /// + www + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/ExtraTypes/RealWorldTerrainWWW.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/ExtraTypes/RealWorldTerrainWWW.cs.meta new file mode 100644 index 000000000..019c60083 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/ExtraTypes/RealWorldTerrainWWW.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 14e7da2e741391e4da60e56413895501 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/ExtraTypes/RealWorldTerrainWWWHelper.cs b/Assets/Infinity Code/Real World Terrain/Scripts/ExtraTypes/RealWorldTerrainWWWHelper.cs new file mode 100644 index 000000000..82da876c4 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/ExtraTypes/RealWorldTerrainWWWHelper.cs @@ -0,0 +1,17 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.ExtraTypes +{ + [ExecuteInEditMode] + [AddComponentMenu("")] + public class RealWorldTerrainWWWHelper:MonoBehaviour + { + private void Update() + { + + } + } +} diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/ExtraTypes/RealWorldTerrainWWWHelper.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/ExtraTypes/RealWorldTerrainWWWHelper.cs.meta new file mode 100644 index 000000000..e0fe29f0b --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/ExtraTypes/RealWorldTerrainWWWHelper.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f771df54092dd534e8ef90f0f9bc0295 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/JSON.meta b/Assets/Infinity Code/Real World Terrain/Scripts/JSON.meta new file mode 100644 index 000000000..5c060c484 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/JSON.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 4cdd562bd4591c243bc392c3e571be96 +folderAsset: yes +timeCreated: 1564669254 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/JSON/RealWorldTerrainJson.cs b/Assets/Infinity Code/Real World Terrain/Scripts/JSON/RealWorldTerrainJson.cs new file mode 100644 index 000000000..3c71eab02 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/JSON/RealWorldTerrainJson.cs @@ -0,0 +1,794 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Reflection; +using System.Text; +using InfinityCode.RealWorldTerrain.Utils; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.JSON +{ + /// + /// Class for working with JSON. It is used for parsing of string, serialization and deserialization of object. + /// + public class RealWorldTerrainJson + { + private string json; + private int index = 0; + private Token lookAheadToken = Token.None; + private StringBuilder s; + private int length; + + protected RealWorldTerrainJson(string json) + { + s = new StringBuilder(); + this.json = json; + length = json.Length; + } + + /// + /// Deserialize string into object. + /// + /// Type + /// JSON string + /// Deserialized object + public static T Deserialize(string json) + { + object obj = ParseDirect(json); + if (obj is IDictionary) return (T) DeserializeObject(typeof(T), obj as Dictionary); + if (obj is IList) return (T) DeserializeArray(typeof(T), obj as List); + return (T) DeserializeValue(typeof(T), obj); + } + + private static object DeserializeValue(Type type, object obj) + { + if (obj == null) return null; + try + { + return Convert.ChangeType(obj, type); + } + catch (Exception exception) + { + Debug.Log(exception.Message + "\n" + exception.StackTrace); + } + + return null; + } + + private static object DeserializeArray(Type type, List list) + { + if (list == null || list.Count == 0) return null; + if (type.IsArray) + { + Type elementType = type.GetElementType(); + Array v = Array.CreateInstance(elementType, list.Count); + for (int i = 0; i < list.Count; i++) + { + object child = list[i]; + object item; + if (child is IDictionary) item = DeserializeObject(elementType, child as Dictionary); + else if (child is IList) item = DeserializeArray(elementType, child as List); + else item = DeserializeValue(elementType, child); + v.SetValue(item, i); + } + + return v; + } + + if (RealWorldTerrainReflectionHelper.IsGenericType(type)) + { + Type listType = RealWorldTerrainReflectionHelper.GetGenericArguments(type)[0]; + object v = Activator.CreateInstance(type); + + for (int i = 0; i < list.Count; i++) + { + object child = list[i]; + object item; + if (child is IDictionary) item = DeserializeObject(listType, child as Dictionary); + else if (child is IList) item = DeserializeArray(listType, child as List); + else item = DeserializeValue(listType, child); + try + { + MethodInfo methodInfo = RealWorldTerrainReflectionHelper.GetMethod(type, "Add"); + if (methodInfo != null) methodInfo.Invoke(v, new[] {item}); + } + catch + { + } + } + + return v; + } + + + return null; + } + + private static object DeserializeObject(Type type, Dictionary table) + { + IEnumerable members = RealWorldTerrainReflectionHelper.GetMembers(type, BindingFlags.Instance | BindingFlags.Public); + + object v = Activator.CreateInstance(type); + + foreach (MemberInfo member in members) + { +#if !NETFX_CORE + MemberTypes memberType = member.MemberType; + if (memberType != MemberTypes.Field && memberType != MemberTypes.Property) continue; +#else + MemberTypes memberType; + if (member is PropertyInfo) memberType = MemberTypes.Property; + else if (member is FieldInfo) memberType = MemberTypes.Field; + else continue; +#endif + + if (memberType == MemberTypes.Property && !((PropertyInfo) member).CanWrite) continue; + object item; + +#if !NETFX_CORE + object[] attributes = member.GetCustomAttributes(typeof(AliasAttribute), true); + AliasAttribute alias = attributes.Length > 0 ? attributes[0] as AliasAttribute : null; +#else + IEnumerable attributes = member.GetCustomAttributes(typeof(AliasAttribute), true); + AliasAttribute alias = null; + foreach (Attribute a in attributes) + { + alias = a as AliasAttribute; + break; + } +#endif + if (alias == null || !alias.ignoreFieldName) + { + if (table.TryGetValue(member.Name, out item)) + { + DeserializeValue(memberType, member, item, v); + continue; + } + } + + if (alias != null) + { + for (int j = 0; j < alias.aliases.Length; j++) + { + if (table.TryGetValue(alias.aliases[j], out item)) + { + DeserializeValue(memberType, member, item, v); + break; + } + } + } + } + + return v; + } + + private static void DeserializeValue(MemberTypes memberType, MemberInfo member, object item, object v) + { + object cv; + Type t = memberType == MemberTypes.Field ? ((FieldInfo) member).FieldType : ((PropertyInfo) member).PropertyType; + if (t == typeof(System.Object)) cv = item; + else if (item is IDictionary) cv = DeserializeObject(t, item as Dictionary); + else if (item is IList) cv = DeserializeArray(t, item as List); + else cv = DeserializeValue(t, item); + + if (memberType == MemberTypes.Field) ((FieldInfo) member).SetValue(v, cv); + else ((PropertyInfo) member).SetValue(v, cv, null); + } + + private Token LookAhead() + { + if (lookAheadToken != Token.None) return lookAheadToken; + return lookAheadToken = NextTokenCore(); + } + + private Token NextToken() + { + Token result = lookAheadToken != Token.None ? lookAheadToken : NextTokenCore(); + lookAheadToken = Token.None; + return result; + } + + private Token NextTokenCore() + { + char c; + + do + { + c = json[index]; + + if (c == '/' && json[index + 1] == '/') + { + index += 2; + do + { + c = json[index]; + if (c == '\r' || c == '\n') break; + } while (++index < length); + } + + if (c > ' ') break; + if (c != ' ' && c != '\t' && c != '\n' && c != '\r') break; + + } while (++index < length); + + if (index == length) throw new Exception("Reached end of string unexpectedly"); + + c = json[index]; + + index++; + + switch (c) + { + case '{': + return Token.Curly_Open; + + case '}': + return Token.Curly_Close; + + case '[': + return Token.Squared_Open; + + case ']': + return Token.Squared_Close; + + case ',': + return Token.Comma; + + case '"': + return Token.String; + + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case '-': + case '+': + case '.': + return Token.Number; + + case ':': + return Token.Colon; + + case 'f': + if (length - index >= 4 && + json[index + 0] == 'a' && + json[index + 1] == 'l' && + json[index + 2] == 's' && + json[index + 3] == 'e') + { + index += 4; + return Token.False; + } + + break; + + case 't': + if (length - index >= 3 && + json[index + 0] == 'r' && + json[index + 1] == 'u' && + json[index + 2] == 'e') + { + index += 3; + return Token.True; + } + + break; + + case 'n': + if (length - index >= 3 && + json[index + 0] == 'u' && + json[index + 1] == 'l' && + json[index + 2] == 'l') + { + index += 3; + return Token.Null; + } + + break; + } + + throw new Exception("Could not find token at index " + --index); + } + + /// + /// Parse JSON string into RealWorldTerrainJsonItem + /// + /// JSON string + /// Root object + public static RealWorldTerrainJsonItem Parse(string json) + { + RealWorldTerrainJson instance = new RealWorldTerrainJson(json); + return instance.ParseValue(); + } + + /// + /// Parse JSON string into Dictonary, List and Object + /// + /// JSON string + /// Root object + public static object ParseDirect(string json) + { + RealWorldTerrainJson instance = new RealWorldTerrainJson(json); + return instance.ParseValueDirect(); + } + + private RealWorldTerrainJsonArray ParseArray() + { + RealWorldTerrainJsonArray array = new RealWorldTerrainJsonArray(); + lookAheadToken = Token.None; + + while (true) + { + switch (LookAhead()) + { + case Token.Comma: + lookAheadToken = Token.None; + break; + + case Token.Squared_Close: + lookAheadToken = Token.None; + return array; + + default: + array.Add(ParseValue()); + break; + } + } + } + + private List ParseArrayDirect() + { + List array = new List(); + lookAheadToken = Token.None; + + while (true) + { + switch (LookAhead()) + { + case Token.Comma: + lookAheadToken = Token.None; + break; + + case Token.Squared_Close: + lookAheadToken = Token.None; + return array; + + default: + array.Add(ParseValueDirect()); + break; + } + } + } + + private object ParseNumber() + { + lookAheadToken = Token.None; + + index--; + + long n = 0; + bool neg = false; + long decimalV = 0; + long exp = 0; + bool negExp = false; + + while (index < length) + { + char c = json[index]; + + if (c >= '0' && c <= '9') + { + n = n * 10 + (c - '0'); + decimalV *= 10; + } + else if (c == '.') + { + decimalV = 1; + } + else if (c == '-') neg = true; + else if (c == '+') neg = false; + else if (c == 'e' || c == 'E') + { + if (decimalV == 0) decimalV = 1; + index++; + exp = 0; + while (index < length) + { + c = json[index]; + if (c >= '0' && c <= '9') exp = exp * 10 + (c - '0'); + else if (c == '-') negExp = true; + else if (c == '+') negExp = false; + else break; + index++; + } + + break; + } + else break; + + index++; + } + + if (neg) n = -n; + if (decimalV != 0) + { + double v = n / (double) decimalV; + if (exp > 0) + { + if (negExp) v /= Math.Pow(10, exp); + else v *= Math.Pow(10, exp); + } + + return v; + } + + return n; + } + + private RealWorldTerrainJsonObject ParseObject() + { + RealWorldTerrainJsonObject obj = new RealWorldTerrainJsonObject(); + + lookAheadToken = Token.None; + + while (true) + { + switch (LookAhead()) + { + + case Token.Comma: + lookAheadToken = Token.None; + break; + + case Token.Curly_Close: + lookAheadToken = Token.None; + return obj; + + default: + { + string name = ParseString(); + if (NextToken() != Token.Colon) throw new Exception("Expected colon at index " + index); + obj.Add(name, ParseValue()); + } + break; + } + } + } + + private Dictionary ParseObjectDirect() + { + Dictionary obj = new Dictionary(); + + lookAheadToken = Token.None; + + while (true) + { + switch (LookAhead()) + { + + case Token.Comma: + lookAheadToken = Token.None; + break; + + case Token.Curly_Close: + lookAheadToken = Token.None; + return obj; + + default: + { + string name = ParseString(); + if (NextToken() != Token.Colon) throw new Exception("Expected colon at index " + index); + obj.Add(name, ParseValueDirect()); + } + break; + } + } + } + + private uint ParseSingleChar(char c1, uint multipliyer) + { + uint p1 = 0; + if (c1 >= '0' && c1 <= '9') p1 = (uint) (c1 - '0') * multipliyer; + else if (c1 >= 'A' && c1 <= 'F') p1 = (uint) (c1 - 'A' + 10) * multipliyer; + else if (c1 >= 'a' && c1 <= 'f') p1 = (uint) (c1 - 'a' + 10) * multipliyer; + return p1; + } + + private string ParseString() + { + lookAheadToken = Token.None; + + s.Length = 0; + + int runIndex = -1; + int l = length; + string p = json; + { + while (index < l) + { + char c = p[index++]; + + if (c == '"') + { + if (runIndex != -1) + { + if (s.Length == 0) return p.Substring(runIndex, index - runIndex - 1); + s.Append(p, runIndex, index - runIndex - 1); + } + + return s.ToString(); + } + + if (c != '\\') + { + if (runIndex == -1) runIndex = index - 1; + continue; + } + + if (index == l) break; + + if (runIndex != -1) + { + s.Append(p, runIndex, index - runIndex - 1); + runIndex = -1; + } + + switch (p[index++]) + { + case '"': + s.Append('"'); + break; + + case '\\': + s.Append('\\'); + break; + + case '/': + s.Append('/'); + break; + + case 'b': + s.Append('\b'); + break; + + case 'f': + s.Append('\f'); + break; + + case 'n': + s.Append('\n'); + break; + + case 'r': + s.Append('\r'); + break; + + case 't': + s.Append('\t'); + break; + + case 'u': + { + int remainingLength = l - index; + if (remainingLength < 4) break; + + uint codePoint = ParseUnicode(p[index], p[index + 1], p[index + 2], p[index + 3]); + s.Append((char) codePoint); + + index += 4; + } + break; + } + } + } + + throw new Exception("Unexpectedly reached end of string"); + } + + private uint ParseUnicode(char c1, char c2, char c3, char c4) + { + uint p1 = ParseSingleChar(c1, 0x1000); + uint p2 = ParseSingleChar(c2, 0x100); + uint p3 = ParseSingleChar(c3, 0x10); + uint p4 = ParseSingleChar(c4, 1); + + return p1 + p2 + p3 + p4; + } + + private RealWorldTerrainJsonItem ParseValue() + { + switch (LookAhead()) + { + case Token.Number: + object number = ParseNumber(); + return new RealWorldTerrainJsonValue(number, number is double ? RealWorldTerrainJsonValue.ValueType.DOUBLE : RealWorldTerrainJsonValue.ValueType.LONG); + + case Token.String: + return new RealWorldTerrainJsonValue(ParseString(), RealWorldTerrainJsonValue.ValueType.STRING); + + case Token.Curly_Open: + return ParseObject(); + + case Token.Squared_Open: + return ParseArray(); + + case Token.True: + lookAheadToken = Token.None; + return new RealWorldTerrainJsonValue(true, RealWorldTerrainJsonValue.ValueType.BOOLEAN); + + case Token.False: + lookAheadToken = Token.None; + return new RealWorldTerrainJsonValue(false, RealWorldTerrainJsonValue.ValueType.BOOLEAN); + + case Token.Null: + lookAheadToken = Token.None; + return new RealWorldTerrainJsonValue(null, RealWorldTerrainJsonValue.ValueType.NULL); + } + + throw new Exception("Unrecognized token at index" + index); + } + + private object ParseValueDirect() + { + switch (LookAhead()) + { + case Token.Number: + return ParseNumber(); + + case Token.String: + return ParseString(); + + case Token.Curly_Open: + return ParseObjectDirect(); + + case Token.Squared_Open: + return ParseArrayDirect(); + + case Token.True: + lookAheadToken = Token.None; + return true; + + case Token.False: + lookAheadToken = Token.None; + return false; + + case Token.Null: + lookAheadToken = Token.None; + return null; + } + + throw new Exception("Unrecognized token at index" + index); + } + + /// + /// Serializes an object to JSON. + /// + /// Object + /// A bitmask comprised of one or more BindingFlags that specify how the search is conducted. + /// JSON + public static RealWorldTerrainJsonItem Serialize(object obj, BindingFlags bindingFlags = BindingFlags.Instance | BindingFlags.Public) + { +#if !UNITY_WP_8_1 || UNITY_EDITOR + if (obj == null || obj is DBNull) return new RealWorldTerrainJsonValue(obj, RealWorldTerrainJsonValue.ValueType.NULL); +#else + if (obj == null) return new RealWorldTerrainJsonValue(obj, RealWorldTerrainJsonValue.ValueType.NULL); +#endif + if (obj is string || obj is bool || obj is int || obj is long || obj is short || obj is float || obj is double) return new RealWorldTerrainJsonValue(obj); + if (obj is UnityEngine.Object) + { + if (!(obj is Component || obj is ScriptableObject)) return new RealWorldTerrainJsonValue((obj as UnityEngine.Object).GetInstanceID()); + } + + if (obj is IDictionary) + { + IDictionary d = obj as IDictionary; + RealWorldTerrainJsonObject dv = new RealWorldTerrainJsonObject(); + ICollection keys = d.Keys; + ICollection values = d.Values; + IEnumerator keysEnum = keys.GetEnumerator(); + IEnumerator valuesEnum = values.GetEnumerator(); + while (keysEnum.MoveNext() && valuesEnum.MoveNext()) + { + object k = keysEnum.Current; + object v = valuesEnum.Current; + + dv.Add(k as string, Serialize(v, bindingFlags)); + } + + return dv; + } + + if (obj is IEnumerable) + { + IEnumerable v = (IEnumerable) obj; + RealWorldTerrainJsonArray array = new RealWorldTerrainJsonArray(); + foreach (var item in v) array.Add(Serialize(item, bindingFlags)); + return array; + } + + RealWorldTerrainJsonObject o = new RealWorldTerrainJsonObject(); + Type type = obj.GetType(); + + if (RealWorldTerrainReflectionHelper.CheckIfAnonymousType(type)) bindingFlags |= BindingFlags.NonPublic; + IEnumerable fields = RealWorldTerrainReflectionHelper.GetFields(type, bindingFlags); + foreach (FieldInfo field in fields) + { + string fieldName = field.Name; + if (field.Attributes == (FieldAttributes.Private | FieldAttributes.InitOnly)) + { + int startIndex = fieldName.IndexOf('<') + 1; + int endIndex = fieldName.IndexOf('>', startIndex); + if (endIndex != -1 && startIndex != -1) fieldName = fieldName.Substring(startIndex, endIndex - startIndex); + else fieldName = fieldName.Trim('<', '>'); + } + + o.Add(fieldName, Serialize(field.GetValue(obj))); + } + + return o; + } + + private enum Token + { + None = -1, + Curly_Open, + Curly_Close, + Squared_Open, + Squared_Close, + Colon, + Comma, + String, + Number, + True, + False, + Null + } + + /// + /// Alias of field used during deserialization. + /// + public class AliasAttribute : Attribute + { + /// + /// Aliases + /// + public readonly string[] aliases; + + /// + /// If true, the original field name will be ignored. + /// + public readonly bool ignoreFieldName; + + /// + /// Constructor + /// + /// If true, the original field name will be ignored. + /// Aliases + public AliasAttribute(bool ignoreFieldName, params string[] aliases) + { + if (aliases == null || aliases.Length == 0) throw new Exception("You must use at least one alias."); + + this.ignoreFieldName = ignoreFieldName; + this.aliases = aliases; + } + + /// + /// Constructor + /// + /// Aliases + public AliasAttribute(params string[] aliases) : this(false, aliases) + { + + } + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/JSON/RealWorldTerrainJson.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/JSON/RealWorldTerrainJson.cs.meta new file mode 100644 index 000000000..566821592 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/JSON/RealWorldTerrainJson.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: caeec121996ee584c9fa1e236d7947b4 +timeCreated: 1564669254 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/JSON/RealWorldTerrainJsonArray.cs b/Assets/Infinity Code/Real World Terrain/Scripts/JSON/RealWorldTerrainJsonArray.cs new file mode 100644 index 000000000..7389c771a --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/JSON/RealWorldTerrainJsonArray.cs @@ -0,0 +1,274 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System; +using System.Collections.Generic; +using System.Reflection; +using System.Text; +using InfinityCode.RealWorldTerrain.Utils; + +namespace InfinityCode.RealWorldTerrain.JSON +{ + /// + /// The wrapper for an array of JSON elements. + /// + public class RealWorldTerrainJsonArray : RealWorldTerrainJsonItem + { + private List _items; + private int _count; + + public List items + { + get { return _items; } + } + + /// + /// Count elements + /// + public int count + { + get { return _count; } + } + + public override RealWorldTerrainJsonItem this[int index] + { + get + { + if (index < 0 || index >= _count) return null; + return _items[index]; + } + } + + + public override RealWorldTerrainJsonItem this[string key] + { + get { return Get(key); } + } + + /// + /// Constructor + /// + public RealWorldTerrainJsonArray() + { + _items = new List(); + } + + /// + /// Adds an element to the array. + /// + /// Element + public void Add(RealWorldTerrainJsonItem item) + { + _items.Add(item); + _count++; + } + + /// + /// Adds an elements to the array. + /// + /// Array of elements + public void AddRange(RealWorldTerrainJsonArray collection) + { + if (collection == null) return; + _items.AddRange(collection._items); + _count += collection._count; + } + + public void AddRange(RealWorldTerrainJsonItem collection) + { + AddRange(collection as RealWorldTerrainJsonArray); + } + + public RealWorldTerrainJsonObject CreateObject() + { + RealWorldTerrainJsonObject obj = new RealWorldTerrainJsonObject(); + Add(obj); + return obj; + } + + public override object Deserialize(Type type, BindingFlags bindingFlags = BindingFlags.Instance | BindingFlags.Public) + { + if (_count == 0) return null; + + if (type.IsArray) + { + Type elementType = type.GetElementType(); + Array v = Array.CreateInstance(elementType, _count); + if (_items[0] is RealWorldTerrainJsonObject) + { + IEnumerable members = RealWorldTerrainReflectionHelper.GetMembers(elementType, bindingFlags); + for (int i = 0; i < _count; i++) + { + RealWorldTerrainJsonItem child = _items[i]; + object item = (child as RealWorldTerrainJsonObject).Deserialize(elementType, members, bindingFlags); + v.SetValue(item, i); + } + } + else + { + for (int i = 0; i < _count; i++) + { + RealWorldTerrainJsonItem child = _items[i]; + object item = child.Deserialize(elementType, bindingFlags); + v.SetValue(item, i); + } + } + + return v; + } + + if (RealWorldTerrainReflectionHelper.IsGenericType(type)) + { + Type listType = RealWorldTerrainReflectionHelper.GetGenericArguments(type)[0]; + object v = Activator.CreateInstance(type); + + if (_items[0] is RealWorldTerrainJsonObject) + { + IEnumerable members = RealWorldTerrainReflectionHelper.GetMembers(listType, BindingFlags.Instance | BindingFlags.Public); + for (int i = 0; i < _count; i++) + { + RealWorldTerrainJsonItem child = _items[i]; + object item = (child as RealWorldTerrainJsonObject).Deserialize(listType, members); + try + { + MethodInfo methodInfo = RealWorldTerrainReflectionHelper.GetMethod(type, "Add"); + if (methodInfo != null) methodInfo.Invoke(v, new[] { item }); + } + catch + { + } + } + } + else + { + for (int i = 0; i < _count; i++) + { + RealWorldTerrainJsonItem child = _items[i]; + object item = child.Deserialize(listType); + try + { + MethodInfo methodInfo = RealWorldTerrainReflectionHelper.GetMethod(type, "Add"); + if (methodInfo != null) methodInfo.Invoke(v, new[] { item }); + } + catch + { + } + } + } + + return v; + } + + + return null; + } + + private RealWorldTerrainJsonItem Get(string key) + { + if (string.IsNullOrEmpty(key)) return null; + + if (key.StartsWith("//")) + { + string k = key.Substring(2); + if (string.IsNullOrEmpty(k) || k.StartsWith("//")) return null; + return GetAll(k); + } + + return GetThis(key); + } + + private RealWorldTerrainJsonItem GetThis(string key) + { + int kindex; + + if (key.Contains("/")) + { + int index = key.IndexOf("/"); + string k = key.Substring(0, index); + string nextPart = key.Substring(index + 1); + + if (k == "*") + { + RealWorldTerrainJsonArray arr = new RealWorldTerrainJsonArray(); + for (int i = 0; i < _count; i++) + { + RealWorldTerrainJsonItem item = _items[i][nextPart]; + if (item != null) arr.Add(item); + } + + return arr; + } + + if (int.TryParse(k, out kindex)) + { + if (kindex < 0 || kindex >= _count) return null; + RealWorldTerrainJsonItem item = _items[kindex]; + return item[nextPart]; + } + } + + if (key == "*") return this; + if (int.TryParse(key, out kindex)) return this[kindex]; + return null; + } + + + public override RealWorldTerrainJsonItem GetAll(string k) + { + RealWorldTerrainJsonItem item = GetThis(k); + RealWorldTerrainJsonArray arr = null; + if (item != null) + { + arr = new RealWorldTerrainJsonArray(); + arr.Add(item); + } + + for (int i = 0; i < _count; i++) + { + item = _items[i]; + RealWorldTerrainJsonArray subArr = item.GetAll(k) as RealWorldTerrainJsonArray; + if (subArr != null) + { + if (arr == null) arr = new RealWorldTerrainJsonArray(); + arr.AddRange(subArr); + } + } + + return arr; + } + + public override IEnumerator GetEnumerator() + { + return _items.GetEnumerator(); + } + + /// + /// Parse a string that contains an array + /// + /// JSON string + /// Instance + public static RealWorldTerrainJsonArray ParseArray(string json) + { + return RealWorldTerrainJson.Parse(json) as RealWorldTerrainJsonArray; + } + + public override void ToJSON(StringBuilder b) + { + b.Append("["); + for (int i = 0; i < _count; i++) + { + if (i != 0) b.Append(","); + _items[i].ToJSON(b); + } + + b.Append("]"); + } + + public override object Value(Type type) + { + if (RealWorldTerrainReflectionHelper.IsValueType(type)) return Activator.CreateInstance(type); + return null; + + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/JSON/RealWorldTerrainJsonArray.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/JSON/RealWorldTerrainJsonArray.cs.meta new file mode 100644 index 000000000..fd60596e3 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/JSON/RealWorldTerrainJsonArray.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 4051daf2706fd35499b6795639764db5 +timeCreated: 1564669254 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/JSON/RealWorldTerrainJsonItem.cs b/Assets/Infinity Code/Real World Terrain/Scripts/JSON/RealWorldTerrainJsonItem.cs new file mode 100644 index 000000000..675f31840 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/JSON/RealWorldTerrainJsonItem.cs @@ -0,0 +1,145 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Reflection; +using System.Text; + +namespace InfinityCode.RealWorldTerrain.JSON +{ + /// + /// The base class of JSON elements. + /// + public abstract class RealWorldTerrainJsonItem : IEnumerable + { + /// + /// Get the element by index + /// + /// Index of element + /// Element + public abstract RealWorldTerrainJsonItem this[int index] { get; } + + /// + /// Get the element by key.\n + /// Supports XPath like selectors:\n + /// ["key"] - get element by key.\n + /// ["key1/key2"] - get element key2, which is a child of the element key1.\n + /// ["key/N"] - where N is number. Get array element by index N, which is a child of the element key1.\n + /// ["key/*"] - get all array elements, which is a child of the element key1.\n + /// ["//key"] - get all elements with the key on the first or the deeper levels of the current element. \n + /// + /// Element key + /// Element + public abstract RealWorldTerrainJsonItem this[string key] { get; } + + /// + /// Serializes the object and adds to the current json node. + /// + /// Object + /// Current json node + public virtual RealWorldTerrainJsonItem AppendObject(object obj) + { + throw new Exception("AppendObject is only allowed for RealWorldTerrainJsonObject."); + } + + /// + /// Returns the value of the child element, converted to the specified type. + /// + /// Type of variable + /// Child element key + /// Value + public T ChildValue(string childName) + { + RealWorldTerrainJsonItem el = this[childName]; + if (el == null) return default(T); + return el.Value(); + } + + /// + /// Deserializes current element + /// + /// Type + /// Object + public T Deserialize(BindingFlags bindingFlags = BindingFlags.Instance | BindingFlags.Public) + { + return (T) Deserialize(typeof(T), bindingFlags); + } + + /// + /// Deserializes current element + /// + /// Type + /// Object + public abstract object Deserialize(Type type, BindingFlags bindingFlags = BindingFlags.Instance | BindingFlags.Public); + + /// + /// Get all elements with the key on the first or the deeper levels of the current element. + /// + /// Key + /// Elements + public abstract RealWorldTerrainJsonItem GetAll(string key); + + /// + /// Converts the current and the child elements to JSON string. + /// + /// StringBuilder instance + public abstract void ToJSON(StringBuilder b); + + IEnumerator IEnumerable.GetEnumerator() + { + return GetEnumerator(); + } + + public virtual IEnumerator GetEnumerator() + { + return null; + } + + public override string ToString() + { + StringBuilder b = new StringBuilder(); + ToJSON(b); + return b.ToString(); + } + + /// + /// Returns the value of the element, converted to the specified type. + /// + /// Type of variable + /// Value + public abstract object Value(Type type); + + /// + /// Returns the value of the element, converted to the specified type. + /// + /// Type of variable + /// Value + public virtual T Value() + { + return (T) Value(typeof(T)); + } + + /// + /// Returns the value of the element, converted to the specified type. + /// + /// Type of variable + /// Value + public T V() + { + return Value(); + } + + /// + /// Returns the value of the child element, converted to the specified type. + /// + /// Type of variable + /// Child element key + /// Value + public T V(string childName) + { + return ChildValue(childName); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/JSON/RealWorldTerrainJsonItem.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/JSON/RealWorldTerrainJsonItem.cs.meta new file mode 100644 index 000000000..0ea846a00 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/JSON/RealWorldTerrainJsonItem.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: f76b4b0f8b1c1b54d8656a77ca5d340c +timeCreated: 1564669254 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/JSON/RealWorldTerrainJsonObject.cs b/Assets/Infinity Code/Real World Terrain/Scripts/JSON/RealWorldTerrainJsonObject.cs new file mode 100644 index 000000000..fa572bb7c --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/JSON/RealWorldTerrainJsonObject.cs @@ -0,0 +1,325 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System; +using System.Collections.Generic; +using System.Reflection; +using System.Text; +using InfinityCode.RealWorldTerrain.Utils; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.JSON +{ + /// + /// The wrapper for JSON dictonary. + /// + public class RealWorldTerrainJsonObject : RealWorldTerrainJsonItem + { + private Dictionary _table; + + /// + /// Dictionary of items + /// + public Dictionary table + { + get { return _table; } + } + + public override RealWorldTerrainJsonItem this[string key] + { + get { return Get(key); } + } + + public override RealWorldTerrainJsonItem this[int index] + { + get + { + if (index < 0) return null; + + int i = 0; + foreach (KeyValuePair pair in _table) + { + if (i == index) return pair.Value; + i++; + } + + return null; + } + } + + /// + /// Constructor + /// + public RealWorldTerrainJsonObject() + { + _table = new Dictionary(); + } + + /// + /// Adds element to the dictionary + /// + /// Key + /// Value + public void Add(string name, RealWorldTerrainJsonItem value) + { + _table[name] = value; + } + + public void Add(string name, object value) + { + if (value is string || value is bool || value is int || value is long || value is short || value is float || value is double) _table[name] = new RealWorldTerrainJsonValue(value); + else if (value is UnityEngine.Object) + { + _table[name] = new RealWorldTerrainJsonValue((value as UnityEngine.Object).GetInstanceID()); + } + else _table[name] = RealWorldTerrainJson.Serialize(value, BindingFlags.Instance | BindingFlags.Public); + } + + public void Add(string name, object value, RealWorldTerrainJsonValue.ValueType valueType) + { + _table[name] = new RealWorldTerrainJsonValue(value, valueType); + } + + public override RealWorldTerrainJsonItem AppendObject(object obj) + { + Combine(RealWorldTerrainJson.Serialize(obj)); + return this; + } + + /// + /// Combines two JSON Object. + /// + /// Other JSON Object + /// Overwrite the existing values? + public void Combine(RealWorldTerrainJsonItem other, bool overwriteExistingValues = false) + { + RealWorldTerrainJsonObject otherObj = other as RealWorldTerrainJsonObject; + if (otherObj == null) throw new Exception("Only RealWorldTerrainJsonObject is allowed to be combined."); + Dictionary otherDict = otherObj.table; + foreach (KeyValuePair pair in otherDict) + { + if (overwriteExistingValues || !_table.ContainsKey(pair.Key)) _table[pair.Key] = pair.Value; + } + } + + public bool Contains(string key) + { + return _table.ContainsKey(key); + } + + public RealWorldTerrainJsonArray CreateArray(string name) + { + RealWorldTerrainJsonArray array = new RealWorldTerrainJsonArray(); + Add(name, array); + return array; + } + + public RealWorldTerrainJsonObject CreateObject(string name) + { + RealWorldTerrainJsonObject obj = new RealWorldTerrainJsonObject(); + Add(name, obj); + return obj; + } + + public override object Deserialize(Type type, BindingFlags bindingFlags = BindingFlags.Instance | BindingFlags.Public) + { + IEnumerable members = RealWorldTerrainReflectionHelper.GetMembers(type, bindingFlags); + return Deserialize(type, members, bindingFlags); + } + + /// + /// Deserializes current element + /// + /// Type + /// Members of variable + /// Object + public object Deserialize(Type type, IEnumerable members, BindingFlags bindingFlags = BindingFlags.Instance | BindingFlags.Public) + { + object v = Activator.CreateInstance(type); + DeserializeObject(v, members, bindingFlags); + return v; + } + + public void DeserializeObject(object obj, BindingFlags bindingFlags = BindingFlags.Instance | BindingFlags.Public) + { + IEnumerable members = RealWorldTerrainReflectionHelper.GetMembers(obj.GetType(), bindingFlags); + DeserializeObject(obj, members); + } + + public void DeserializeObject(object obj, IEnumerable members, BindingFlags bindingFlags = BindingFlags.Instance | BindingFlags.Public) + { + foreach (MemberInfo member in members) + { +#if !NETFX_CORE + MemberTypes memberType = member.MemberType; + if (memberType != MemberTypes.Field && memberType != MemberTypes.Property) continue; +#else + MemberTypes memberType; + if (member is PropertyInfo) memberType = MemberTypes.Property; + else if (member is FieldInfo) memberType = MemberTypes.Field; + else continue; +#endif + + if (memberType == MemberTypes.Property && !((PropertyInfo) member).CanWrite) continue; + RealWorldTerrainJsonItem item; + +#if !NETFX_CORE + object[] attributes = member.GetCustomAttributes(typeof(RealWorldTerrainJson.AliasAttribute), true); + RealWorldTerrainJson.AliasAttribute alias = attributes.Length > 0 ? attributes[0] as RealWorldTerrainJson.AliasAttribute : null; +#else + IEnumerable attributes = member.GetCustomAttributes(typeof(RealWorldTerrainJson.AliasAttribute), true); + RealWorldTerrainJson.AliasAttribute alias = null; + foreach (Attribute a in attributes) + { + alias = a as RealWorldTerrainJson.AliasAttribute; + break; + } +#endif + if (alias == null || !alias.ignoreFieldName) + { + if (_table.TryGetValue(member.Name, out item)) + { + Type t = memberType == MemberTypes.Field ? ((FieldInfo) member).FieldType : ((PropertyInfo) member).PropertyType; + if (memberType == MemberTypes.Field) ((FieldInfo) member).SetValue(obj, item.Deserialize(t, bindingFlags)); + else ((PropertyInfo) member).SetValue(obj, item.Deserialize(t, bindingFlags), null); + continue; + } + } + + if (alias != null) + { + for (int j = 0; j < alias.aliases.Length; j++) + { + if (_table.TryGetValue(alias.aliases[j], out item)) + { + Type t = memberType == MemberTypes.Field ? ((FieldInfo) member).FieldType : ((PropertyInfo) member).PropertyType; + if (memberType == MemberTypes.Field) ((FieldInfo) member).SetValue(obj, item.Deserialize(t, bindingFlags)); + else ((PropertyInfo) member).SetValue(obj, item.Deserialize(t, bindingFlags), null); + break; + } + } + } + } + } + + private RealWorldTerrainJsonItem Get(string key) + { + if (string.IsNullOrEmpty(key)) return null; + + if (key.Length > 2 && key[0] == '/' && key[1] == '/') + { + string k = key.Substring(2); + if (string.IsNullOrEmpty(k) || k.StartsWith("//")) return null; + return GetAll(k); + } + + return GetThis(key); + } + + private RealWorldTerrainJsonItem GetThis(string key) + { + RealWorldTerrainJsonItem item; + int index = -1; + for (int i = 0; i < key.Length; i++) + { + if (key[i] == '/') + { + index = i; + break; + } + } + + if (index != -1) + { + string k = key.Substring(0, index); + if (!string.IsNullOrEmpty(k)) + { + if (_table.TryGetValue(k, out item)) + { + string nextPart = key.Substring(index + 1); + return item[nextPart]; + } + } + + return null; + } + + if (_table.TryGetValue(key, out item)) return item; + return null; + } + + public override RealWorldTerrainJsonItem GetAll(string k) + { + RealWorldTerrainJsonItem item = GetThis(k); + RealWorldTerrainJsonArray arr = null; + if (item != null) + { + arr = new RealWorldTerrainJsonArray(); + arr.Add(item); + } + + var enumerator = _table.GetEnumerator(); + while (enumerator.MoveNext()) + { + item = enumerator.Current.Value; + RealWorldTerrainJsonArray subArr = item.GetAll(k) as RealWorldTerrainJsonArray; + if (subArr != null) + { + if (arr == null) arr = new RealWorldTerrainJsonArray(); + arr.AddRange(subArr); + } + } + + return arr; + } + + public override IEnumerator GetEnumerator() + { + return _table.Values.GetEnumerator(); + } + + /// + /// Parse a string that contains JSON dictonary + /// + /// String that contains JSON dictonary + /// Instance + public static RealWorldTerrainJsonObject ParseObject(string json) + { + return RealWorldTerrainJson.Parse(json) as RealWorldTerrainJsonObject; + } + + public RealWorldTerrainJsonItem Remove(string key) + { + RealWorldTerrainJsonItem item; + if (_table.TryGetValue(key, out item)) + { + _table.Remove(key); + return item; + } + + return null; + } + + public override void ToJSON(StringBuilder b) + { + b.Append("{"); + bool hasChilds = false; + foreach (KeyValuePair pair in _table) + { + b.Append("\"").Append(pair.Key).Append("\"").Append(":"); + pair.Value.ToJSON(b); + b.Append(","); + hasChilds = true; + } + + if (hasChilds) b.Remove(b.Length - 1, 1); + b.Append("}"); + } + + public override object Value(Type type) + { + if (RealWorldTerrainReflectionHelper.IsValueType(type)) return Activator.CreateInstance(type); + return Deserialize(type); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/JSON/RealWorldTerrainJsonObject.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/JSON/RealWorldTerrainJsonObject.cs.meta new file mode 100644 index 000000000..b93bd91cd --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/JSON/RealWorldTerrainJsonObject.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e795b994aaf01f2478404364e8b3b62a +timeCreated: 1564669254 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/JSON/RealWorldTerrainJsonValue.cs b/Assets/Infinity Code/Real World Terrain/Scripts/JSON/RealWorldTerrainJsonValue.cs new file mode 100644 index 000000000..582481520 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/JSON/RealWorldTerrainJsonValue.cs @@ -0,0 +1,263 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Reflection; +using System.Text; +using InfinityCode.RealWorldTerrain.Utils; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.JSON +{ + /// + /// The wrapper for JSON value. + /// + public class RealWorldTerrainJsonValue : RealWorldTerrainJsonItem + { + private ValueType _type; + private object _value; + + public override RealWorldTerrainJsonItem this[string key] + { + get { return null; } + } + + public override RealWorldTerrainJsonItem this[int index] + { + get { return null; } + } + + /// + /// Gets / sets the current value + /// + public object value + { + get { return _value; } + set + { +#if !UNITY_WP_8_1 || UNITY_EDITOR + if (value == null || value is DBNull) +#else + if (value == null) +#endif + { + _type = ValueType.NULL; + _value = value; + } + else if (value is string) + { + _type = ValueType.STRING; + _value = value; + } + else if (value is double) + { + _type = ValueType.DOUBLE; + _value = (double) value; + } + else if (value is float) + { + _type = ValueType.DOUBLE; + _value = (double) (float) value; + } + else if (value is bool) + { + _type = ValueType.BOOLEAN; + _value = value; + } + else if (value is long) + { + _type = ValueType.LONG; + _value = value; + } + else if (value is int || value is short || value is byte) + { + _type = ValueType.LONG; + _value = Convert.ChangeType(value, typeof(long)); + } + else throw new Exception("Unknown type of value."); + } + } + + /// + /// Get the type of value + /// + public ValueType type + { + get { return _type; } + } + + /// + /// Constructor + /// + /// Value + public RealWorldTerrainJsonValue(object value) + { + this.value = value; + } + + /// + /// Constructor + /// + /// Value + /// Type of value + public RealWorldTerrainJsonValue(object value, ValueType type) + { + _value = value; + _type = type; + } + + public override object Deserialize(Type type, BindingFlags bindingFlags = BindingFlags.Instance | BindingFlags.Public) + { + return Value(type); + } + + public override RealWorldTerrainJsonItem GetAll(string key) + { + return null; + } + + public override void ToJSON(StringBuilder b) + { + if (_type == ValueType.STRING) WriteString(b); + else if (_type == ValueType.NULL) b.Append("null"); + else if (_type == ValueType.BOOLEAN) b.Append((bool) _value ? "true" : "false"); + else if (_type == ValueType.DOUBLE) b.Append(((double) value).ToString(RealWorldTerrainCultureInfo.cultureInfo)); + else b.Append(value); + } + + public override IEnumerator GetEnumerator() + { + yield return this; + } + + public override string ToString() + { + if (type == ValueType.DOUBLE) return ((double) value).ToString(RealWorldTerrainCultureInfo.cultureInfo); + return value.ToString(); + } + + public override object Value(Type t) + { + if (_type == ValueType.NULL || _value == null) + { + if (RealWorldTerrainReflectionHelper.IsValueType(t)) return Activator.CreateInstance(t); + return null; + } + + if (t == typeof(string)) return Convert.ChangeType(_value, t); + + if (_type == ValueType.BOOLEAN) + { + if (t == typeof(bool)) return Convert.ChangeType(_value, t); + } + else if (_type == ValueType.DOUBLE) + { + if (t == typeof(double)) return Convert.ChangeType(_value, t, RealWorldTerrainCultureInfo.numberFormat); + if (t == typeof(float)) return Convert.ChangeType((double) _value, t, RealWorldTerrainCultureInfo.numberFormat); + } + else if (_type == ValueType.LONG) + { + if (t == typeof(long)) return Convert.ChangeType(_value, t); +#if UNITY_EDITOR + if (t.IsSubclassOf(typeof(UnityEngine.Object))) + { + return UnityEditor.EditorUtility.InstanceIDToObject((int) (long) _value); + } +#endif + + try + { + return Convert.ChangeType((long) _value, t); + } + catch (Exception e) + { + Debug.Log(e.Message + "\n" + e.StackTrace); + return null; + } + } + else if (_type == ValueType.STRING) + { + MethodInfo method = RealWorldTerrainReflectionHelper.GetMethod(t, "Parse", new[] {typeof(string), typeof(IFormatProvider)}); + if (method != null) return method.Invoke(null, new object[] {value, RealWorldTerrainCultureInfo.numberFormat}); + + method = RealWorldTerrainReflectionHelper.GetMethod(t, "Parse", new[] {typeof(string)}); + return method.Invoke(null, new[] {value}); + } + + StringBuilder builder = new StringBuilder(); + ToJSON(builder); + throw new InvalidCastException(t.FullName + "\n" + builder); + } + + private void WriteString(StringBuilder b) + { + b.Append('\"'); + + string s = value as string; + + int runIndex = -1; + int l = s.Length; + for (var index = 0; index < l; ++index) + { + var c = s[index]; + + if (c >= ' ' && c < 128 && c != '\"' && c != '\\') + { + if (runIndex == -1) runIndex = index; + + continue; + } + + if (runIndex != -1) + { + b.Append(s, runIndex, index - runIndex); + runIndex = -1; + } + + switch (c) + { + case '\t': + b.Append("\\t"); + break; + case '\r': + b.Append("\\r"); + break; + case '\n': + b.Append("\\n"); + break; + case '"': + case '\\': + b.Append('\\'); + b.Append(c); + break; + default: + b.Append("\\u"); + b.Append(((int) c).ToString("X4", NumberFormatInfo.InvariantInfo)); + break; + } + } + + if (runIndex != -1) b.Append(s, runIndex, s.Length - runIndex); + b.Append('\"'); + } + + public static implicit operator string(RealWorldTerrainJsonValue val) + { + return val.ToString(); + } + + /// + /// Type of value + /// + public enum ValueType + { + DOUBLE, + LONG, + STRING, + BOOLEAN, + NULL + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/JSON/RealWorldTerrainJsonValue.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/JSON/RealWorldTerrainJsonValue.cs.meta new file mode 100644 index 000000000..09b63fb5b --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/JSON/RealWorldTerrainJsonValue.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 978ceaf2c164ae545bfd24fb23c24135 +timeCreated: 1564669254 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/OSM.meta b/Assets/Infinity Code/Real World Terrain/Scripts/OSM.meta new file mode 100644 index 000000000..4f109ec72 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/OSM.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 707c180bd05687145b8ed4c619c6becc +folderAsset: yes +timeCreated: 1470870903 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMBase.cs b/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMBase.cs new file mode 100644 index 000000000..3a6504090 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMBase.cs @@ -0,0 +1,90 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System.Collections.Generic; +using System.Linq; + +namespace InfinityCode.RealWorldTerrain.OSM +{ + /// + /// The base class for the Open Street Map objects. + /// + public class RealWorldTerrainOSMBase + { + /// + /// ID. + /// + public string id; + + /// + /// List of tags. + /// + public List tags; + + public bool Equals(RealWorldTerrainOSMBase other) + { + if (ReferenceEquals(other, null)) return false; + if (ReferenceEquals(this, other)) return true; + return id == other.id; + } + + public override int GetHashCode() + { + return id.GetHashCode(); + } + + /// + /// Gets tag value by key. + /// + /// Tag key. + /// Tag value or string.Empty. + public string GetTagValue(string key) + { + List curTags = tags.Where(tag => tag.key == key).ToList(); + if (curTags.Count > 0) return curTags[0].value; + return string.Empty; + } + + /// + /// Checks tag with the specified pair (key, value). + /// + /// Tag key. + /// Tag value. + /// True - success, False - otherwise. + public bool HasTag(string key, string value) + { + return tags.Any(t => t.key == key && t.value == value); + } + + /// + /// Checks whether there is a tag with at least one of the keys. + /// + /// Keys + /// True - success, False - otherwise. + public bool HasTagKey(params string[] keys) + { + return keys.Any(key => tags.Any(t => t.key == key)); + } + + /// + /// Checks whether there is a tag with at least one of the values. + /// + /// Values + /// True - success, False - otherwise. + public bool HasTagValue(params string[] values) + { + return values.Any(val => tags.Any(t => t.value == val)); + } + + /// + /// Checks whether there is a tag with key and at least one of the values. + /// + /// Key + /// Values + /// True - success, False - otherwise. + public bool HasTags(string key, params string[] values) + { + return tags.Any(tag => tag.key == key && values.Any(v => v == tag.value)); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMBase.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMBase.cs.meta new file mode 100644 index 000000000..06fc9cf24 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMBase.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 2567b45e9f6c55c469481e7d66ae8c36 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMMeta.cs b/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMMeta.cs new file mode 100644 index 000000000..c9fbab459 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMMeta.cs @@ -0,0 +1,79 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.Collections.Generic; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.OSM +{ + /// + /// This class contains meta-information about the building. + /// + [Serializable] + [AddComponentMenu("")] + public class RealWorldTerrainOSMMeta : MonoBehaviour + { + /// + /// The coordinate of the center point of the building + /// + public Vector2 center; + + /// + /// Indicates that building has a URL. + /// + public bool hasURL; + + /// + /// Indicates that building has a website. + /// + public bool hasWebsite; + + /// + /// Indicates that building has a Wikipedia page. + /// + public bool hasWikipedia; + + /// + /// Array of meta-information. + /// + public RealWorldTerrainOSMMetaTag[] metaInfo; + + private void AddInfo(string title, string info) + { + if (metaInfo == null) metaInfo = new RealWorldTerrainOSMMetaTag[0]; + + List metaList = new List(metaInfo) + { + new RealWorldTerrainOSMMetaTag {info = info, title = title} + }; + + if (title == "url") hasURL = true; + else if (title == "website") hasWebsite = true; + else if (title == "wikipedia") hasWikipedia = true; + + metaInfo = metaList.ToArray(); + } + + public bool ContainKeyOrValue(string tag, bool searchInKey, bool searchInValue) + { + if (metaInfo == null) return false; + + for (int i = 0; i < metaInfo.Length; i++) + { + RealWorldTerrainOSMMetaTag t = metaInfo[i]; + if (t.CompareKeyOrValue(tag, searchInKey, searchInValue)) return true; + } + + return false; + } + + public RealWorldTerrainOSMMeta GetFromOSM(RealWorldTerrainOSMBase item, Vector2 center = default(Vector2)) + { + foreach (RealWorldTerrainOSMTag itemTag in item.tags) AddInfo(itemTag.key, itemTag.value); + this.center = center; + + return this; + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMMeta.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMMeta.cs.meta new file mode 100644 index 000000000..33605328c --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMMeta.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 8d9f90e465e57fa4db45f03cbee896f7 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMMetaTag.cs b/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMMetaTag.cs new file mode 100644 index 000000000..b1e49e98c --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMMetaTag.cs @@ -0,0 +1,54 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System; + +namespace InfinityCode.RealWorldTerrain.OSM +{ + /// + /// Class of meta-information (key / value). + /// + [Serializable] + public class RealWorldTerrainOSMMetaTag + { + /// + /// Key title. + /// + public string title; + + /// + /// Tag value. + /// + public string info; + + public bool CompareKeyOrValue(string value, bool searchInKey, bool searchInValue) + { + return (searchInKey && CompareString(title, value)) || (searchInValue && CompareString(info, value)); + } + + private bool CompareString(string v1, string v2) + { + if (v1 == null || v2 == null) return false; + if (v2.Length > v1.Length) return false; + + for (int i = 0; i < v1.Length - v2.Length + 1; i++) + { + bool success = true; + for (int j = 0; j < v2.Length; j++) + { + char c1 = char.ToUpperInvariant(v1[i + j]); + char c2 = v2[j]; + if (c1 != c2) + { + success = false; + break; + } + } + + if (success) return true; + } + + return false; + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMMetaTag.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMMetaTag.cs.meta new file mode 100644 index 000000000..75fa41b5b --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMMetaTag.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 8c9e6c1935b182b438600bebe8bf791d +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMNode.cs b/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMNode.cs new file mode 100644 index 000000000..e50392873 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMNode.cs @@ -0,0 +1,58 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System.Collections.Generic; +using System.IO; +using System.Xml; + +namespace InfinityCode.RealWorldTerrain.OSM +{ + /// + /// Class for OSM Node. + /// + public class RealWorldTerrainOSMNode : RealWorldTerrainOSMBase + { + /// + /// Latitude. + /// + public readonly float lat; + + /// + /// Longitude. + /// + public readonly float lng; + + public int usageCount; + + public RealWorldTerrainOSMNode(BinaryReader br) + { + id = br.ReadInt64().ToString(); + lat = br.ReadSingle(); + lng = br.ReadSingle(); + + tags = new List(); + int tagCount = br.ReadInt32(); + for (int i = 0; i < tagCount; i++) tags.Add(new RealWorldTerrainOSMTag(br)); + } + + public RealWorldTerrainOSMNode(XmlNode node) + { + id = node.Attributes["id"].Value; + lat = float.Parse(node.Attributes["lat"].Value, RealWorldTerrainCultureInfo.numberFormat); + lng = float.Parse(node.Attributes["lon"].Value, RealWorldTerrainCultureInfo.numberFormat); + + tags = new List(); + + foreach (XmlNode subNode in node.ChildNodes) tags.Add(new RealWorldTerrainOSMTag(subNode)); + } + + public void Write(BinaryWriter bw) + { + bw.Write(long.Parse(id)); + bw.Write(lat); + bw.Write(lng); + bw.Write(tags.Count); + foreach (RealWorldTerrainOSMTag tag in tags) tag.Write(bw); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMNode.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMNode.cs.meta new file mode 100644 index 000000000..b9f217ae1 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMNode.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 813a158b506932448a643b86e237532d +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMRelation.cs b/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMRelation.cs new file mode 100644 index 000000000..0ff44ef74 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMRelation.cs @@ -0,0 +1,54 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System.Collections.Generic; +using System.IO; +using System.Xml; + +namespace InfinityCode.RealWorldTerrain.OSM +{ + /// + /// Class for OSM Relation. + /// + public class RealWorldTerrainOSMRelation : RealWorldTerrainOSMBase + { + /// + /// List of relation members. + /// + public readonly List members; + + public RealWorldTerrainOSMRelation(BinaryReader br) + { + id = br.ReadInt64().ToString(); + members = new List(); + tags = new List(); + + int memberCount = br.ReadInt32(); + for (int i = 0; i < memberCount; i++) members.Add(new RealWorldTerrainOSMRelationMember(br)); + int tagCount = br.ReadInt32(); + for (int i = 0; i < tagCount; i++) tags.Add(new RealWorldTerrainOSMTag(br)); + } + + public RealWorldTerrainOSMRelation(XmlNode node) + { + id = node.Attributes["id"].Value; + members = new List(); + tags = new List(); + + foreach (XmlNode subNode in node.ChildNodes) + { + if (subNode.Name == "member") members.Add(new RealWorldTerrainOSMRelationMember(subNode)); + else if (subNode.Name == "tag") tags.Add(new RealWorldTerrainOSMTag(subNode)); + } + } + + public void Write(BinaryWriter bw) + { + bw.Write(long.Parse(id)); + bw.Write(members.Count); + foreach (RealWorldTerrainOSMRelationMember member in members) member.Write(bw); + bw.Write(tags.Count); + foreach (RealWorldTerrainOSMTag tag in tags) tag.Write(bw); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMRelation.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMRelation.cs.meta new file mode 100644 index 000000000..ead5e0dc0 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMRelation.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 68843b641d86d9044ac921b6f1640624 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMRelationMember.cs b/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMRelationMember.cs new file mode 100644 index 000000000..226b4fe31 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMRelationMember.cs @@ -0,0 +1,50 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System.IO; +using System.Xml; + +namespace InfinityCode.RealWorldTerrain.OSM +{ + /// + /// Class for OSM Relation member. + /// + public class RealWorldTerrainOSMRelationMember + { + /// + /// ID of OSM Way. + /// + public readonly string reference; + + /// + /// Role of member. + /// + public readonly string role; + + /// + /// Type of member. + /// + public readonly string type; + + public RealWorldTerrainOSMRelationMember(BinaryReader br) + { + type = br.ReadString(); + reference = br.ReadInt64().ToString(); + role = br.ReadString(); + } + + public RealWorldTerrainOSMRelationMember(XmlNode node) + { + type = node.Attributes["type"].Value; + reference = node.Attributes["ref"].Value; + role = node.Attributes["role"].Value; + } + + public void Write(BinaryWriter bw) + { + bw.Write(type); + bw.Write(long.Parse(reference)); + bw.Write(role); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMRelationMember.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMRelationMember.cs.meta new file mode 100644 index 000000000..14821a5ab --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMRelationMember.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 41d9eb42d9cce7f49b888427fa9b0579 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMTag.cs b/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMTag.cs new file mode 100644 index 000000000..75949abc7 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMTag.cs @@ -0,0 +1,42 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System.IO; +using System.Xml; + +namespace InfinityCode.RealWorldTerrain.OSM +{ + /// + /// Class for OSM Tag. + /// + public class RealWorldTerrainOSMTag + { + /// + /// Tag key. + /// + public readonly string key; + + /// + /// Tag value. + /// + public readonly string value; + + public RealWorldTerrainOSMTag(BinaryReader br) + { + key = br.ReadString(); + value = br.ReadString(); + } + + public RealWorldTerrainOSMTag(XmlNode node) + { + key = node.Attributes["k"].Value; + value = node.Attributes["v"].Value; + } + + public void Write(BinaryWriter bw) + { + bw.Write(key); + bw.Write(value); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMTag.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMTag.cs.meta new file mode 100644 index 000000000..a2cde5710 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMTag.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: a4ccfe1e3ad3aa742a775d915402ee0c +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMWay.cs b/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMWay.cs new file mode 100644 index 000000000..ae462af45 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMWay.cs @@ -0,0 +1,59 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System.Collections.Generic; +using System.IO; +using System.Xml; + +namespace InfinityCode.RealWorldTerrain.OSM +{ + /// + /// Class for OSM Way. + /// + public class RealWorldTerrainOSMWay : RealWorldTerrainOSMBase + { + /// + /// List of OSM Node ID. + /// + public List nodeRefs; + + public List holes; + + public RealWorldTerrainOSMWay() + { + } + + public RealWorldTerrainOSMWay(BinaryReader br) + { + id = br.ReadInt64().ToString(); + nodeRefs = new List(); + tags = new List(); + int refCount = br.ReadInt32(); + for (int i = 0; i < refCount; i++) nodeRefs.Add(br.ReadInt64().ToString()); + int tagCount = br.ReadInt32(); + for (int i = 0; i < tagCount; i++) tags.Add(new RealWorldTerrainOSMTag(br)); + } + + public RealWorldTerrainOSMWay(XmlNode node) + { + id = node.Attributes["id"].Value; + nodeRefs = new List(); + tags = new List(); + + foreach (XmlNode subNode in node.ChildNodes) + { + if (subNode.Name == "nd") nodeRefs.Add(subNode.Attributes["ref"].Value); + else if (subNode.Name == "tag") tags.Add(new RealWorldTerrainOSMTag(subNode)); + } + } + + public void Write(BinaryWriter bw) + { + bw.Write(long.Parse(id)); + bw.Write(nodeRefs.Count); + foreach (string nodeRef in nodeRefs) bw.Write(long.Parse(nodeRef)); + bw.Write(tags.Count); + foreach (RealWorldTerrainOSMTag tag in tags) tag.Write(bw); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMWay.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMWay.cs.meta new file mode 100644 index 000000000..c93b92d2b --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/OSM/RealWorldTerrainOSMWay.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: ecbc837b795f0e94e97513a999795837 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Prefs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Prefs.meta new file mode 100644 index 000000000..989d5cab0 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Prefs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: afdfe6752c8bc4b47b05e2df6ef8f36d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Prefs/RealWorldTerrainPrefsBase.Buildings.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Prefs/RealWorldTerrainPrefsBase.Buildings.cs new file mode 100644 index 000000000..12ebe1b5f --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Prefs/RealWorldTerrainPrefsBase.Buildings.cs @@ -0,0 +1,111 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System.Collections.Generic; + +#if PROCEDURAL_TOOLKIT +using ProceduralToolkit.Buildings; +#endif + +namespace InfinityCode.RealWorldTerrain +{ + public partial class RealWorldTerrainPrefsBase + { + /// + /// Building depth below ground level + /// + public float buildingBasementDepth = 0; + + /// + /// Where to take height of the bottom points + /// + public RealWorldTerrainBuildingBottomMode buildingBottomMode = RealWorldTerrainBuildingBottomMode.followRealWorldData; + + /// + /// Height of the floor. + /// + public float buildingFloorHeight = 3.5f; + + /// + /// Range the number of floors buildings. + /// + public RealWorldTerrainRangeI buildingFloorLimits = new RealWorldTerrainRangeI(5, 7, 1, 50); + + /// + /// Index of building generator. + /// 0 - Built-in + /// 1 - BuildR + /// 2 - BuildR2 + /// 3 - Instantiate prefabs + /// + public int buildingGenerator = 0; + + /// + /// List of buildings materials. + /// + public List buildingMaterials; + + /// + /// List of prefabs to instantiate + /// + public List buildingPrefabs; + + /// + /// Whether to save meshes and materials of buildings in the assets folder. + /// When false, meshes and materials may be lost when the scene is saved. + /// + public bool buildingSaveInResult = true; + + /// + /// TRUE - All buildings will be loaded in one request to OSM Overpass, FALSE - buildings will be loaded in several requests (useful for megacities). + /// + public bool buildingSingleRequest = true; + + /// + /// Use colors from OSM? + /// + public bool buildingUseColorTags = false; + + /// + /// Type of collider for BuildR buildings. + /// + public RealWorldTerrainBuildR2Collider buildRCollider = RealWorldTerrainBuildR2Collider.none; + + /// + /// Generate colliders for BuildR3. + /// + public bool buildR3Collider = false; + + /// + /// Render mode for BuildR buildings. + /// + public RealWorldTerrainBuildR2RenderMode buildRRenderMode = RealWorldTerrainBuildR2RenderMode.full; + + public List buildR2Materials; + public List buildR3Materials; + + /// + /// Instance ID of BuildR generator style. + /// + public int customBuildRGeneratorStyle = 0; + + /// + /// Instance ID of BuildR generator texture pack. + /// + public int customBuildRGeneratorTexturePack = 0; + + /// + /// Array of BuildR presets. + /// + public RealWorldTerrainBuildRPresetsItem[] customBuildRPresets; + + public bool dynamicBuildings = true; + +#if PROCEDURAL_TOOLKIT + public FacadePlanningStrategy ptFacadePlanningStrategy; + public FacadeConstructionStrategy ptFacadeConstructionStrategy; + public RoofPlanningStrategy ptRoofPlanningStrategy; + public RoofConstructionStrategy ptRoofConstructionStrategy; +#endif + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Prefs/RealWorldTerrainPrefsBase.Buildings.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Prefs/RealWorldTerrainPrefsBase.Buildings.cs.meta new file mode 100644 index 000000000..f00dce97c --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Prefs/RealWorldTerrainPrefsBase.Buildings.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b4f4f6dc4d6250f42973f0188c0fb5f2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Prefs/RealWorldTerrainPrefsBase.Grass.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Prefs/RealWorldTerrainPrefsBase.Grass.cs new file mode 100644 index 000000000..96b42aabb --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Prefs/RealWorldTerrainPrefsBase.Grass.cs @@ -0,0 +1,33 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System.Collections.Generic; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain +{ + public partial class RealWorldTerrainPrefsBase + { + /// + /// Density of grass. + /// + public int grassDensity = 100; + + /// + /// Grass engine ID. + /// + public string grassEngine; + + /// + /// List of grass textures. + /// + public List grassPrefabs; + + public List vegetationStudioGrassTypes; + + /// + /// What to do with outside points for VolumeGrass? + /// + public RealWorldTerrainVolumeGrassOutsidePoints volumeGrassOutsidePoints; + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Prefs/RealWorldTerrainPrefsBase.Grass.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Prefs/RealWorldTerrainPrefsBase.Grass.cs.meta new file mode 100644 index 000000000..a0dbfa7c8 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Prefs/RealWorldTerrainPrefsBase.Grass.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a8c4881629c8dbf4e91ef71fc16d3316 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Prefs/RealWorldTerrainPrefsBase.Roads.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Prefs/RealWorldTerrainPrefsBase.Roads.cs new file mode 100644 index 000000000..e1fa31c41 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Prefs/RealWorldTerrainPrefsBase.Roads.cs @@ -0,0 +1,48 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain +{ + public partial class RealWorldTerrainPrefsBase + { + public string[] erRoadTypes; + + public bool erGenerateConnection = true; + + /// + /// EasyRoads3D SnapToTerrain + /// + public bool erSnapToTerrain = true; + + public float erWidthMultiplier = 1; + + public bool normalizeRoadDistances = true; + + /// + /// Name of road engine. + /// + public string roadEngine; + + /// + /// Types of roads that will be created. + /// + public RealWorldTerrainRoadType roadTypes = (RealWorldTerrainRoadType)(~0); + + /// + /// The mode of generation of road types + /// + public RealWorldTerrainRoadTypeMode roadTypeMode = RealWorldTerrainRoadTypeMode.simple; + + /// + /// The material that will be used to SplineBend roads. + /// + public Material splineBendMaterial; + + /// + /// The mesh that will be used to SplineBend roads. + /// + public Mesh splineBendMesh; + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Prefs/RealWorldTerrainPrefsBase.Roads.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Prefs/RealWorldTerrainPrefsBase.Roads.cs.meta new file mode 100644 index 000000000..ade8219db --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Prefs/RealWorldTerrainPrefsBase.Roads.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5a02c8ab3ec725943877e39683e5ce27 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Prefs/RealWorldTerrainPrefsBase.Terrain.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Prefs/RealWorldTerrainPrefsBase.Terrain.cs new file mode 100644 index 000000000..b6a12812f --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Prefs/RealWorldTerrainPrefsBase.Terrain.cs @@ -0,0 +1,161 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain +{ + public partial class RealWorldTerrainPrefsBase + { + /// + /// If disabled terrains will have zero Y at minimum elevation.
+ /// If enabled, terrains will have zero Y on the water line(zero elevation). + ///
+ public bool alignWaterLine; + + public Vector2 autoDetectElevationOffset = new Vector2(100, 100); + + /// + /// Resolution of the base map used for rendering far patches on the terrain. + /// + public int baseMapResolution = 1024; + + /// + /// Flag indicating that the zero is used as unknown value. + /// + public bool bingMapsUseZeroAsUnknown; + + /// + /// Resolution of control texture. + /// + public int controlTextureResolution = 512; + + /// + /// Escarpment of the seabed. Greater value - steeper slope. + /// + public float depthSharpness = 0; + + /// + /// The resolution of the map that controls grass and detail meshes.
+ /// For performance reasons (to save on draw calls) the lower you set this number the better. + ///
+ public int detailResolution = 2048; + + /// + /// Elevation provider + /// + public RealWorldTerrainElevationProvider elevationProvider = RealWorldTerrainElevationProvider.SRTM; + + public RealWorldTerrainElevationRange elevationRange = RealWorldTerrainElevationRange.autoDetect; + + public RealWorldTerrainElevationType elevationType = RealWorldTerrainElevationType.realWorld; + + /// + /// The fixed size of terrain.
+ /// X - Terrain Width
+ /// Y - Terrain Height
+ /// Z - Terrain Length + ///
+ public Vector3 fixedTerrainSize = new Vector3(500, 600, 500); + + /// + /// The resolution of GAIA stamp + /// + public int gaiaStampResolution = 1024; + + /// + /// Generate unknown underwater areas based on known data + /// + public bool generateUnderWater; + + /// + /// The HeightMap resolution for each Terrain. + /// + public int heightmapResolution = 129; + + /// + /// Errors of SRTM should be ignored? + /// + public bool ignoreSRTMErrors; + + public float fixedMaxElevation = 1000; + public float fixedMinElevation = 0; + + + /// + /// Type of max elevation value. + /// + public RealWorldTerrainMaxElevation maxElevationType = RealWorldTerrainMaxElevation.autoDetect; + + /// + /// Elevation value when there is no data. + /// + public short nodataValue; + + /// + /// The order of bytes in a RAW file. + /// + public RealWorldTerrainByteOrder rawByteOrder = RealWorldTerrainByteOrder.Windows; + + /// + /// Filename of RAW result + /// + public string rawFilename = "terrain"; + + /// + /// Height of RAW result + /// + public int rawHeight = 1024; + + /// + /// Width of RAW result + /// + public int rawWidth = 1024; + + /// + /// Type of RAW result + /// + public RealWorldTerrainRawType rawType = RealWorldTerrainRawType.RAW; + + /// + /// Specifies the size in pixels of each individually rendered detail patch.
+ /// A larger number reduces draw calls, but might increase triangle count since detail patches are culled on a per batch basis.
+ /// A recommended value is 16.
+ /// If you use a very large detail object distance and your grass is very sparse, it makes sense to increase the value. + ///
+ public int resolutionPerPatch = 16; + + /// + /// Type of result (terrain, mesh). + /// + public RealWorldTerrainResultType resultType = RealWorldTerrainResultType.terrain; + + /// + /// Specifies whether the projection will be determined by the size of the area.
+ /// 0 - Real world sizes.
+ /// 1 - Mercator sizes.
+ /// 2 - Fixed size. + ///
+ public int sizeType = 0; + + /// + /// Scale of terrains. + /// + public Vector3 terrainScale = Vector3.one; + + /// + /// The source of water detection. + /// + public RealWorldTerrainWaterDetectionSource waterDetectionSource = RealWorldTerrainWaterDetectionSource.texture; + + /// + /// The bit mask of water detection. + /// + public TextAsset waterDetectionBitMask; + + /// + /// The texture of water detection. + /// + public Texture2D waterDetectionTexture; + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Prefs/RealWorldTerrainPrefsBase.Terrain.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Prefs/RealWorldTerrainPrefsBase.Terrain.cs.meta new file mode 100644 index 000000000..5e2d182e1 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Prefs/RealWorldTerrainPrefsBase.Terrain.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a4bf248828f293544887a7e56df66868 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Prefs/RealWorldTerrainPrefsBase.Textures.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Prefs/RealWorldTerrainPrefsBase.Textures.cs new file mode 100644 index 000000000..7f3c028e6 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Prefs/RealWorldTerrainPrefsBase.Textures.cs @@ -0,0 +1,87 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System.Collections.Generic; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain +{ + public partial class RealWorldTerrainPrefsBase + { + public int hugeTexturePageSize = 2048; + public int hugeTextureRows = 13; + public int hugeTextureCols = 13; + + /// + /// Texture type ID. + /// + public string mapTypeID; + + /// + /// Texture type extra fields. + /// + public string mapTypeExtraFields; + + /// + /// The maximum level of zoom, to be used for texture generation.\n + /// 0 - Autodetect.\n + /// 1+ - Level of zoom. + /// + public int maxTextureLevel; + + /// + /// Reducing the size of the texture, reduces the time texture generation and memory usage. + /// + public bool reduceTextures = true; + + /// + /// Count of textures. + /// + public RealWorldTerrainVector2i textureCount = RealWorldTerrainVector2i.one; + + /// + /// Type of texture file output + /// + public RealWorldTerrainTextureFileType textureFileType = RealWorldTerrainTextureFileType.jpg; + + /// + /// Quality of file output + /// + public int textureFileQuality = 100; + + /// + /// Provider of textures. + /// + public RealWorldTerrainTextureProvider textureProvider = RealWorldTerrainTextureProvider.virtualEarth; + + /// + /// URL pattern of custom texture provider. + /// + public string textureProviderURL = "http://localhost/tiles/{zoom}/{x}/{y}"; + + /// + /// Size of texture. + /// + public RealWorldTerrainVector2i textureSize = new RealWorldTerrainVector2i(1024, 1024); + + /// + /// Use mip-mapping for textures (not recommended) + /// + public bool textureMipMaps = false; + + /// + /// Type of result texture + /// + public RealWorldTerrainTextureResultType textureResultType = RealWorldTerrainTextureResultType.regularTexture; + + /// + /// Type of tile texture. + /// + public RealWorldTerrainTextureType textureType = RealWorldTerrainTextureType.satellite; + + public List vectorTerrainBaseLayers; + public Vector2 vectorTerrainBaseLayersNoiseOffset = Vector2.zero; + public float vectorTerrainBaseLayersNoiseScale = 16; + public List vectorTerrainLayers; + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Prefs/RealWorldTerrainPrefsBase.Textures.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Prefs/RealWorldTerrainPrefsBase.Textures.cs.meta new file mode 100644 index 000000000..045779018 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Prefs/RealWorldTerrainPrefsBase.Textures.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ddd41e3b7da1ce442baa6726d9e61512 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Prefs/RealWorldTerrainPrefsBase.Trees.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Prefs/RealWorldTerrainPrefsBase.Trees.cs new file mode 100644 index 000000000..dee54c160 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Prefs/RealWorldTerrainPrefsBase.Trees.cs @@ -0,0 +1,26 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System.Collections.Generic; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain +{ + public partial class RealWorldTerrainPrefsBase + { + /// + /// Density of trees. + /// + public int treeDensity = 100; + + public string treeEngine; + + /// + /// List of tree prefabs. + /// + public List treePrefabs; + + public List vegetationStudioTreeTypes; + + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Prefs/RealWorldTerrainPrefsBase.Trees.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Prefs/RealWorldTerrainPrefsBase.Trees.cs.meta new file mode 100644 index 000000000..37ed49fef --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Prefs/RealWorldTerrainPrefsBase.Trees.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ab0e9905bf61c2c4dbe4d8691893936c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Prefs/RealWorldTerrainPrefsBase.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Prefs/RealWorldTerrainPrefsBase.cs new file mode 100644 index 000000000..454e02476 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Prefs/RealWorldTerrainPrefsBase.cs @@ -0,0 +1,44 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.Collections.Generic; +using UnityEngine; + + +namespace InfinityCode.RealWorldTerrain +{ + /// + /// Basic settings generation of terrain. + /// + [Serializable] + public partial class RealWorldTerrainPrefsBase + { + /// + /// List of points of interest. + /// + public List POI; + + public string riverEngine = "Built-In"; + + public Material riverMaterial; + +#if RAM2019 + public LakePolygonProfile ramAreaProfile; + public SplineProfile ramSplineProfile; +#endif + + /// + /// Title + /// + public string title; + +#if VEGETATION_STUDIO || VEGETATION_STUDIO_PRO +#if !VEGETATION_STUDIO_PRO + public AwesomeTechnologies.VegetationPackage vegetationStudioPackage; +#else + public AwesomeTechnologies.VegetationSystem.VegetationPackagePro vegetationStudioPackage; +#endif +#endif + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Prefs/RealWorldTerrainPrefsBase.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Prefs/RealWorldTerrainPrefsBase.cs.meta new file mode 100644 index 000000000..718398b01 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Prefs/RealWorldTerrainPrefsBase.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ba74bddcf98bac947b7a2a6bdd832758 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Tools.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Tools.meta new file mode 100644 index 000000000..d95224938 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Tools.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 455e382ab0d1f9f4c8319405cf7047c4 +folderAsset: yes +timeCreated: 1470870903 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Tools/RealWorldTerrainLookLngLat.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Tools/RealWorldTerrainLookLngLat.cs new file mode 100644 index 000000000..aa1ad5786 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Tools/RealWorldTerrainLookLngLat.cs @@ -0,0 +1,51 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System.Linq; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain +{ + public class RealWorldTerrainLookLngLat : MonoBehaviour + { + public float distance = 10; + public float height = 5; + public float lat; + public float lng; + + public static bool GetRealWorldPoint(out Vector3 position, double lng, double lat) + { + position = new Vector3(); + + RealWorldTerrainContainer[] targets = RealWorldTerrainUtils.FindObjectsOfType(); + RealWorldTerrainContainer target = targets.FirstOrDefault(t => t.Contains(lng, lat)); + + if (target == null) + { + Debug.Log("Target not found"); + return false; + } + + return target.GetWorldPosition(lng, lat, out position); + } + + public static void LookTo(float lng, float lat) + { + Vector3 position; + if (!GetRealWorldPoint(out position, lng, lat)) return; + Camera.main.transform.LookAt(position); + } + + public static void MoveTo(float lng, float lat, float distance, float height) + { + Vector3 position; + if (!GetRealWorldPoint(out position, lng, lat)) return; + Vector3 direction = Camera.main.transform.position - position; + direction.y = 0; + Vector3 newPosition = position + direction.normalized * distance; + newPosition.y += height; + Camera.main.transform.position = newPosition; + Camera.main.transform.LookAt(position); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Tools/RealWorldTerrainLookLngLat.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Tools/RealWorldTerrainLookLngLat.cs.meta new file mode 100644 index 000000000..4bef8b03a --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Tools/RealWorldTerrainLookLngLat.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 8493d1cdb781744449d6b862990c9a89 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Utils.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Utils.meta new file mode 100644 index 000000000..d9a99f176 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Utils.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: ec2a9a8b248522549a0e0d34166ec3c0 +folderAsset: yes +timeCreated: 1470870903 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainBuildRPresetsItem.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainBuildRPresetsItem.cs new file mode 100644 index 000000000..3f277682f --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainBuildRPresetsItem.cs @@ -0,0 +1,34 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System; + +namespace InfinityCode.RealWorldTerrain +{ + /// + /// Class of BuildR preset. + /// + [Serializable] + public class RealWorldTerrainBuildRPresetsItem + { + /// + /// Facade preset. + /// + public string facade; + + /// + /// Roof preset. + /// + public string roof; + + /// + /// Texture preset. + /// + public string texture; + + public RealWorldTerrainBuildRPresetsItem() + { + + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainBuildRPresetsItem.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainBuildRPresetsItem.cs.meta new file mode 100644 index 000000000..0603008d4 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainBuildRPresetsItem.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: fa25264269a21a14baff7b1dcd92a30d +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainBuildingMaterial.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainBuildingMaterial.cs new file mode 100644 index 000000000..04d3dfa96 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainBuildingMaterial.cs @@ -0,0 +1,33 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain +{ + /// + /// Building material class. + /// + [Serializable] + public class RealWorldTerrainBuildingMaterial + { + /// + /// Roof material. + /// + public Material roof; + + /// + /// Wall material. + /// + public Material wall; + + //Size of a tile texture in meters. + public Vector2 tileSize = new Vector2(30, 30); + + public RealWorldTerrainBuildingMaterial() + { + + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainBuildingMaterial.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainBuildingMaterial.cs.meta new file mode 100644 index 000000000..7d7a43764 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainBuildingMaterial.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: fab0ea989fa6a174aa9d7416f9c57671 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainBuildingPrefab.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainBuildingPrefab.cs new file mode 100644 index 000000000..c0ab16111 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainBuildingPrefab.cs @@ -0,0 +1,68 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.Collections.Generic; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain +{ + [Serializable] + public class RealWorldTerrainBuildingPrefab + { + public GameObject prefab; + public List tags; + public SizeMode sizeMode = SizeMode.fitToBounds; + public HeightMode heightMode = HeightMode.levelBased; + public PlacementMode placementMode = PlacementMode.lowerCorner; + public float fixedHeight = 15; + + public bool hasBounds + { + get { return prefab.GetComponent() != null; } + } + + [Serializable] + public class OSMTag + { + public string key; + public string value; + + public bool hasEmptyKey + { + get { return string.IsNullOrEmpty(key); } + } + + public bool hasEmptyValue + { + get { return string.IsNullOrEmpty(value); } + } + + public bool isEmpty + { + get { return hasEmptyKey && hasEmptyValue; } + } + } + + public enum SizeMode + { + originalSize, + fitToBounds, + } + + public enum HeightMode + { + original, + averageXZ, + levelBased, + fixedHeight + } + + public enum PlacementMode + { + lowerCorner, + highestCorner, + average, + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainBuildingPrefab.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainBuildingPrefab.cs.meta new file mode 100644 index 000000000..e6514c3c9 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainBuildingPrefab.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 16508243d0543e74ca7f16691a79501f +timeCreated: 1539976693 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainCultureInfo.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainCultureInfo.cs new file mode 100644 index 000000000..ba54f85c3 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainCultureInfo.cs @@ -0,0 +1,20 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System.Globalization; + +namespace InfinityCode.RealWorldTerrain +{ + public static class RealWorldTerrainCultureInfo + { + public static CultureInfo cultureInfo + { + get { return CultureInfo.InvariantCulture; } + } + + public static NumberFormatInfo numberFormat + { + get { return cultureInfo.NumberFormat; } + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainCultureInfo.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainCultureInfo.cs.meta new file mode 100644 index 000000000..c6fb860e3 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainCultureInfo.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 88a4d83277de8ab4697b76ec5ff49be4 +timeCreated: 1543692552 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainEnums.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainEnums.cs new file mode 100644 index 000000000..33ec8b43a --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainEnums.cs @@ -0,0 +1,260 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +namespace InfinityCode.RealWorldTerrain +{ + public enum RealWorldTerrainBuildR2Collider + { + none, + primitive, + simple, + complex + } + + public enum RealWorldTerrainBuildR2RenderMode + { + none, + box, + simple, + full + } + + public enum RealWorldTerrainBuildingBottomMode + { + followRealWorldData, + followTerrain + } + + public enum RealWorldTerrainByteOrder + { + Windows, + Mac + } + + public enum RealWorldTerrainElevationProvider + { + SRTM, + BingMaps, + SRTM30, + Mapbox, + //ArcGIS + } + + public enum RealWorldTerrainElevationRange + { + autoDetect, + fixedValue, + realWorldValue + } + + public enum RealWorldTerrainElevationType + { + realWorld, + heightmap + } + + public enum RealWorldTerrainGenerateBuildingPhaseEnum + { + house, + wall + } + + public enum RealWorldTerrainGenerateType + { + full, + terrain, + texture, + additional + } + + public enum RealWorldTerrainMapboxLayer + { + building, + landuse_overlay, + landuse, + road, + water, + waterway, + structure + } + + public enum RealWorldTerrainMapboxLanduse + { + aboriginal_lands = 1, + agriculture = 1 << 1, + airport = 1 << 2, + cemetery = 1 << 3, + glacier = 1 << 4, + grass = 1 << 5, + hospital = 1 << 6, + park = 1 << 7, + piste = 1 << 8, + pitch = 1 << 9, + rock = 1 << 10, + sand = 1 << 11, + school = 1 << 12, + scrub = 1 << 13, + wood = 1 << 14, + facility = 1 << 15 + } + + public enum RealWorldTerrainMapboxLanduseOverlay + { + national_park = 1, + wetland = 1 << 1, + wetland_noveg = 1 << 2 + } + + public enum RealWorldTerrainMapboxStructure + { + cliff = 1, + fence = 1 << 1, + gate = 1 << 2, + hedge = 1 << 3, + land = 1 << 4, + steps = 1 << 5, + tower = 1 << 6 + } + + public enum RealWorldTerrainMapboxWaterway + { + river = 1, + canal = 1 << 1, + stream = 1 << 2, + stream_intermittent = 1 << 3, + drain = 1 << 4, + ditch = 1 << 5 + } + + public enum RealWorldTerrainMaxElevation + { + autoDetect, + realWorldValue + } + + public enum RealWorldTerrainOSMOverpassServer + { + main = 0, + main2 = 1, + french = 2, + taiwan = 3, + kumiSystems = 4, + } + + public enum RealWorldTerrainRawType + { + RAW, + mapboxRGB + } + + public enum RealWorldTerrainResultType + { + terrain, + mesh, + gaiaStamp, + rawFile + } + + public enum RealWorldTerrainRoadType + { + motorway = 1, + trunk = 1 << 1, + primary = 1 << 2, + secondary = 1 << 3, + tertiary = 1 << 4, + unclassified = 1 << 5, + residential = 1 << 6, + service = 1 << 7, + motorway_link = 1 << 8, + trunk_link = 1 << 9, + primary_link = 1 << 10, + secondary_link = 1 << 11, + tertiary_link = 1 << 12, + living_street = 1 << 13, + pedestrian = 1 << 14, + track = 1 << 15, + bus_guideway = 1 << 16, + raceway = 1 << 17, + road = 1 << 18, + footway = 1 << 19, + cycleway = 1 << 20, + bridleway = 1 << 21, + steps = 1 << 22, + path = 1 << 23 + } + + public enum RealWorldTerrainRoadTypeMode + { + simple, + advanced + } + + /// + /// Type of building roof. + /// + public enum RealWorldTerrainRoofType + { + /// + /// Dome roof. + /// + dome, + + /// + /// Flat roof. + /// + flat + } + + public enum RealWorldTerrainTextureFileType + { + png, + jpg + } + + public enum RealWorldTerrainTextureProvider + { + arcGIS, + google, + mapQuest, + nokia, + virtualEarth, + openStreetMap, + custom = 999 + } + + public enum RealWorldTerrainTextureResultType + { + regularTexture = 0, + hugeTexture = 1, + terrainLayers = 2 + } + + public enum RealWorldTerrainTextureType + { + satellite, + terrain, + relief + } + + public enum RealWorldTerrainUpdateType + { + all, + alpha, + beta, + releaseCandidate, + stable + } + + public enum RealWorldTerrainVolumeGrassOutsidePoints + { + removeOutsidePoints, + noMakeAllMeshes, + noMakeMeshesWithOutsidePoints + } + + public enum RealWorldTerrainWaterDetectionSource + { + texture, + bitMask + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainEnums.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainEnums.cs.meta new file mode 100644 index 000000000..62bad1d52 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainEnums.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 2417ac73ed88c124d91dfab1b0b3e611 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainFileSystem.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainFileSystem.cs new file mode 100644 index 000000000..cb47dd364 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainFileSystem.cs @@ -0,0 +1,88 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.IO; +using System.Linq; +using System.Threading; + +namespace InfinityCode.RealWorldTerrain +{ + /// + /// Provides utility methods for file system operations. + /// + public static class RealWorldTerrainFileSystem + { + /// + /// The number of bytes in megabyte. + /// + public const int MB = 1048576; + + /// + /// Calculates the total size of a directory in bytes. + /// + /// The directory for which to calculate the size. + /// The total size of the directory in bytes. + public static long GetDirectorySize(DirectoryInfo folder) + { + return folder.GetFiles().Sum(fi => fi.Length) + folder.GetDirectories().Sum(dir => GetDirectorySize(dir)); + } + + /// + /// Calculates the total size of a directory in bytes. + /// + /// The path of the directory for which to calculate the size. + /// The total size of the directory in bytes. + public static long GetDirectorySize(string folderPath) + { + return GetDirectorySize(new DirectoryInfo(folderPath)); + } + + /// + /// Calculates the total size of a directory in megabytes. + /// + /// The path of the directory for which to calculate the size. + /// The total size of the directory in megabytes. + public static long GetDirectorySizeMB(string folderPath) + { + return GetDirectorySize(folderPath) / MB; + } + + /// + /// Safely deletes a directory. + /// + /// The name of the directory to delete. + public static void SafeDeleteDirectory(string directoryName) + { + try + { + Directory.Delete(directoryName, true); + } + catch + { } + } + + /// + /// Safely deletes a file. + /// + /// The path of the file to delete. + /// The number of attempts to delete the file. Default is 10. + public static void SafeDeleteFile(string filename, int tryCount = 10) + { + while (tryCount-- > 0) + { + try + { + File.Delete(filename); + break; + } + catch (Exception) + { +#if !NETFX_CORE + Thread.Sleep(10); +#endif + } + } + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainFileSystem.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainFileSystem.cs.meta new file mode 100644 index 000000000..4694d5c11 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainFileSystem.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 02f59f613aaea0e4fb996176fbe47ccf +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainGPXObject.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainGPXObject.cs new file mode 100644 index 000000000..463fcab0c --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainGPXObject.cs @@ -0,0 +1,961 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.Collections.Generic; +using InfinityCode.RealWorldTerrain.XML; +using UnityEngine; + + +namespace InfinityCode.RealWorldTerrain.Utils +{ + /// + /// Class for working with GPX. + /// + public class RealWorldTerrainGPXObject + { + /// + /// GPX document version. + /// + public string version = "1.1"; + + /// + /// Name or URL of the software that created your GPX document. \n + /// This allows others to inform the creator of a GPX instance document that fails to validate. + /// + public string creator = "RealWorldTerrain"; + + /// + /// Metadata about the gpx. + /// + public Meta metadata; + + /// + /// A list of waypoints. + /// + public List waypoints; + + /// + /// A list of routes. + /// + public List routes; + + /// + /// A list of tracks. + /// + public List tracks; + + /// + /// You can add extend GPX by adding your own elements from another schema here. + /// + public RealWorldTerrainXML extensions; + + private RealWorldTerrainGPXObject() + { + waypoints = new List(); + routes = new List(); + tracks = new List(); + } + + /// + /// Constructor + /// + /// Name or URL of the software that created your GPX document. + /// GPX document version. + public RealWorldTerrainGPXObject(string creator, string version = "1.1") : this() + { + this.creator = creator; + this.version = version; + } + + /// + /// Load GPX Object from string. + /// + /// A string containing GPX content. + /// Instance of GPX Object + public static RealWorldTerrainGPXObject Load(string content) + { + RealWorldTerrainGPXObject instance = new RealWorldTerrainGPXObject(); + + try + { + RealWorldTerrainXML xml = RealWorldTerrainXML.Load(content); + + instance.version = xml.A("version"); + instance.creator = xml.A("creator"); + + foreach (RealWorldTerrainXML n in xml) + { + if (n.name == "wpt") instance.waypoints.Add(new Waypoint(n)); + else if (n.name == "rte") instance.routes.Add(new Route(n)); + else if (n.name == "trk") instance.tracks.Add(new Track(n)); + else if (n.name == "metadata") instance.metadata = new Meta(n); + else if (n.name == "extensions") instance.extensions = n; + else Debug.Log(n.name); + } + } + catch (Exception exception) + { + Debug.Log(exception.Message + "\n" + exception.StackTrace); + } + + return instance; + } + + /// + /// Returns RealWorldTerrainXML, contains full information about GPX Object. + /// + /// Instance of RealWorldTerrainXML. + public RealWorldTerrainXML ToXML() + { + RealWorldTerrainXML xml = new RealWorldTerrainXML("gpx"); + xml.A("version", version); + xml.A("creator", creator); + + if (metadata != null) metadata.AppendToNode(xml.Create("metadata")); + if (waypoints != null) foreach (Waypoint i in waypoints) i.AppendToNode(xml.Create("wpt")); + if (routes != null) foreach (Route i in routes) i.AppendToNode(xml.Create("rte")); + if (tracks != null) foreach (Track i in tracks) i.AppendToNode(xml.Create("trk")); + if (extensions != null) xml.AppendChild(extensions); + + return xml; + } + + public override string ToString() + { + return ToXML().outerXml; + } + + /// + /// Information about the copyright holder and any license governing use of this file. + /// By linking to an appropriate license, you may place your data into the public domain or grant additional usage rights. + /// + public class Copyright + { + /// + /// Copyright holder + /// + public string author; + + /// + /// Year of copyright. + /// + public int? year; + + /// + /// Link to external file containing license text. + /// + public string license; + + /// + /// Constructor + /// + /// Copyright holder + public Copyright(string author) + { + this.author = author; + } + + /// + /// Creates instance and loads the data from the node. + /// + /// Copyright node + public Copyright(RealWorldTerrainXML node) + { + author = node.A("author"); + foreach (RealWorldTerrainXML n in node) + { + if (n.name == "year") year = n.Value(); + else if (n.name == "license") license = n.Value(); + else Debug.Log(n.name); + } + } + + public void AppendToNode(RealWorldTerrainXML node) + { + node.A("author", author); + if (year.HasValue) node.Create("year", year.Value); + if (!string.IsNullOrEmpty(license)) node.Create("license", license); + } + } + + /// + /// Two lat/lon pairs defining the extent of an element. + /// + public class Bounds + { + /// + /// The minimum latitude. + /// + public double minlat + { + get { return _minlat; } + set { _minlat = RealWorldTerrainMath.Clip(value, -90, 90); } + } + + /// + /// The minimum longitude. + /// + public double minlon + { + get { return _minlon; } + set { _minlon = RealWorldTerrainMath.Repeat(value, -180, 180); } + } + + /// + /// The maximum latitude. + /// + public double maxlat + { + get { return _maxlat; } + set { _maxlat = RealWorldTerrainMath.Clip(value, -90, 90); } + } + + /// + /// The maximum longitude. + /// + public double maxlon + { + get { return _maxlon; } + set { _maxlon = RealWorldTerrainMath.Repeat(value, -180, 180); } + } + + private double _minlat; + private double _minlon; + private double _maxlat; + private double _maxlon; + + /// + /// Creates instance and loads the data from the node. + /// + /// Bounds node + public Bounds(RealWorldTerrainXML node) + { + minlat = node.A("minlat"); + minlon = node.A("minlon"); + maxlat = node.A("maxlat"); + maxlon = node.A("maxlon"); + } + + /// + /// Constructor + /// + /// The minimum longitude. + /// The minimum latitude. + /// The maximum longitude. + /// The maximum latitude. + public Bounds(double minlon, double minlat, double maxlon, double maxlat) + { + this.minlat = minlat; + this.minlon = minlon; + this.maxlat = maxlat; + this.maxlon = maxlon; + } + + public void AppendToNode(RealWorldTerrainXML node) + { + node.A("minlat", minlat); + node.A("minlon", minlon); + node.A("maxlat", maxlat); + node.A("maxlon", maxlon); + } + } + + /// + /// An email address. Broken into two parts (id and domain) to help prevent email harvesting. + /// + public class EMail + { + /// + /// ID half of email address + /// + public string id; + + /// + /// Domain half of email address + /// + public string domain; + + /// + /// Constructor + /// + /// ID half of email address + /// Domain half of email address + public EMail(string id, string domain) + { + this.id = id; + this.domain = domain; + } + + /// + /// Creates instance and loads the data from the node. + /// + /// EMail node + public EMail(RealWorldTerrainXML node) + { + id = node.A("id"); + domain = node.A("domain"); + } + + public void AppendToNode(RealWorldTerrainXML node) + { + node.A("id", id); + node.A("domain", domain); + } + } + + /// + /// A link to an external resource (Web page, digital photo, video clip, etc) with additional information. + /// + public class Link + { + /// + /// URL of hyperlink. + /// + public string href; + + /// + /// Text of hyperlink. + /// + public string text; + + /// + /// Mime type of content (image/jpeg) + /// + public string type; + + /// + /// Constructor + /// + /// URL of hyperlink. + public Link(string href) + { + this.href = href; + } + + /// + /// Creates instance and loads the data from the node. + /// + /// Link node + public Link(RealWorldTerrainXML node) + { + href = node.A("href"); + foreach (RealWorldTerrainXML n in node) + { + if (n.name == "text") text = n.Value(); + else if (n.name == "type") type = n.Value(); + else Debug.Log(n.name); + } + } + + public void AppendToNode(RealWorldTerrainXML node) + { + node.A("href", href); + if (!string.IsNullOrEmpty(text)) node.Create("text", text); + if (!string.IsNullOrEmpty(type)) node.Create("type", type); + } + } + + /// + /// Information about the GPX file, author, and copyright restrictions goes in the metadata section. \n + /// Providing rich, meaningful information about your GPX files allows others to search for and use your GPS data. + /// + public class Meta + { + /// + /// The name of the GPX file. + /// + public string name; + + /// + /// A description of the contents of the GPX file. + /// + public string description; + + /// + /// The person or organization who created the GPX file. + /// + public Person author; + + /// + /// Copyright and license information governing use of the file. + /// + public Copyright copyright; + + /// + /// URLs associated with the location described in the file. + /// + public List links; + + /// + /// The creation date of the file. + /// + public DateTime? time; + + /// + /// Keywords associated with the file. Search engines or databases can use this information to classify the data. + /// + public string keywords; + + /// + /// Minimum and maximum coordinates which describe the extent of the coordinates in the file. + /// + public Bounds bounds; + + /// + /// You can add extend GPX by adding your own elements from another schema here. + /// + public RealWorldTerrainXML extensions; + + /// + /// Constructor + /// + public Meta() + { + links = new List(); + } + + /// + /// Creates instance and loads the data from the node. + /// + /// Meta node + public Meta(RealWorldTerrainXML node) : this() + { + foreach (RealWorldTerrainXML n in node) + { + if (n.name == "name") name = n.Value(); + else if (n.name == "desc") description = n.Value(); + else if (n.name == "author") author = new Person(n); + else if (n.name == "copyright") copyright = new Copyright(n); + else if (n.name == "link") links.Add(new Link(n)); + else if (n.name == "time") time = DateTime.Parse(n.Value()); + else if (n.name == "keywords") keywords = n.Value(); + else if (n.name == "bounds") bounds = new Bounds(n); + else if (n.name == "extensions") extensions = n; + else Debug.Log(n.name); + } + } + + public void AppendToNode(RealWorldTerrainXML node) + { + if (!string.IsNullOrEmpty(name)) node.Create("name", name); + if (!string.IsNullOrEmpty(description)) node.Create("desc", description); + if (author != null) author.AppendToNode(node); + if (copyright != null) copyright.AppendToNode(node.Create("copyright")); + if (links != null && links.Count > 0) foreach (Link l in links) l.AppendToNode(node.Create("link")); + if (time.HasValue) node.Create("time", time.Value.ToUniversalTime().ToString("s") + "Z"); + if (!string.IsNullOrEmpty(keywords)) node.Create("keywords", keywords); + if (bounds != null) bounds.AppendToNode(node.Create("bounds")); + if (extensions != null) node.AppendChild(extensions); + } + } + + /// + /// A person or organization. + /// + public class Person + { + /// + /// Name of person or organization. + /// + public string name; + + /// + /// Email address. + /// + public EMail email; + + /// + /// Link to Web site or other external information about person. + /// + public Link link; + + /// + /// Constructor + /// + public Person() + { + + } + + /// + /// Creates instance and loads the data from the node. + /// + /// Person node + public Person(RealWorldTerrainXML node) + { + foreach (RealWorldTerrainXML n in node) + { + if (n.name == "name") name = n.Value(); + else if (n.name == "email") email = new EMail(n); + else if (n.name == "link") link = new Link(n); + else Debug.Log(n.name); + } + } + + public void AppendToNode(RealWorldTerrainXML node) + { + if (!string.IsNullOrEmpty(name)) node.Create("name", name); + if (email != null) email.AppendToNode(node.Create("email")); + if (link != null) link.AppendToNode(node.Create("link")); + } + } + + /// + /// Route - an ordered list of waypoints representing a series of turn points leading to a destination. + /// + public class Route + { + /// + /// GPS name of route. + /// + public string name; + + /// + /// GPS comment for route. + /// + public string comment; + + /// + /// Text description of route for user. Not sent to GPS. + /// + public string description; + + /// + /// Source of data. Included to give user some idea of reliability and accuracy of data. + /// + public string source; + + /// + /// Links to external information about the route. + /// + public List links; + + /// + /// GPS route number. + /// + public uint? number; + + /// + /// Type (classification) of route. + /// + public string type; + + /// + /// A list of route points. + /// + public List points; + + /// + /// You can add extend GPX by adding your own elements from another schema here. + /// + public RealWorldTerrainXML extensions; + + /// + /// Constructor + /// + public Route() + { + links = new List(); + points = new List(); + } + + /// + /// Creates instance and loads the data from the node. + /// + /// Route node + public Route(RealWorldTerrainXML node) : this() + { + foreach (RealWorldTerrainXML n in node) + { + if (n.name == "name") name = n.Value(); + else if (n.name == "cmt") comment = n.Value(); + else if (n.name == "desc") description = n.Value(); + else if (n.name == "src") source = n.Value(); + else if (n.name == "link") links.Add(new Link(n)); + else if (n.name == "number") number = n.Value(); + else if (n.name == "type") type = n.Value(); + else if (n.name == "rtept") points.Add(new Waypoint(n)); + else if (n.name == "extensions") extensions = n; + else Debug.Log(n.name); + } + } + + public void AppendToNode(RealWorldTerrainXML node) + { + if (!string.IsNullOrEmpty(name)) node.Create("name", name); + if (!string.IsNullOrEmpty(comment)) node.Create("cmt", comment); + if (!string.IsNullOrEmpty(description)) node.Create("desc", description); + if (!string.IsNullOrEmpty(source)) node.Create("src", source); + if (links != null) foreach (Link l in links) l.AppendToNode(node.Create("link")); + if (number.HasValue) node.Create("number", number.Value); + if (!string.IsNullOrEmpty(type)) node.Create("type", type); + foreach (Waypoint p in points) p.AppendToNode(node.Create("rtept")); + if (extensions != null) node.AppendChild(extensions); + } + } + + /// + /// Track - an ordered list of points describing a path. + /// + public class Track + { + /// + /// GPS name of track. + /// + public string name; + + /// + /// GPS comment for track. + /// + public string comment; + + /// + /// User description of track. + /// + public string description; + + /// + /// Source of data. Included to give user some idea of reliability and accuracy of data. + /// + public string source; + + /// + /// Links to external information about track. + /// + public List links; + + /// + /// GPS track number. + /// + public uint? number; + + /// + /// Type (classification) of track. + /// + public string type; + + /// + /// A Track Segment holds a list of Track Points which are logically connected in order. \n + /// To represent a single GPS track where GPS reception was lost, or the GPS receiver was turned off, start a new Track Segment for each continuous span of track data. + /// + public List segments; + + /// + /// You can add extend GPX by adding your own elements from another schema here. + /// + public RealWorldTerrainXML extensions; + + /// + /// Constructor + /// + public Track() + { + links = new List(); + segments = new List(); + } + + /// + /// Creates instance and loads the data from the node. + /// + /// Track node + public Track(RealWorldTerrainXML node) : this() + { + foreach (RealWorldTerrainXML n in node) + { + if (n.name == "name") name = n.Value(); + else if (n.name == "cmt") comment = n.Value(); + else if (n.name == "desc") description = n.Value(); + else if (n.name == "src") source = n.Value(); + else if (n.name == "link") links.Add(new Link(n)); + else if (n.name == "number") number = n.Value(); + else if (n.name == "type") type = n.Value(); + else if (n.name == "trkseg") segments.Add(new TrackSegment(n)); + else if (n.name == "extensions") extensions = n; + else Debug.Log(n.name); + } + } + + public void AppendToNode(RealWorldTerrainXML node) + { + if (!string.IsNullOrEmpty(name)) node.Create("name", name); + if (!string.IsNullOrEmpty(comment)) node.Create("cmt", comment); + if (!string.IsNullOrEmpty(description)) node.Create("desc", description); + if (!string.IsNullOrEmpty(source)) node.Create("src", source); + if (links != null) foreach (Link l in links) l.AppendToNode(node.Create("link")); + if (number.HasValue) node.Create("number", number.Value); + if (!string.IsNullOrEmpty(type)) node.Create("type", type); + foreach (TrackSegment p in segments) p.AppendToNode(node.Create("trkseg")); + if (extensions != null) node.AppendChild(extensions); + } + } + + /// + /// A Track Segment holds a list of Track Points which are logically connected in order. \n + /// To represent a single GPS track where GPS reception was lost, or the GPS receiver was turned off, start a new Track Segment for each continuous span of track data. + /// + public class TrackSegment + { + /// + /// A Track Point holds the coordinates, elevation, timestamp, and metadata for a single point in a track. + /// + public List points; + + /// + /// You can add extend GPX by adding your own elements from another schema here. + /// + public RealWorldTerrainXML extensions; + + /// + /// Constructor + /// + public TrackSegment() + { + points = new List(); + } + + /// + /// Creates instance and loads the data from the node. + /// + /// TrackSegment node + public TrackSegment(RealWorldTerrainXML node) : this() + { + foreach (RealWorldTerrainXML n in node) + { + if (n.name == "trkpt") points.Add(new Waypoint(n)); + else if (n.name == "extensions") extensions = n; + else Debug.Log(n.name); + } + } + + public void AppendToNode(RealWorldTerrainXML node) + { + foreach (Waypoint p in points) p.AppendToNode(node.Create("trkpt")); + if (extensions != null) node.AppendChild(extensions); + } + } + + /// + /// Waypoint, point of interest, or named feature on a map. + /// + public class Waypoint + { + /// + /// Elevation (in meters) of the point. + /// + public double? elevation; + + /// + /// Creation/modification timestamp for element. \n + /// Date and time in are in Univeral Coordinated Time (UTC), not local time! \n + /// Conforms to ISO 8601 specification for date/time representation. \n + /// Fractional seconds are allowed for millisecond timing in tracklogs. + /// + public DateTime? time; + + /// + /// Height (in meters) of geoid (mean sea level) above WGS84 earth ellipsoid. As defined in NMEA GGA message. + /// + public double? geoidheight; + + /// + /// The GPS name of the waypoint. This field will be transferred to and from the GPS. \n + /// GPX does not place restrictions on the length of this field or the characters contained in it. \n + /// It is up to the receiving application to validate the field before sending it to the GPS. + /// + public string name; + + /// + /// GPS waypoint comment. Sent to GPS as comment. + /// + public string comment; + + /// + /// A text description of the element. Holds additional information about the element intended for the user, not the GPS. + /// + public string description; + + /// + /// Source of data. Included to give user some idea of reliability and accuracy of data. "Garmin eTrex", "USGS quad Boston North", e.g. + /// + public string source; + + /// + /// Link to additional information about the waypoint. + /// + public List links; + + /// + /// Text of GPS symbol name. For interchange with other programs, use the exact spelling of the symbol as displayed on the GPS. If the GPS abbreviates words, spell them out. + /// + public string symbol; + + /// + /// Type (classification) of the waypoint. + /// + public string type; + + /// + /// Type of GPX fix. + /// + public string fix; + + /// + /// Number of satellites used to calculate the GPX fix. + /// + public uint? sat; + + /// + /// Horizontal dilution of precision. + /// + public double? hdop; + + /// + /// Vertical dilution of precision. + /// + public double? vdop; + + /// + /// Position dilution of precision. + /// + public double? pdop; + + /// + /// Number of seconds since last DGPS update. + /// + public double? ageofdgpsdata; + + /// + /// You can add extend GPX by adding your own elements from another schema here. + /// + public RealWorldTerrainXML extensions; + + private double _lat; + private double _lon; + private double? _magvar; + private short? _dgpsid; + + /// + /// The latitude of the point. Decimal degrees, WGS84 datum. + /// + public double lat + { + get { return _lat; } + set { _lat = RealWorldTerrainMath.Clip(value, -90, 90); } + } + + /// + /// The longitude of the point. Decimal degrees, WGS84 datum. + /// + public double lon + { + get { return _lon; } + set { _lon = RealWorldTerrainMath.Repeat(value, -180, 180); } + } + + /// + /// Magnetic variation (in degrees) at the point + /// + public double? magvar + { + get { return _magvar; } + set + { + if (value.HasValue) _magvar = RealWorldTerrainMath.Clip(value.Value, 0, 360); + else _magvar = null; + } + } + + /// + /// ID of DGPS station used in differential correction. + /// + public short? dgpsid + { + get { return _dgpsid; } + set + { + if (value.HasValue) + { + if (value.Value < 0) _dgpsid = 0; + else if (value.Value > 1023) _dgpsid = 1023; + else _dgpsid = value.Value; + } + else _dgpsid = null; + } + } + + /// + /// Constructor + /// + /// The longitude of the point. + /// The latitude of the point. + public Waypoint(double lon, double lat) + { + links = new List(); + this.lat = lat; + this.lon = lon; + } + + /// + /// Creates instance and loads the data from the node. + /// + /// Waypoint node + public Waypoint(RealWorldTerrainXML node) + { + links = new List(); + lat = node.A("lat"); + lon = node.A("lon"); + + foreach (RealWorldTerrainXML n in node) + { + if (n.name == "ele") elevation = n.Value(); + else if (n.name == "time") time = DateTime.Parse(n.Value()); + else if (n.name == "magvar") magvar = n.Value(); + else if (n.name == "geoidheight") geoidheight = n.Value(); + else if (n.name == "name") name = n.Value(); + else if (n.name == "cmt") comment = n.Value(); + else if (n.name == "desc") description = n.Value(); + else if (n.name == "src") source = n.Value(); + else if (n.name == "link") links.Add(new Link(n)); + else if (n.name == "sym") symbol = n.Value(); + else if (n.name == "type") type = n.Value(); + else if (n.name == "fix") fix = n.Value(); + else if (n.name == "sat") sat = n.Value(); + else if (n.name == "hdop") hdop = n.Value(); + else if (n.name == "vdop") vdop = n.Value(); + else if (n.name == "pdop") pdop = n.Value(); + else if (n.name == "ageofdgpsdata") ageofdgpsdata = n.Value(); + else if (n.name == "dgpsid") dgpsid = n.Value(); + else if (n.name == "extensions") extensions = n; + else Debug.Log(n.name); + } + } + + public void AppendToNode(RealWorldTerrainXML node) + { + node.A("lat", lat); + node.A("lon", lon); + + if (elevation.HasValue) node.Create("ele", elevation.Value); + if (time.HasValue) node.Create("time", time.Value.ToUniversalTime().ToString("s") + "Z"); + if (magvar.HasValue) node.Create("magvar", magvar.Value); + if (geoidheight.HasValue) node.Create("geoidheight", geoidheight.Value); + if (!string.IsNullOrEmpty(name)) node.Create("name", name); + if (!string.IsNullOrEmpty(comment)) node.Create("cmt", comment); + if (!string.IsNullOrEmpty(description)) node.Create("desc", description); + if (!string.IsNullOrEmpty(source)) node.Create("src", source); + if (links != null) foreach (Link l in links) l.AppendToNode(node.Create("link")); + if (!string.IsNullOrEmpty(symbol)) node.Create("sym", symbol); + if (!string.IsNullOrEmpty(type)) node.Create("type", type); + if (!string.IsNullOrEmpty(fix)) node.Create("fix", fix); + if (sat.HasValue) node.Create("sat", sat.Value); + if (hdop.HasValue) node.Create("hdop", hdop.Value); + if (vdop.HasValue) node.Create("vdop", vdop.Value); + if (pdop.HasValue) node.Create("pdop", pdop.Value); + if (ageofdgpsdata.HasValue) node.Create("ageofdgpsdata", ageofdgpsdata.Value); + if (dgpsid.HasValue) node.Create("dgpsid", dgpsid.Value); + if (extensions != null) node.AppendChild(extensions); + } + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainGPXObject.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainGPXObject.cs.meta new file mode 100644 index 000000000..4282d8ae4 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainGPXObject.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ee793fdc001b6e34eac523dff87845bc +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainGeo.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainGeo.cs new file mode 100644 index 000000000..5a3cbdfaf --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainGeo.cs @@ -0,0 +1,145 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.Text; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain +{ + /// + /// Provides utility methods for geographic and Mercator coordinate conversions. + /// + public static class RealWorldTerrainGeo + { + /// + /// The radius of the Earth. + /// + public const float EARTH_RADIUS = 6371; + + /// + /// The length of the equator. + /// + public const int EQUATOR_LENGTH = 40075; + + /// + /// The maximum elevation in the world. + /// + public const int MAX_ELEVATION = 15000; + + /// + /// Converts geographic coordinates to SRTM data index. + /// + /// Geographic coordinates + /// SRTM data index + public static Vector2 LanLongToFlat(Vector2 pos) + { + return new Vector2(Mathf.FloorToInt(pos.x / 5.0f) * 5 + 180, 90 - Mathf.FloorToInt(pos.y / 5.0f) * 5); + } + + /// + /// Converts geographic coordinates to Mercator coordinates. + /// + /// Longitude + /// Latitude + public static void LatLongToMercat(ref double x, ref double y) + { + double sy = Math.Sin(y * RealWorldTerrainMath.DEG2RAD); + x = (x + 180) / 360; + y = 0.5 - Math.Log((1 + sy) / (1 - sy)) / (Math.PI * 4); + } + + /// + /// Converts geographic coordinates to Mercator coordinates. + /// + /// Longitude + /// Latitude + /// Output Mercator X + /// Output Mercator Y + public static void LatLongToMercat(double x, double y, out double mx, out double my) + { + double sy = Math.Sin(y * RealWorldTerrainMath.DEG2RAD); + mx = (x + 180) / 360; + my = 0.5 - Math.Log((1 + sy) / (1 - sy)) / (Math.PI * 4); + } + + /// + /// Converts geographic coordinates to the index of the tile. + /// What is the tiles, and how it works, you can read here: + /// https://developers.google.com/maps/documentation/javascript/v2/overlays?csw=1#Google_Maps_Coordinates + /// + /// Longitude + /// Latitude + /// Zoom + /// Output tile X + /// Output tile Y + public static void LatLongToTile(double dx, double dy, int zoom, out double tx, out double ty) + { + LatLongToMercat(ref dx, ref dy); + uint mapSize = (uint)RealWorldTerrainUtils.TILE_SIZE << zoom; + double px = RealWorldTerrainMath.Clamp(dx * mapSize + 0.5, 0, mapSize - 1); + double py = RealWorldTerrainMath.Clamp(dy * mapSize + 0.5, 0, mapSize - 1); + tx = px / RealWorldTerrainUtils.TILE_SIZE; + ty = py / RealWorldTerrainUtils.TILE_SIZE; + } + + /// + /// Converts Mercator coordinates to geographic coordinates. + /// + /// Mercator X + /// Mercator Y + /// Output longitude + /// Output latitude + public static void MercatToLatLong(double mx, double my, out double x, out double y) + { + uint mapSize = (uint)RealWorldTerrainUtils.TILE_SIZE << 20; + double px = RealWorldTerrainMath.Clamp(mx * mapSize + 0.5, 0, mapSize - 1); + double py = RealWorldTerrainMath.Clamp(my * mapSize + 0.5, 0, mapSize - 1); + mx = px / RealWorldTerrainUtils.TILE_SIZE; + my = py / RealWorldTerrainUtils.TILE_SIZE; + TileToLatLong(mx, my, 20, out x, out y); + } + + /// + /// Converts tile coordinates to geographic coordinates. + /// + /// Tile X + /// Tile Y + /// Zoom level + /// Output longitude + /// Output latitude + public static void TileToLatLong(double tx, double ty, int zoom, out double lx, out double ly) + { + double mapSize = RealWorldTerrainUtils.TILE_SIZE << zoom; + lx = 360 * (RealWorldTerrainMath.Repeat(tx * RealWorldTerrainUtils.TILE_SIZE, 0, mapSize - 1) / mapSize - 0.5); + ly = 90 - 360 * Math.Atan(Math.Exp(-(0.5 - RealWorldTerrainMath.Clamp(ty * RealWorldTerrainUtils.TILE_SIZE, 0, mapSize - 1) / mapSize) * 2 * Math.PI)) / Math.PI; + } + + /// + /// Converts tile index to quadkey. + /// What is the tiles and quadkey, and how it works, you can read here: + /// http://msdn.microsoft.com/en-us/library/bb259689.aspx + /// + /// Tile X + /// Tile Y + /// Zoom + /// Quadkey + public static string TileToQuadKey(int x, int y, int zoom) + { + StringBuilder quadKey = new StringBuilder(); + for (int i = zoom; i > 0; i--) + { + char digit = '0'; + int mask = 1 << (i - 1); + if ((x & mask) != 0) digit++; + if ((y & mask) != 0) + { + digit++; + digit++; + } + quadKey.Append(digit); + } + return quadKey.ToString(); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainGeo.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainGeo.cs.meta new file mode 100644 index 000000000..61d3d39b8 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainGeo.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f03ad35cae8fd8f4e970507d8079dbf1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainMath.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainMath.cs new file mode 100644 index 000000000..d8f865774 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainMath.cs @@ -0,0 +1,584 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.Collections.Generic; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain +{ + /// + /// Provides utility methods for mathematical operations related to terrain generation. + /// + public static class RealWorldTerrainMath + { + /// + /// Degrees-to-radians conversion constant. + /// + public const double DEG2RAD = Math.PI / 180; + + /// + /// PI * 4 + /// + public const float PI4 = 4 * Mathf.PI; + + /// + /// The angle between the two points in degree. + /// + /// Point 1 + /// Point 2 + /// Angle in degree + public static float Angle2D(Vector2 point1, Vector2 point2) + { + return Mathf.Atan2((point2.y - point1.y), (point2.x - point1.x)) * Mathf.Rad2Deg; + } + + /// + /// The angle between the two points in degree. + /// + /// Point 1 + /// Point 2 + /// Angle in degree + public static float Angle2D(Vector3 point1, Vector3 point2) + { + return Mathf.Atan2((point2.z - point1.z), (point2.x - point1.x)) * Mathf.Rad2Deg; + } + + /// + /// The angle between the three points in degree. + /// + /// Point 1 + /// Point 2 + /// Point 3 + /// Return a positive result. + /// Angle in degree + public static float Angle2D(Vector3 point1, Vector3 point2, Vector3 point3, bool unsigned = true) + { + float angle1 = Angle2D(point1, point2); + float angle2 = Angle2D(point2, point3); + float angle = angle1 - angle2; + if (angle > 180) angle -= 360; + if (angle < -180) angle += 360; + if (unsigned) angle = Mathf.Abs(angle); + return angle; + } + + /// + /// The angle between the two points in radians. + /// + /// Point 1 + /// Point 2 + /// Result offset in degrees. + /// Angle in radians + public static float Angle2DRad(Vector3 point1, Vector3 point2, float offset) + { + return Mathf.Atan2((point2.z - point1.z), (point2.x - point1.x)) + offset * Mathf.Deg2Rad; + } + + /// + /// Clamps value between min and max and returns value. + /// + /// Value + /// Min + /// Max + /// Value in the range between the min and max. + public static double Clamp(double n, double minValue, double maxValue) + { + if (n < minValue) return minValue; + if (n > maxValue) return maxValue; + return n; + } + + /// + /// Clamps a value between a minimum double and maximum double value. + /// + /// Value + /// Minimum + /// Maximum + /// Value between a minimum and maximum. + public static double Clip(double n, double minValue, double maxValue) + { + if (n < minValue) return minValue; + if (n > maxValue) return maxValue; + return n; + } + + /// + /// The distance between two geographical coordinates. + /// + /// Coordinate (X - Lng, Y - Lat) + /// Coordinate (X - Lng, Y - Lat) + /// Distance (km). + public static Vector2 DistanceBetweenPoints(Vector2 point1, Vector2 point2) + { + Vector2 range = point1 - point2; + + double scfY = Math.Sin(point1.y * Mathf.Deg2Rad); + double sctY = Math.Sin(point2.y * Mathf.Deg2Rad); + double ccfY = Math.Cos(point1.y * Mathf.Deg2Rad); + double cctY = Math.Cos(point2.y * Mathf.Deg2Rad); + double cX = Math.Cos(range.x * Mathf.Deg2Rad); + double sizeX1 = Math.Abs(RealWorldTerrainGeo.EARTH_RADIUS * Math.Acos(scfY * scfY + ccfY * ccfY * cX)); + double sizeX2 = Math.Abs(RealWorldTerrainGeo.EARTH_RADIUS * Math.Acos(sctY * sctY + cctY * cctY * cX)); + float sizeX = (float)((sizeX1 + sizeX2) / 2.0); + float sizeY = (float)(RealWorldTerrainGeo.EARTH_RADIUS * Math.Acos(scfY * sctY + ccfY * cctY)); + return new Vector2(sizeX, sizeY); + } + + /// + /// Calculates the distance between two geographical points. + /// + /// Longitude of the first point + /// Latitude of the first point + /// Longitude of the second point + /// Latitude of the second point + /// Output distance in the x direction (longitude) + /// Output distance in the y direction (latitude) + public static void DistanceBetweenPoints(double x1, double y1, double x2, double y2, out double dx, out double dy) + { + double rx = x1 - x2; + double scfY = Math.Sin(y1 * Mathf.Deg2Rad); + double sctY = Math.Sin(y2 * Mathf.Deg2Rad); + double ccfY = Math.Cos(y1 * Mathf.Deg2Rad); + double cctY = Math.Cos(y2 * Mathf.Deg2Rad); + double cX = Math.Cos(rx * Mathf.Deg2Rad); + double sizeX1 = Math.Abs(RealWorldTerrainGeo.EARTH_RADIUS * Math.Acos(scfY * scfY + ccfY * ccfY * cX)); + double sizeX2 = Math.Abs(RealWorldTerrainGeo.EARTH_RADIUS * Math.Acos(sctY * sctY + cctY * cctY * cX)); + dx = (sizeX1 + sizeX2) / 2.0; + dy = RealWorldTerrainGeo.EARTH_RADIUS * Math.Acos(scfY * sctY + ccfY * cctY); + } + + /// + /// Calculates the center point and zoom level for a given set of geographic coordinates. + /// + /// Array of geographic coordinates (longitude and latitude). + /// Output center point of the geographic coordinates. + /// Output zoom level that encompasses all the geographic coordinates. + public static void GetCenterPointAndZoom(double[] positions, out Vector2 center, out int zoom) + { + double minX = Single.MaxValue; + double minY = Single.MaxValue; + double maxX = Single.MinValue; + double maxY = Single.MinValue; + + for (int i = 0; i < positions.Length; i += 2) + { + double lng = positions[i]; + double lat = positions[i + 1]; + if (lng < minX) minX = lng; + if (lat < minY) minY = lat; + if (lng > maxX) maxX = lng; + if (lat > maxY) maxY = lat; + } + + double rx = maxX - minX; + double ry = maxY - minY; + double cx = rx / 2 + minX; + double cy = ry / 2 + minY; + + center = new Vector2((float)cx, (float)cy); + + int width = 1024; + int height = 1024; + + float countX = width / (float)RealWorldTerrainUtils.TILE_SIZE / 2; + float countY = height / (float)RealWorldTerrainUtils.TILE_SIZE / 2; + + for (int z = 20; z > 4; z--) + { + bool success = true; + + double tcx, tcy; + RealWorldTerrainGeo.LatLongToTile(cx, cy, z, out tcx, out tcy); + + for (int i = 0; i < positions.Length; i += 2) + { + double lng = positions[i]; + double lat = positions[i + 1]; + double px, py; + RealWorldTerrainGeo.LatLongToTile(lng, lat, z, out px, out py); + px -= tcx - countX; + py -= tcy - countY; + + if (px < 0 || py < 0 || px > width || py > height) + { + success = false; + break; + } + } + + if (success) + { + zoom = z; + return; + } + } + + zoom = 3; + } + + /// + /// Calculates the center point and zoom level for a given set of geographic coordinates. + /// + /// Array of geographic coordinates (longitude and latitude). + /// Output center point of the geographic coordinates. + /// Output zoom level that encompasses all the geographic coordinates. + public static void GetCenterPointAndZoom(Vector2[] positions, out Vector2 center, out int zoom) + { + float minX = Single.MaxValue; + float minY = Single.MaxValue; + float maxX = Single.MinValue; + float maxY = Single.MinValue; + + foreach (Vector2 p in positions) + { + if (p.x < minX) minX = p.x; + if (p.y < minY) minY = p.y; + if (p.x > maxX) maxX = p.x; + if (p.y > maxY) maxY = p.y; + } + + float rx = maxX - minX; + float ry = maxY - minY; + double cx = rx / 2 + minX; + double cy = ry / 2 + minY; + + center = new Vector2((float)cx, (float)cy); + + int width = 1024; + int height = 1024; + + float countX = width / (float)RealWorldTerrainUtils.TILE_SIZE / 2; + float countY = height / (float)RealWorldTerrainUtils.TILE_SIZE / 2; + + for (int z = 20; z > 4; z--) + { + bool success = true; + + double tcx, tcy; + RealWorldTerrainGeo.LatLongToTile(cx, cy, z, out tcx, out tcy); + + foreach (Vector2 pos in positions) + { + double px, py; + RealWorldTerrainGeo.LatLongToTile(pos.x, pos.y, z, out px, out py); + px -= tcx - countX; + py -= tcy - countY; + + if (px < 0 || py < 0 || px > width || py > height) + { + success = false; + break; + } + } + if (success) + { + zoom = z; + return; + } + } + + zoom = 3; + } + + /// + /// Calculates the intersection point of two lines in 2D space. + /// + /// Start point of the first line. + /// End point of the first line. + /// Start point of the second line. + /// End point of the second line. + /// Output state indicating the result of the calculation. -2: Not calculated yet, -1: Lines are parallel, 0: Lines are coincident, 1: Intersection point found. + /// The intersection point if it exists, otherwise a default Vector2. + public static Vector2 GetIntersectionPointOfTwoLines(Vector2 p11, Vector2 p12, Vector2 p21, Vector2 p22, + out int state) + { + state = -2; + Vector2 result = new Vector2(); + float m = (p22.x - p21.x) * (p11.y - p21.y) - (p22.y - p21.y) * (p11.x - p21.x); + float n = (p22.y - p21.y) * (p12.x - p11.x) - (p22.x - p21.x) * (p12.y - p11.y); + + float Ua = m / n; + + if (n == 0 && m != 0) state = -1; + else if (m == 0 && n == 0) state = 0; + else + { + result.x = p11.x + Ua * (p12.x - p11.x); + result.y = p11.y + Ua * (p12.y - p11.y); + + if (((result.x >= p11.x || result.x <= p11.x) && (result.x >= p21.x || result.x <= p21.x)) + && ((result.y >= p11.y || result.y <= p11.y) && (result.y >= p21.y || result.y <= p21.y))) + state = 1; + } + return result; + } + + /// + /// Calculates the intersection point of two lines in 3D space, projected onto the XZ plane. + /// + /// Start point of the first line. + /// End point of the first line. + /// Start point of the second line. + /// End point of the second line. + /// Output state indicating the result of the calculation. -2: Not calculated yet, -1: Lines are parallel, 0: Lines are coincident, 1: Intersection point found. + /// The intersection point if it exists, otherwise a default Vector2. + public static Vector2 GetIntersectionPointOfTwoLines(Vector3 p11, Vector3 p12, Vector3 p21, Vector3 p22, + out int state) + { + return GetIntersectionPointOfTwoLines(new Vector2(p11.x, p11.z), new Vector2(p12.x, p12.z), + new Vector2(p21.x, p21.z), new Vector2(p22.x, p22.z), out state); + } + + /// + /// Determines if three points in 3D space form a clockwise rotation when projected onto the XZ plane. + /// + /// First point + /// Second point + /// Third point + /// True if the points form a clockwise rotation, false otherwise. + public static bool IsClockWise(Vector3 A, Vector3 B, Vector3 C) + { + return (B.x - A.x) * (C.z - A.z) - (C.x - A.x) * (B.z - A.z) > 0; + } + + /// + /// Determines if a sequence of points in 3D space forms a clockwise rotation when projected onto the XZ plane. + /// + /// Array of points in 3D space. + /// Number of points to consider from the start of the array. + /// True if the points form a clockwise rotation, false otherwise. + public static bool IsClockwise(Vector3[] points, int count) + { + double sum = 0d; + for (int i = 0; i < count; i++) + { + Vector3 v1 = points[i]; + Vector3 v2 = points[(i + 1) % count]; + sum += (v2.x - v1.x) * (v2.z + v1.z); + } + + return sum > 0d; + } + + /// + /// Determines if a point is inside a polygon in 3D space, considering only the XZ plane. + /// + /// Array of points forming the polygon. + /// X coordinate of the point. + /// Y coordinate of the point (considered as Z in 3D space). + /// True if the point is inside the polygon, false otherwise. + public static bool IsPointInPolygon(Vector3[] poly, float x, float y) + { + int i, j; + bool c = false; + for (i = 0, j = poly.Length - 1; i < poly.Length; j = i++) + { + if ((poly[i].z <= y && y < poly[j].z || + poly[j].z <= y && y < poly[i].z) && + x < (poly[j].x - poly[i].x) * (y - poly[i].z) / (poly[j].z - poly[i].z) + poly[i].x) + { + c = !c; + } + } + return c; + } + + /// + /// Determines if a point is inside a polygon in 3D space, considering only the XZ plane. + /// + /// Array of points forming the polygon. + /// Number of points to consider from the start of the array. + /// X coordinate of the point. + /// Y coordinate of the point (considered as Z in 3D space). + /// True if the point is inside the polygon, false otherwise. + public static bool IsPointInPolygon(Vector3[] poly, int length, float x, float y) + { + int i, j; + bool c = false; + for (i = 0, j = length - 1; i < length; j = i++) + { + if ((poly[i].z <= y && y < poly[j].z || + poly[j].z <= y && y < poly[i].z) && + x < (poly[j].x - poly[i].x) * (y - poly[i].z) / (poly[j].z - poly[i].z) + poly[i].x) + { + c = !c; + } + } + return c; + } + + /// + /// Determines if a point is inside a polygon in 3D space, considering only the XZ plane. + /// + /// List of points forming the polygon. + /// X coordinate of the point. + /// Y coordinate of the point (considered as Z in 3D space). + /// True if the point is inside the polygon, false otherwise. + public static bool IsPointInPolygon(List poly, float x, float y) + { + int i, j; + bool c = false; + for (i = 0, j = poly.Count - 1; i < poly.Count; j = i++) + { + if ((poly[i].z <= y && y < poly[j].z || + poly[j].z <= y && y < poly[i].z) && + x < (poly[j].x - poly[i].x) * (y - poly[i].z) / (poly[j].z - poly[i].z) + poly[i].x) + { + c = !c; + } + } + return c; + } + + /// + /// Determines if a point is inside a polygon in 3D space, considering only the XZ plane. + /// + /// List of points forming the polygon. + /// Point to check. + /// True if the point is inside the polygon, false otherwise. + public static bool IsPointInPolygon(List poly, Vector3 point) + { + return IsPointInPolygon(poly, point.x, point.z); + } + + /// + /// Clamps a value between a minimum and maximum integer value. + /// + /// Value to be clamped. + /// Minimum value. Default is 32. + /// Maximum value. Default is 4096. + /// Value clamped between the min and max. + public static int Limit(int val, int min = 32, int max = 4096) + { + return Mathf.Clamp(val, min, max); + } + + /// + /// Clamps a value between a minimum and maximum integer value, ensuring the result is a power of two. + /// + /// Value to be clamped and adjusted to the nearest power of two. + /// Minimum value. Default is 32. + /// Maximum value. Default is 4096. + /// Value clamped between the min and max, adjusted to the nearest power of two. + public static int LimitPowTwo(int val, int min = 32, int max = 4096) + { + return Mathf.Clamp(Mathf.ClosestPowerOfTwo(val), min, max); + } + + /// + /// Calculates the nearest point on a line segment to a given point in 2D space. + /// + /// The point to find the nearest point on the line segment to. + /// The start point of the line segment. + /// The end point of the line segment. + /// The nearest point on the line segment to the given point. + public static Vector2 NearestPointStrict(Vector2 point, Vector2 lineStart, Vector2 lineEnd) + { + Vector2 fullDirection = lineEnd - lineStart; + Vector2 lineDirection = fullDirection.normalized; + float closestPoint = Vector2.Dot(point - lineStart, lineDirection) / Vector2.Dot(lineDirection, lineDirection); + return lineStart + Mathf.Clamp(closestPoint, 0, fullDirection.magnitude) * lineDirection; + } + + /// + /// Repeats the value in the range from minValue to maxValue. + /// + /// The value to repeat. + /// The minimum value in the range. + /// The maximum value in the range. + /// The repeated value in the range from minValue to maxValue. + public static double Repeat(double n, double minValue, double maxValue) + { + if (double.IsInfinity(n) || double.IsInfinity(minValue) || double.IsInfinity(maxValue) || double.IsNaN(n) || double.IsNaN(minValue) || double.IsNaN(maxValue)) return n; + + double range = maxValue - minValue; + while (n < minValue || n > maxValue) + { + if (n < minValue) n += range; + else if (n > maxValue) n -= range; + } + return n; + } + + /// + /// Triangulates a polygon defined by a list of points in 2D space. + /// + /// List of points forming the polygon. + /// An enumerable of indices representing the triangles that make up the polygon. + public static IEnumerable Triangulate(List points) + { + List indices = new List(); + + int n = points.Count; + if (n < 3) return indices; + + int[] V = new int[n]; + if (TriangulateArea(points) > 0) for (int v = 0; v < n; v++) V[v] = v; + else for (int v = 0; v < n; v++) V[v] = (n - 1) - v; + + int nv = n; + int count = 2 * nv; + for (int v = nv - 1; nv > 2;) + { + if ((count--) <= 0) return indices; + + int u = v; + if (nv <= u) u = 0; + v = u + 1; + if (nv <= v) v = 0; + int w = v + 1; + if (nv <= w) w = 0; + + if (TriangulateSnip(points, u, v, w, nv, V)) + { + int s, t; + indices.Add(V[u]); + indices.Add(V[v]); + indices.Add(V[w]); + for (s = v, t = v + 1; t < nv; s++, t++) V[s] = V[t]; + nv--; + count = 2 * nv; + } + } + + indices.Reverse(); + return indices; + } + + private static float TriangulateArea(List points) + { + int n = points.Count; + float A = 0.0f; + for (int p = n - 1, q = 0; q < n; p = q++) + { + Vector2 pval = points[p]; + Vector2 qval = points[q]; + A += pval.x * qval.y - qval.x * pval.y; + } + return (A * 0.5f); + } + + private static bool TriangulateInsideTriangle(Vector2 A, Vector2 B, Vector2 C, Vector2 P) + { + float bp = (C.x - B.x) * (P.y - B.y) - (C.y - B.y) * (P.x - B.x); + float ap = (B.x - A.x) * (P.y - A.y) - (B.y - A.y) * (P.x - A.x); + float cp = (A.x - C.x) * (P.y - C.y) - (A.y - C.y) * (P.x - C.x); + return bp >= 0.0f && cp >= 0.0f && ap >= 0.0f; + } + + private static bool TriangulateSnip(List points, int u, int v, int w, int n, int[] V) + { + Vector2 A = points[V[u]]; + Vector2 B = points[V[v]]; + Vector2 C = points[V[w]]; + if (Mathf.Epsilon > (B.x - A.x) * (C.y - A.y) - (B.y - A.y) * (C.x - A.x)) return false; + for (int p = 0; p < n; p++) + { + if (p == u || p == v || p == w) continue; + if (TriangulateInsideTriangle(A, B, C, points[V[p]])) return false; + } + return true; + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainMath.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainMath.cs.meta new file mode 100644 index 000000000..ff5a97455 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainMath.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 37d0f9793343c564dbb97a853ede5f28 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainPOI.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainPOI.cs new file mode 100644 index 000000000..178cf163b --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainPOI.cs @@ -0,0 +1,72 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System; +using System.Xml; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain +{ + /// + /// Class points of interest. + /// + [Serializable] + public class RealWorldTerrainPOI + { + /// + /// The title of the POI. + /// + public string title; + + /// + /// Longitude. + /// + public double x; + + /// + /// Latitude. + /// + public double y; + + /// + /// Altitude + /// + public float altitude; + + public GameObject prefab; + + public RealWorldTerrainPOI() + { + + } + + /// + /// Constructor. + /// + /// POI title. + /// Longitude. + /// Latitude. + public RealWorldTerrainPOI(string title, double x, double y, float altitude = 0) + { + this.title = title; + this.x = x; + this.y = y; + this.altitude = altitude; + } + + public RealWorldTerrainPOI(XmlNode node) + { + try + { + x = RealWorldTerrainXMLExt.GetAttribute(node, "x"); + y = RealWorldTerrainXMLExt.GetAttribute(node, "y"); + title = node.InnerText; + } + catch (Exception e) + { + Debug.Log(e.Message); + throw; + } + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainPOI.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainPOI.cs.meta new file mode 100644 index 000000000..5d2dda93b --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainPOI.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 42d7e4b482738574e9653d37839d86d9 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainPrefsBase.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainPrefsBase.cs new file mode 100644 index 000000000..fa0819985 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainPrefsBase.cs @@ -0,0 +1 @@ +/* Dummy file for correct asset update */ \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainPrefsBase.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainPrefsBase.cs.meta new file mode 100644 index 000000000..0c7c3107c --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainPrefsBase.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 3da24486d7c62e24db6750bc813201a4 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainRangeI.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainRangeI.cs new file mode 100644 index 000000000..6aa58f4d3 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainRangeI.cs @@ -0,0 +1,75 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain +{ + /// + /// Class of integer range. + /// + [Serializable] + public class RealWorldTerrainRangeI + { + /// + /// Minimum value. + /// + public int min = 1; + + /// + /// Minimum limit. + /// + public int minLimit = int.MinValue; + + /// + /// Maximum value. + /// + public int max = 50; + + /// + /// Maximum limit. + /// + public int maxLimit = int.MaxValue; + + public RealWorldTerrainRangeI() + { + + } + + /// + /// Constructor. + /// + /// Minimum value. + /// Maximum value. + /// Minimum limit. + /// Maximum limit. + public RealWorldTerrainRangeI(int min, int max, int minLimit = int.MinValue, int maxLimit = int.MaxValue) + { + this.min = min; + this.max = max; + this.minLimit = minLimit; + this.maxLimit = maxLimit; + } + + /// + /// Sets new minimum and maximum values. + /// + /// New minimum value. + /// New maximum value. + public void Set(float min, float max) + { + this.min = Mathf.Max(minLimit, (int)min); + this.max = Mathf.Min(maxLimit, (int)max); + } + + /// + /// Gets random integer between the minimum and maximum. + /// + /// Rendom integer value. + public int Random() + { + return UnityEngine.Random.Range(min, max); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainRangeI.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainRangeI.cs.meta new file mode 100644 index 000000000..7a8f621f6 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainRangeI.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 72aa9ff10863f064eb2b9aeb9a2e0026 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainReflectionHelper.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainReflectionHelper.cs new file mode 100644 index 000000000..c93b2d9f0 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainReflectionHelper.cs @@ -0,0 +1,237 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; + + +namespace InfinityCode.RealWorldTerrain.Utils +{ + /// + /// Helper class for compatibility of reflection on WSA. + /// + public static class RealWorldTerrainReflectionHelper + { + private const BindingFlags DefaultLookup = BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public; + + /// + /// Checks whether the type is anonymous. + /// + /// Type + /// True - type is anonymous, false - otherwise + public static bool CheckIfAnonymousType(Type type) + { + if (type == null) throw new ArgumentNullException("type"); + + return IsGenericType(type) + && (type.Name.Contains("AnonymousType") || type.Name.Contains("AnonType")) + && (type.Name.StartsWith("<>") || type.Name.StartsWith("VB$")) + && (GetAttributes(type) & TypeAttributes.NotPublic) == TypeAttributes.NotPublic; + } + + /// + /// Gets the attributes associated with the Type. + /// + /// Type + /// Attributes of type. + public static TypeAttributes GetAttributes(Type type) + { +#if !NETFX_CORE + return type.Attributes; +#else + return type.GetTypeInfo().Attributes; +#endif + } + + + /// + /// Searches for the fields defined for the current Type, using the specified binding constraints. + /// + /// Type + /// A bitmask comprised of one or more BindingFlags that specify how the search is conducted. + /// An array of FieldInfo objects representing all fields defined for the current Type that match the specified binding constraints. + public static IEnumerable GetFields(Type type, BindingFlags bindingAttr = DefaultLookup) + { +#if !NETFX_CORE + return type.GetFields(bindingAttr); +#else + return type.GetTypeInfo().DeclaredFields; +#endif + } + + /// + /// Returns an array of Type objects that represent the type arguments of a generic type or the type parameters of a generic type definition. + /// + /// Type + /// An array of Type objects that represent the type arguments of a generic type. Returns an empty array if the current type is not a generic type. + public static Type[] GetGenericArguments(Type type) + { +#if !NETFX_CORE + return type.GetGenericArguments(); +#else + return type.GetTypeInfo().GenericTypeArguments; +#endif + } + + /// + /// Searches for the public members with the specified name. + /// + /// Type + /// The String containing the name of the public members to get. + /// An array of MemberInfo objects representing the public members with the specified name, if found; otherwise, an empty array. + public static MemberInfo GetMember(Type type, string name) + { +#if !NETFX_CORE + MemberInfo[] infos = type.GetMember(name); + if (infos.Length > 0) return infos[0]; + return null; +#else + IEnumerable members = type.GetTypeInfo().DeclaredMembers; + foreach (MemberInfo member in members) if (member.Name == name) return member; + return null; +#endif + } + + /// + /// searches for the members defined for the current Type, using the specified binding constraints. + /// + /// Type + /// A bitmask comprised of one or more BindingFlags that specify how the search is conducted. + /// An array of MemberInfo objects representing all members defined for the current Type that match the specified binding constraints. + public static IEnumerable GetMembers(Type type, BindingFlags bindingAttr = DefaultLookup) + { +#if !NETFX_CORE + return type.GetMembers(bindingAttr); +#else + return type.GetTypeInfo().DeclaredMembers; +#endif + } + + /// + /// Gets a MemberTypes value indicating the type of the member — method, constructor, event, and so on. + /// + /// MemberInfo + /// MemberTypes value + public static MemberTypes GetMemberType(MemberInfo member) + { +#if !NETFX_CORE + return member.MemberType; +#else + if (member is PropertyInfo) return MemberTypes.Property; + if (member is FieldInfo) return MemberTypes.Field; + if (member is MethodInfo) return MemberTypes.Method; + if (member is EventInfo) return MemberTypes.Event; + if (member is ConstructorInfo) return MemberTypes.Constructor; + return MemberTypes.All; +#endif + } + + /// + /// Searches for the public method with the specified name. + /// + /// Type + /// The String containing the name of the public method to get. + /// A MethodInfo object representing the public method with the specified name, if found; otherwise, null. + public static MethodInfo GetMethod(Type type, string name) + { +#if !NETFX_CORE + return type.GetMethod(name); +#else + return type.GetTypeInfo().GetDeclaredMethod(name); +#endif + } + + /// + /// Searches for the specified public method whose parameters match the specified argument types. + /// + /// Type + /// The String containing the name of the public method to get. + /// An array of Type objects representing the number, order, and type of the parameters for the method to get. + /// A MethodInfo object representing the public method whose parameters match the specified argument types, if found; otherwise, null. + public static MethodInfo GetMethod(Type type, string name, Type[] types) + { +#if !NETFX_CORE + return type.GetMethod(name, types); +#else + var methods = type.GetTypeInfo().GetDeclaredMethods(name); + foreach(var m in methods) + { + var parms = m.GetParameters(); + if (parms != null && parms.Length == types.Length && parms[0].ParameterType == typeof(string)) + { + bool success = true; + for(int i = 0; i < parms.Length; i++) + { + if (parms[i].ParameterType != types[i]) + { + success = false; + break; + } + } + if (success) return m; + } + } + return null; +#endif + } + + /// + /// Returns all the public properties of the current Type. + /// + /// Type + /// An array of PropertyInfo objects representing all public properties of the current Type. + public static PropertyInfo[] GetProperties(Type type) + { +#if !NETFX_CORE + return type.GetProperties(); +#else + return type.GetTypeInfo().DeclaredProperties.ToArray(); +#endif + } + + /// + /// Gets a value indicating whether the Type is a class; that is, not a value type or interface. + /// + /// Type + /// True if the Type is a class; otherwise, false. + public static bool IsClass(Type type) + { +#if !NETFX_CORE + return type.IsClass; +#else + return type.GetTypeInfo().IsClass; +#endif + } + + /// + /// Gets a value indicating whether the current type is a generic type. + /// + /// Type + /// True if the current type is a generic type; otherwise, false. + public static bool IsGenericType(Type type) + { +#if !NETFX_CORE + return type.IsGenericType; +#else + return type.GetTypeInfo().IsGenericType; +#endif + + } + + /// + /// Gets a value indicating whether the Type is a value type. + /// + /// Type + /// True if the Type is a value type; otherwise, false. + public static bool IsValueType(Type type) + { +#if !NETFX_CORE + return type.IsValueType; +#else + return type.GetTypeInfo().IsValueType; +#endif + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainReflectionHelper.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainReflectionHelper.cs.meta new file mode 100644 index 000000000..ae8d47561 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainReflectionHelper.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 533ede9d19f4c9d4c8bb36cfbbc4bef2 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainTimer.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainTimer.cs new file mode 100644 index 000000000..327583cea --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainTimer.cs @@ -0,0 +1,25 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System; + +namespace InfinityCode.RealWorldTerrain +{ + public struct RealWorldTerrainTimer + { + private long start; + + public double seconds + { + get { return (DateTime.Now.Ticks - start) / 10000000d; } + } + + public static RealWorldTerrainTimer Start() + { + return new RealWorldTerrainTimer + { + start = DateTime.Now.Ticks + }; + } + } +} diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainTimer.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainTimer.cs.meta new file mode 100644 index 000000000..9844e50b9 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainTimer.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6fc56d722009cc04b8f15c2a299105e6 +timeCreated: 1520680858 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainTriangulator.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainTriangulator.cs new file mode 100644 index 000000000..8fb401ac6 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainTriangulator.cs @@ -0,0 +1,415 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System; +using System.Collections.Generic; +using System.Linq; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain +{ + public class RealWorldTerrainTriangulator + { + private static void AddHole(List input, List hole) + { + if (hole == null || hole.Count < 3) return; + + float closestDistance = float.MaxValue; + int closestIndex1 = -1; + int closestIndex2 = -1; + + int holeCount = hole.Count; + float minX = float.MaxValue; + float maxX = float.MinValue; + float minZ = float.MaxValue; + float maxZ = float.MinValue; + + for (int i = 0; i < holeCount; i++) + { + Vector3 p = hole[i]; + float px = p.x; + float pz = p.z; + + if (px < minX) minX = px; + if (px > maxX) maxX = px; + if (pz < minZ) minZ = pz; + if (pz > maxZ) maxZ = pz; + } + + float cx = (maxX + minX) / 2; + float cz = (maxZ + minZ) / 2; + + for (int i = 0; i < input.Count; i++) + { + Vector3 p = input[i]; + float px = p.x; + float pz = p.z; + float distance = (px - cx) * (px - cx) + (pz - cz) * (pz - cz); + if (distance < closestDistance) + { + closestDistance = distance; + closestIndex1 = i; + } + } + + cx = input[closestIndex1].x; + cz = input[closestIndex1].z; + closestDistance = float.MaxValue; + + for (int i = 0; i < holeCount; i++) + { + Vector3 p = hole[i]; + float px = p.x; + float pz = p.z; + float distance = (px - cx) * (px - cx) + (pz - cz) * (pz - cz); + if (distance < closestDistance) + { + closestDistance = distance; + closestIndex2 = i; + } + } + + int firstPartSize = holeCount - closestIndex2; + input.Insert(closestIndex1, input[closestIndex1]); + closestIndex1++; + input.InsertRange(closestIndex1, hole.Skip(closestIndex2).Take(firstPartSize)); + input.InsertRange(closestIndex1 + firstPartSize, hole.Take(closestIndex2 + 1)); + } + + private static void AddHoles(List input, List> holes) + { + if (holes == null) return; + + int holeVertices = 0; + foreach (List hole in holes) + { + if (hole == null || hole.Count < 3) continue; + holeVertices += hole.Count + 1; + } + + if (input.Capacity < input.Count + holeVertices) input.Capacity = input.Count + holeVertices; + + foreach (List hole in holes) AddHole(input, hole); + } + + private static int[] GenerateTriangles(Point[] points, bool clockwise) + { + int count = points.Length; + int total = count; + int[] results = new int[(total - 2) * 3]; + + for (int i = 0; i < total; i++) points[i].UpdateWeight(); + + Sort(points, 0, count - 1); + + for (int i = 0; i < total; i++) points[i].pindex = i; + + int rindex = 0; + int start = 0; + int si = start; + + while (count > 2) + { + bool cannotFindPoint = true; + for (int i = si; i < total; i++) + { + Point v = points[i]; + if (v.isExternal) continue; + if (v.IsExternal(clockwise)) continue; + if (count > 4 && v.HasIntersections()) continue; + + si = i + 1; + v.WriteToResult(results, ref rindex); + + Point next = v.next; + Point prev = v.prev; + count--; + v.Dispose(); + next.SetPrev(prev); + + if (count > 3) + { + next.isExternal = prev.isExternal = false; + + for (int j = i; j > start; j--) + { + Point o = points[j - 1]; + points[j] = o; + o.pindex = j; + } + start++; + + int nsi = UpdateWeight(points, prev, start, total); + if (si > nsi) si = nsi; + + nsi = UpdateWeight(points, next, start, total); + if (si > nsi) si = nsi; + } + else + { + next.WriteToResult(results, ref rindex); + prev.Dispose(); + next.Dispose(); + count--; + } + cannotFindPoint = false; + break; + } + if (cannotFindPoint) + { + //Debug.Log("Triangulate Failed"); + return null; + } + } + + return results; + } + + private static void Sort(Point[] points, int left, int right) + { + int i = left, j = right; + Point pivot = points[(left + right) / 2]; + float weight = pivot.weight; + + while (i <= j) + { + while (points[i].weight < weight) + { + i++; + } + + while (points[j].weight > weight) + { + j--; + } + + if (i <= j) + { + Point tmp = points[i]; + points[i] = points[j]; + points[j] = tmp; + + i++; + j--; + } + } + + if (left < j) Sort(points, left, j); + if (i < right) Sort(points, i, right); + } + + public static int[] Triangulate(List input, List> holes = null, bool clockwise = true) + { + if (input == null) return null; + if (input.Count < 3) return null; + + List input3 = input.Select(i => new Vector3(i.x, 0, i.y)).ToList(); + return Triangulate(input3, holes, clockwise); + } + + public static int[] Triangulate(List input, List> holes = null, bool clockwise = true) + { + if (input == null) return null; + if (input.Count < 3) return null; + + AddHoles(input, holes); + int count = input.Count; + + if (count == 3) return new[] { 0, 1, 2 }; + if (count == 4) return new[] { 0, 1, 2, 0, 2, 3 }; + + Point[] points = new Point[count]; + Point prev = null; + + for (int i = 0; i < count; i++) + { + Point current = new Point(i, input[i]); + current.SetPrev(prev); + points[i] = current; + prev = current; + } + + points[0].SetPrev(prev); + + return GenerateTriangles(points, clockwise); + } + + private static int UpdateWeight(Point[] points, Point point, int start, int total) + { + float oldWeight = point.weight; + point.UpdateWeight(); + float newWeight = point.weight; + + int index = point.pindex; + int i = index; + + if (newWeight < oldWeight) + { + index--; + while (index >= start) + { + Point o = points[index]; + if (o.weight < newWeight) + { + points[i] = point; + break; + } + + points[i] = o; + o.pindex = i; + i = index; + index--; + } + + if (i == start) points[i] = point; + } + else + { + index++; + while (index < total) + { + Point o = points[index]; + if (o.weight > newWeight) + { + points[i] = point; + break; + } + + points[i] = o; + o.pindex = i; + i = index; + index++; + } + + if (index == total) points[i] = point; + } + + point.pindex = i; + return i; + } + + private class Point + { + public bool isExternal = false; + public Point next; + public Point prev; + public int pindex; + public float weight; + + private int index; + private float x; + private float y; + + public Point(int index, float x, float y) + { + weight = 0; + this.index = index; + this.x = x; + this.y = y; + } + + public Point(int index, Vector3 p) : this(index, p.x, p.z) + { + + } + + public void Dispose() + { + next = null; + prev = null; + } + + private bool EqualTo(Point p) + { + return Math.Abs(p.x - x) < float.Epsilon && Math.Abs(p.y - y) < float.Epsilon; + } + + public bool HasIntersections() + { + Point p1 = prev; + Point p2 = next; + + float rx = p2.x - p1.x; + float ry = p2.y - p1.y; + + Point p3 = p2.next; + Point p4 = p3.next; + + while (p4 != p1) + { + float d = (p4.y - p3.y) * rx - (p4.x - p3.x) * ry; + + if (d > 0) + { + float u_a = (p4.x - p3.x) * (p1.y - p3.y) - (p4.y - p3.y) * (p1.x - p3.x); + float u_b = rx * (p1.y - p3.y) - ry * (p1.x - p3.x); + + if (u_a >= 0 && u_a <= d && u_b >= 0 && u_b <= d) + { + if (!p1.EqualTo(p3) && !p1.EqualTo(p4) && !p2.EqualTo(p3) && !p2.EqualTo(p4)) + { + return true; + } + } + } + p3 = p4; + p4 = p4.next; + } + + + return false; + } + + public bool IsExternal(bool clockwise) + { + Point a = prev; + Point b = next; + + isExternal = ((b.x - a.x) * (y - a.y) - (b.y - a.y) * (x - a.x) >= 0) ^ clockwise; + return isExternal; + } + + public void SetPrev(Point other) + { + if (other == null) return; + + prev = other; + other.next = this; + } + + public override string ToString() + { + if (prev == null) return "Point i:" + index + ". Disposed"; + return "Point i:" + index + ", p:" + prev.index + ", n:" + next.index + ", w:" + weight + ", pi:" + pindex; + } + + public void UpdateWeight() + { + float p1x = prev.x; + float p1y = prev.y; + float p2x = next.x; + float p2y = next.y; + + float ax = p1x - x; + float ay = p1y - y; + float bx = p2x - x; + float by = p2y - y; + float cx = p2x - p1x; + float cy = p2y - p1y; + + float a = (float)Math.Sqrt(ax * ax + ay * ay); + float b = (float)Math.Sqrt(bx * bx + by * by); + float c = (float)Math.Sqrt(cx * cx + cy * cy); + float p = (a + b + c) / 2; + weight = p * (p - a) * (p - b) * (p - c); + } + + public void WriteToResult(int[] results, ref int rindex) + { + results[rindex++] = index; + results[rindex++] = next.index; + results[rindex++] = prev.index; + } + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainTriangulator.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainTriangulator.cs.meta new file mode 100644 index 000000000..cf8f9302e --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainTriangulator.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d82d5f6b9292f0b47982f51a0c749135 +timeCreated: 1524053217 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainUTM.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainUTM.cs new file mode 100644 index 000000000..20fce3ef1 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainUTM.cs @@ -0,0 +1,208 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.Text.RegularExpressions; + +namespace InfinityCode.RealWorldTerrain +{ + public static class RealWorldTerrainUTM + { + const double flattening = 298.257223563; + const double equatorialRadius = 6378137; + + private static double DegToRad(double deg) + { + double pi = Math.PI; + return deg / 180 * pi; + } + + private static double FootpointLatitude(double y) + { + const double r = equatorialRadius; + const double v1 = r * (1.0 - 1.0 / flattening); + const double x = (r - v1) / (r + v1); + double v2 = (r + v1) / 2.0 * (1.0 + Math.Pow(x, 2.0) / 4.0 + Math.Pow(x, 4.0) / 64.0); + double v3 = y / v2; + double v4 = 3.0 * x / 2.0 + -27.0 * Math.Pow(x, 3.0) / 32.0 + 269.0 * Math.Pow(x, 5.0) / 512.0; + double v5 = 21.0 * Math.Pow(x, 2.0) / 16.0 + -55.0 * Math.Pow(x, 4.0) / 32.0; + double v6 = 151.0 * Math.Pow(x, 3.0) / 96.0 + -417.0 * Math.Pow(x, 5.0) / 128.0; + double v7 = 1097.0 * Math.Pow(x, 4.0) / 512.0; + return v3 + v4 * Math.Sin(2.0 * v3) + v5 * Math.Sin(4.0 * v3) + v6 * Math.Sin(6.0 * v3) + v7 * Math.Sin(8.0 * v3); + } + + private static void Geodetic_To_UPS(double lng, double lat, out string latZone, out int lngZone, out double easting, out double northing) + { + if (Math.Abs(lng + 180.0) < double.Epsilon) lng = 180.0; + + double v1 = lat * Math.PI / 180.0; + double v2 = lng * Math.PI / 180.0; + const double x = 1.0 / flattening; + const double v3 = equatorialRadius * (1.0 - x); + double v4 = Math.Sqrt(2.0 * x - Math.Pow(x, 2.0)); + double v5 = 2.0 * (equatorialRadius * equatorialRadius) / v3 * Math.Pow((1.0 - v4) / (1.0 + v4), v4 / 2.0) * Math.Tan(Math.PI / 4.0 - Math.Abs(v1) / 2.0) * Math.Pow((1.0 + v4 * Math.Sin(Math.Abs(v1))) / (1.0 - v4 * Math.Sin(Math.Abs(v1))), v4 / 2.0); + double v6 = 2000000.0 + 0.994 * v5 * Math.Sin(v2); + double v7 = lat <= 0.0 ? 2000000.0 + 0.994 * v5 * Math.Cos(v2) : 2000000.0 - 0.994 * v5 * Math.Cos(v2); + string str = lat < 0.0 ? (lng >= 0.0 || lng == -180.0 || lat == -90.0 ? "B" : "A") : (lng >= 0.0 || lng == -180.0 || lat == 90.0 ? "Z" : "Y"); + easting = v6; + northing = v7; + lngZone = 0; + latZone = str; + } + + private static double RadToDeg(double rad) + { + return rad / Math.PI * 180.0; + } + + public static void ToLngLat(string latZone, int lngZone, double easting, double northing, out double lng, out double lat) + { + if (new Regex("[AaBbYyZz]").IsMatch(latZone)) + { + UPS_To_Geodetic(latZone, easting, northing, out lng, out lat); + return; + } + bool isNorthHemisphere = new Regex("[CcDdEeFfGgHhJjKkLlMm]").IsMatch(latZone); + double v1 = easting - 500000.0; + const double v2 = 0.9996; + double x = v1 / v2; + if (isNorthHemisphere) northing -= 10000000.0; + UTMtoLatLong(x, northing / v2, UTMCentralMeridian(lngZone), out lng, out lat); + } + + public static void ToUTM(double lng, double lat, out string latZone, out int lngZone, out double easting, out double northing) + { + if (lat < -80.0 || lat > 84.0) + { + Geodetic_To_UPS(lng, lat, out latZone, out lngZone, out easting, out northing); + return; + } + + const double c0 = 0.9996; + const double c1 = Math.PI / 180.0; + const double c2 = 1.0 / flattening; + const double c3 = equatorialRadius * (1.0 - c2); + const double c4 = 1.0 - c3 / equatorialRadius * (c3 / equatorialRadius); + + int v1 = (int)Math.Floor(lng / 6.0 + 31.0); + string str = lat >= -72.0 ? (lat >= -64.0 ? (lat >= -56.0 ? (lat >= -48.0 ? (lat >= -40.0 ? (lat >= -32.0 ? (lat >= -24.0 ? (lat >= -16.0 ? (lat >= -8.0 ? (lat >= 0.0 ? (lat >= 8.0 ? (lat >= 16.0 ? (lat >= 24.0 ? (lat >= 32.0 ? (lat >= 40.0 ? (lat >= 48.0 ? (lat >= 56.0 ? (lat >= 64.0 ? (lat >= 72.0 ? "X" : "W") : "V") : "U") : "T") : "S") : "R") : "Q") : "P") : "N") : "M") : "L") : "K") : "J") : "H") : "G") : "F") : "E") : "D") : "C"; + double v2 = Math.Sqrt(1.0 - Math.Pow(c3, 2.0) / Math.Pow(equatorialRadius, 2.0)); + double v3 = lat * c1; + double v4 = 3.0 + 6.0 * (1.0 + Math.Floor((lng + 180.0) / 6.0) - 1.0) - 180.0; + double v5 = v2 * v2 / (1.0 - Math.Pow(v2, 2.0)); + double v6 = equatorialRadius / Math.Sqrt(1.0 - Math.Pow(v2 * Math.Sin(v3), 2.0)); + double v7 = Math.Pow(Math.Tan(v3), 2.0); + double v8 = v5 * Math.Pow(Math.Cos(v3), 2.0); + double v9 = (lng - v4) * c1 * Math.Cos(v3); + double v10 = (v3 * (1.0 - c4 * (0.25 + c4 * (3.0 / 64.0 + 5.0 * c4 / 256.0))) - Math.Sin(2.0 * v3) * (c4 * (0.375 + c4 * (3.0 / 32.0 + 45.0 * c4 / 1024.0))) + Math.Sin(4.0 * v3) * (c4 * c4 * (15.0 / 256.0 + c4 * 45.0 / 1024.0)) - Math.Sin(6.0 * v3) * (c4 * c4 * c4 * 0.0113932291666667)) * equatorialRadius; + double v11 = c0 * v6 * v9 * (1.0 + v9 * v9 * ((1.0 - v7 + v8) / 6.0 + v9 * v9 * (5.0 - 18.0 * v7 + v7 * v7 + 72.0 * v8 - 58.0 * v5) / 120.0)) + 500000.0; + double v12 = c0 * (v10 + v6 * Math.Tan(v3) * (v9 * v9 * (0.5 + v9 * v9 * ((5.0 - v7 + 9.0 * v8 + 4.0 * v8 * v8) / 24.0 + v9 * v9 * (61.0 - 58.0 * v7 + v7 * v7 + 600.0 * v8 - 330.0 * v5) / 720.0)))); + latZone = str; + lngZone = v1 == 61? 1: v1; + easting = v11; + northing = v12 < 0.0? 10000000.0 + v12: v12; + } + + private static void UPS_To_Geodetic(string latZone, double easting, double northing, out double lng, out double lat) + { + const double x = 1.0 / flattening; + const double v1 = equatorialRadius * (1.0 - x); + double v2 = Math.Sqrt(2 * x - Math.Pow(x, 2)); + double v3 = (easting - 2000000) / 0.994; + double v4 = (northing - 2000000) / 0.994; + double v5 = v4; + if (v4 == 0.0) v4 = 1; + + bool flag = latZone.ToUpper() != "Z" && latZone.ToUpper() != "Y"; + + double d1; + double d2; + if (flag) + { + d1 = Math.PI + Math.Atan(v3 / v5); + d2 = Math.PI + Math.Atan(v3 / v4); + } + else + { + d1 = Math.PI - Math.Atan(v3 / v5); + d2 = Math.PI - Math.Atan(v3 / v4); + } + double v6 = 2.0 * Math.Pow(equatorialRadius, 2.0) / v1 * Math.Pow((1.0 - v2) / (1.0 + v2), v2 / 2.0); + double v7 = Math.Abs(v4); + double v8 = Math.Abs(Math.Cos(d2)); + double v9 = v6 * v8; + double y = Math.Log(v7 / v9) / Math.Log(Math.E) * -1.0; + double v10 = 2.0 * Math.Atan(Math.Pow(Math.E, y)) - Math.PI / 2.0; + double d3; + double v11; + double v12; + for (d3 = 0.0; Math.Abs(v10 - d3) > 1E-07 && !double.IsInfinity(v10); v10 -= v11 / v12) + { + d3 = v10; + double d4 = (1.0 + Math.Sin(v10)) / (1.0 - Math.Sin(v10)) * Math.Pow((1.0 - v2 * Math.Sin(v10)) / (1.0 + v2 * Math.Sin(v10)), v2); + v11 = -y + 0.5 * Math.Log(d4); + v12 = (1.0 - Math.Pow(v2, 2.0)) / ((1.0 - Math.Pow(v2, 2.0) * Math.Pow(Math.Sin(v10), 2.0)) * Math.Cos(v10)); + } + if (!double.IsInfinity(v10)) d3 = v10; + lat = !double.IsNaN(d3) ? d3 * (180.0 / Math.PI) : 90.0; + if (flag) lat *= -1.0; + lng = !double.IsNaN(d1) ? d1 * (180.0 / Math.PI) : 0.0; + if (easting < 2000000.0) lng = (180.0 - lng % 180.0) * -1.0; + else if (lng > 180.0) lng -= 180.0; + else if (lng < -180.0) lng += 180.0; + if (((northing < 2000000.0 ? 0 : v3 == 0.0 ? 1 : 0) & (flag ? 1 : 0)) != 0) lng = 0.0; + if (northing < 2000000.0 && v3 == 0.0 && !flag) lng = 0.0; + } + + private static double UTMCentralMeridian(double zone) + { + return DegToRad(zone * 6 - 183); + } + + private static void UTMtoLatLong(double x, double y, double zone, out double lng, out double lat) + { + const double r = equatorialRadius; + const double x2 = r * (1 - 1 / flattening); + const double v1 = (r * r - x2 * x2) / (x2 * x2); + + double fpLat = FootpointLatitude(y); + double x3 = Math.Cos(fpLat); + double v2 = Math.Pow(x3, 2); + double v3 = v1 * v2; + double v4 = Math.Pow(r, 2) / (x2 * Math.Sqrt(v3 + 1)); + double v5 = v4; + double v6 = Math.Tan(fpLat); + double v7 = v6 * v6; + double v8 = v7 * v7; + double v9 = 1 / (v5 * x3); + double v10 = v5 * v4; + double v11 = v6 / (2 * v10); + double v12 = v10 * v4; + double v13 = 1 / (6 * v12 * x3); + double v14 = v12 * v4; + double v15 = v6 / (24 * v14); + double v16 = v14 * v4; + double v17 = 1 / (120 * v16 * x3); + double v18 = v16 * v4; + double v19 = v6 / (720 * v18); + double v20 = v18 * v4; + double v21 = 1.0 / (5040 * v20 * x3); + double v22 = v6 / (40320 * (v20 * v4)); + double v23 = -1 - v3; + double v24 = -1 - 2 * v7 - v3; + double v25 = 5 + 3 * v7 + 6 * v3 - 6 * v7 * v3 - 3 * (v3 * v3) - 9 * v7 * (v3 * v3); + double v26 = 5 + 28 * v7 + 24 * v8 + 6 * v3 + 8 * v7 * v3; + double v27 = -61 - 90 * v7 - 45 * v8 - 107 * v3 + 162 * v7 * v3; + double v28 = -61 - 662 * v7 - 1320 * v8 - 720 * (v8 * v7); + double v29 = 1385 + 3633 * v7 + 4095 * v8 + 1575 * (v8 * v7); + double rad1 = fpLat + v11 * v23 * (x * x) + v15 * v25 * Math.Pow(x, 4) + v19 * v27 * Math.Pow(x, 6) + v22 * v29 * Math.Pow(x, 8); + double rad2 = zone + v9 * x + v13 * v24 * Math.Pow(x, 3) + v17 * v26 * Math.Pow(x, 5) + v21 * v28 * Math.Pow(x, 7); + lat = RadToDeg(rad1); + lng = RadToDeg(rad2); + if (lat > 90) lat = 90; + else if (lat < -90) lat = -90; + if (lng > 180) lng = 180; + else if (lng < -180) lng = -180; + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainUTM.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainUTM.cs.meta new file mode 100644 index 000000000..d105ce261 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainUTM.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f164369da34861849a262c61b3be72b1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainUtils.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainUtils.cs new file mode 100644 index 000000000..e73e9b5d9 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainUtils.cs @@ -0,0 +1,338 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.Collections.Generic; +using System.Globalization; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading; +using UnityEngine; +using Object = UnityEngine.Object; + +namespace InfinityCode.RealWorldTerrain +{ + /// + /// This class contains utility methods. + /// + public static class RealWorldTerrainUtils + { + /// + /// The average size of the texture of the tile. + /// + public const int AVERAGE_TEXTURE_SIZE = 20000; + + /// + /// Maximum the size of the download for Google Maps. + /// + public const int DOWNLOAD_TEXTURE_LIMIT = 90000000; + + /// + /// Size of tile. + /// + public const short TILE_SIZE = 256; + + /// + /// Gets Hex value of Color. + /// + /// Color + /// Hex value + public static string ColorToHex(Color32 color) + { + return color.r.ToString("X2") + color.g.ToString("X2") + color.b.ToString("X2"); + } + + /// + /// Creates a new GameObject with the specified name, sets it as a child of the parent GameObject, and positions it at the origin. + /// + /// The MonoBehaviour whose GameObject should be the parent of the new GameObject. + /// The name of the new GameObject. + /// The new GameObject. + public static GameObject CreateGameObject(MonoBehaviour parent, string name) + { + return CreateGameObject(parent.gameObject, name, Vector3.zero); + } + + /// + /// Creates a new GameObject with the specified name, sets it as a child of the parent GameObject. + /// + /// The GameObject that should be the parent of the new GameObject. + /// The name of the new GameObject. + /// The new GameObject. + public static GameObject CreateGameObject(GameObject parent, string name) + { + return CreateGameObject(parent, name, Vector3.zero); + } + + /// + /// Creates a new GameObject with the specified name, sets it as a child of the parent GameObject, and positions it at the specified position. + /// + /// The GameObject that should be the parent of the new GameObject. + /// The name of the new GameObject. + /// The local position of the new GameObject. + /// The new GameObject. + public static GameObject CreateGameObject(GameObject parent, string name, Vector3 position) + { + GameObject container = new GameObject(name); + container.transform.parent = parent.transform; + container.transform.localPosition = position; + return container; + } + + /// + /// Deletes a GameObject from the scene hierarchy. + /// + /// The parent transform from which to delete the GameObject. + /// The name of the GameObject to delete. + public static void DeleteGameObject(Transform current, string name) + { + for (int i = current.childCount - 1; i >= 0; i--) + { + Transform child = current.GetChild(i); + if (child.name == name) Object.DestroyImmediate(child.gameObject); + else DeleteGameObject(child, name); + } + } + + /// + /// Exports a collection of MeshFilters to a file in the .obj format. + /// + /// The name of the file to which the meshes will be exported. + /// An array of MeshFilters whose meshes will be exported. + /// + /// This method exports the meshes of the provided MeshFilters to a file in the .obj format. + /// Each mesh is exported as a separate group, and the name of the group is the name of the GameObject to which the MeshFilter is attached. + /// The method also exports the normals and UVs of the meshes. + /// + public static void ExportMesh(string filename, params MeshFilter[] mfs) + { + StringBuilder builder = new StringBuilder(); + int nextNormalIndex = 0; + foreach (MeshFilter mf in mfs) + { + Mesh m = mf.sharedMesh; + Material[] mats = mf.GetComponent().sharedMaterials; + + builder.Append("g ").Append(mf.name).Append("\n"); + for (int i = 0; i < m.vertices.Length; i++) + { + Vector3 v = m.vertices[i]; + builder.Append("v ").Append(v.x).Append(" ").Append(v.y).Append(" ").Append(v.z).Append("\n"); + } + builder.Append("\n"); + + for (int i = 0; i < m.normals.Length; i++) + { + Vector3 v = m.normals[i]; + builder.Append("vn ").Append(v.x).Append(" ").Append(v.y).Append(" ").Append(v.z).Append("\n"); + } + builder.Append("\n"); + + for (int i = 0; i < m.uv.Length; i++) + { + Vector2 v = m.uv[i]; + builder.Append("vt ").Append(v.x).Append(" ").Append(v.y).Append("\n"); + } + + for (int material = 0; material < m.subMeshCount; material++) + { + builder.Append("\nusemtl ").Append(mats[material].name).Append("\n"); + builder.Append("usemap ").Append(mats[material].name).Append("\n"); + + int[] triangles = m.GetTriangles(material); + for (int i = 0; i < triangles.Length; i += 3) + { + int tni1 = triangles[i] + 1 + nextNormalIndex; + int tni2 = triangles[i + 1] + 1 + nextNormalIndex; + int tni3 = triangles[i + 2] + 1 + nextNormalIndex; + builder.Append("f ").Append(tni1).Append("/").Append(tni1).Append("/").Append(tni1); + builder.Append(" ").Append(tni2).Append("/").Append(tni2).Append("/").Append(tni2); + builder.Append(" ").Append(tni3).Append("/").Append(tni3).Append("/").Append(tni3).Append("\n"); + } + } + + builder.Append("\n"); + nextNormalIndex += m.normals.Length; + } + +#if !NETFX_CORE + StreamWriter stream = new StreamWriter(filename); + stream.Write(builder.ToString()); + stream.Close(); +#endif + } + + /// + /// Calculates the bounding rectangle from a list of Vector3 points. + /// + /// A list of Vector3 points. + /// A Rect structure that contains the smallest axis-aligned rectangle that can be drawn to encompass all the points in the list. + public static Rect GetRectFromPoints(List points) + { + return new Rect + { + x = points.Min(p => p.x), + y = points.Min(p => p.z), + xMax = points.Max(p => p.x), + yMax = points.Max(p => p.z) + }; + } + + /// + /// Finds an object of type T in the scene. + /// + /// The type of the object to find. This type parameter should be a subclass of UnityEngine.Object. + /// The object of type T found in the scene, or null if no such object exists. + public static T FindObjectOfType() where T : Object + { +#if UNITY_2023_1_OR_NEWER + return Object.FindFirstObjectByType(); +#else + return Object.FindObjectOfType(); +#endif + } + + /// + /// Finds all objects of type T in the scene. + /// + /// The type of the objects to find. This type parameter should be a subclass of UnityEngine.Object. + /// An array of objects of type T found in the scene. If no such objects exist, an empty array is returned. + public static T[] FindObjectsOfType() where T : Object + { +#if UNITY_2023_1_OR_NEWER + return Object.FindObjectsByType(FindObjectsSortMode.None); +#else + return Object.FindObjectsOfType(); +#endif + } + + /// + /// Converts a hexadecimal color string to a Color object. + /// + /// A string representing a color in hexadecimal format. The string should be 6 characters long and consist of pairs of hexadecimal digits representing the red, green, and blue components of the color, in that order. + /// A Color object that represents the color specified by the hexadecimal string. The alpha component of the color is always set to 255. + public static Color HexToColor(string hex) + { + byte r = Byte.Parse(hex.Substring(0, 2), NumberStyles.HexNumber); + byte g = Byte.Parse(hex.Substring(2, 2), NumberStyles.HexNumber); + byte b = Byte.Parse(hex.Substring(4, 2), NumberStyles.HexNumber); + return new Color32(r, g, b, 255); + } + + /// + /// Replaces all occurrences of specified strings within the original string with a new string. + /// + /// The original string. + /// An array of strings to be replaced. + /// The string to replace all occurrences of the old values. + /// A new string that is identical to the original string, except that all occurrences of strings in the oldValues array have been replaced by the newValue string. + public static string ReplaceString(string str, string[] oldValues, string newValue) + { + foreach (string oldValue in oldValues) str = str.Replace(oldValue, newValue); + return str; + } + + /// + /// Replaces all occurrences of specified strings within the original string with corresponding new strings. + /// + /// The original string. + /// An array of strings to be replaced. + /// An array of new strings that correspond to the old values. Each string in oldValues is replaced by the string at the same index in newValues. + /// A new string that is identical to the original string, except that all occurrences of strings in the oldValues array have been replaced by the corresponding strings in the newValues array. + public static string ReplaceString(string str, string[] oldValues, string[] newValues) + { + for (int i = 0; i < oldValues.Length; i++) str = str.Replace(oldValues[i], newValues[i]); + return str; + } + + /// + /// Removes a specified number of elements from a list at a specified position and returns them. + /// + /// The type of elements in the list. + /// The list from which to remove elements. + /// The zero-based index at which to start removing elements. + /// The number of elements to remove. The default value is 1. + /// A new list that contains the removed elements. + public static List SpliceList(List list, int offset, int count = 1) + { + List newList = list.Skip(offset).Take(count).ToList(); + list.RemoveRange(offset, count); + return newList; + } + + /// + /// Converts a string representation of a color to a Color object. + /// + /// A string representing a color. This can be a named color (e.g. "red", "blue", "green", etc.) or a hexadecimal color string (e.g. "FF0000" for red). + /// A Color object that represents the color specified by the string. If the string does not represent a valid color, Color.white is returned. + public static Color StringToColor(string str) + { + str = str.ToLower(); + if (str == "black") return Color.black; + if (str == "blue") return Color.blue; + if (str == "cyan") return Color.cyan; + if (str == "gray") return Color.gray; + if (str == "green") return Color.green; + if (str == "magenta") return Color.magenta; + if (str == "red") return Color.red; + if (str == "white") return Color.white; + if (str == "yellow") return Color.yellow; + + try + { + string hex = (str + "000000").Substring(1, 6); + byte[] cb = + Enumerable.Range(0, hex.Length) + .Where(x => x % 2 == 0) + .Select(x => Convert.ToByte(hex.Substring(x, 2), 16)) + .ToArray(); + return new Color32(cb[0], cb[1], cb[2], 255); + } + catch + { + return Color.white; + } + } + + #region Obsolete + + [Obsolete("Use RealWorldTerrainGeo.LatLongToMercat instead.")] + public static void LatLongToMercat(ref double x, ref double y) + { + RealWorldTerrainGeo.LatLongToMercat(ref x, ref y); + } + + [Obsolete("Use RealWorldTerrainGeo.LatLongToMercat instead.")] + public static void LatLongToMercat(double x, double y, out double mx, out double my) + { + RealWorldTerrainGeo.LatLongToMercat(x, y, out mx, out my); + } + + [Obsolete("Use RealWorldTerrainGeo.LatLongToTile instead.")] + public static void LatLongToTile(double dx, double dy, int zoom, out double tx, out double ty) + { + RealWorldTerrainGeo.LatLongToTile(dx, dy, zoom, out tx, out ty); + } + + [Obsolete("Use RealWorldTerrainGeo.MercatToLatLong instead.")] + public static void MercatToLatLong(double mx, double my, out double x, out double y) + { + RealWorldTerrainGeo.MercatToLatLong(mx, my, out x, out y); + } + + [Obsolete("Use RealWorldTerrainGeo.TileToLatLong instead.")] + public static void TileToLatLong(double tx, double ty, int zoom, out double lx, out double ly) + { + RealWorldTerrainGeo.TileToLatLong(tx, ty, zoom, out lx, out ly); + } + + [Obsolete("Use RealWorldTerrainGeo.TileToQuadKey instead.")] + public static string TileToQuadKey(int x, int y, int zoom) + { + return RealWorldTerrainGeo.TileToQuadKey(x, y, zoom); + } + + #endregion + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainUtils.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainUtils.cs.meta new file mode 100644 index 000000000..29f66ef6f --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainUtils.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 0ed211d619c02ff4591f4549a3153d59 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainVector2i.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainVector2i.cs new file mode 100644 index 000000000..b320412cb --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainVector2i.cs @@ -0,0 +1,88 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain +{ + /// + /// Integer version of Vector2 struct. + /// + [Serializable] + public struct RealWorldTerrainVector2i + { + /// + /// Gets the RealWorldTerrainVector2i where x=1 and y=1. + /// + public static RealWorldTerrainVector2i one + { + get + { + return new RealWorldTerrainVector2i(1, 1); + } + } + + /// + /// The x value. + /// + public int x; + + /// + /// The y value. + /// + public int y; + + /// + /// Returns the count items (X * Y). + /// + public int count + { + get { return x * y; } + } + + /// + /// Returns the maximum value of x and y. + /// + public int max + { + get { return Mathf.Max(x, y); } + } + + /// + /// Constructor. + /// + /// X value. + /// Y value. + public RealWorldTerrainVector2i(int X = 0, int Y = 0) + { + x = X; + y = Y; + } + + public override string ToString() + { + return string.Format("X: {0}, Y: {1}", x, y); + } + + public static implicit operator Vector2(RealWorldTerrainVector2i val) + { + return new Vector2(val.x, val.y); + } + + public static implicit operator int(RealWorldTerrainVector2i val) + { + return val.count; + } + + public static RealWorldTerrainVector2i operator +(RealWorldTerrainVector2i v1, RealWorldTerrainVector2i v2) + { + return new RealWorldTerrainVector2i(v1.x + v2.x, v1.y + v2.y); + } + + public static RealWorldTerrainVector2i operator -(RealWorldTerrainVector2i v1, RealWorldTerrainVector2i v2) + { + return new RealWorldTerrainVector2i(v1.x - v2.x, v1.y - v2.y); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainVector2i.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainVector2i.cs.meta new file mode 100644 index 000000000..a312e2903 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainVector2i.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: fff27cb1c0305c64fbb889633f1665cc +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainVectorTerrainLayerFeature.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainVectorTerrainLayerFeature.cs new file mode 100644 index 000000000..029042711 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainVectorTerrainLayerFeature.cs @@ -0,0 +1,130 @@ +/* INFINITY CODE */ +/* https://infinity-code.com */ + +using System; +using System.Collections.Generic; +using System.Linq; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain +{ + [Serializable] + public class RealWorldTerrainVectorTerrainLayerFeature + { + public const float TerrainLayerLineHeight = 20; + + private static string[] _layerNames; + private static List _landuseNames; + private static List _landuseOverlayNames; + private static List _structureNames; + private static List _waterwayNames; + + public List terrainLayers; + public Vector2 noiseOffset = Vector2.zero; + public float noiseScale = 16; + public List rules; + + [NonSerialized] + private float? _height; + + public float height + { + get + { + if (!_height.HasValue) UpdateHeight(); + return _height.Value; + } + } + + public static List landuseNames + { + get + { + if (_landuseNames == null) _landuseNames = Enum.GetNames(typeof(RealWorldTerrainMapboxLanduse)).ToList(); + return _landuseNames; + } + } + + public static List landuseOverlayNames + { + get + { + if (_landuseOverlayNames == null) _landuseOverlayNames = Enum.GetNames(typeof(RealWorldTerrainMapboxLanduseOverlay)).ToList(); + return _landuseOverlayNames; + } + } + + public static string[] layerNames + { + get + { + if (_layerNames == null) _layerNames = Enum.GetNames(typeof(RealWorldTerrainMapboxLayer)); + return _layerNames; + } + } + + public static List structureNames + { + get + { + if (_structureNames == null) _structureNames = Enum.GetNames(typeof(RealWorldTerrainMapboxStructure)).ToList(); + return _structureNames; + } + } + + public static List waterwayNames + { + get + { + if (_waterwayNames == null) _waterwayNames = Enum.GetNames(typeof(RealWorldTerrainMapboxWaterway)).ToList(); + return _waterwayNames; + } + } + + public void UpdateHeight() + { + int rows = 3; + + if (terrainLayers == null) rows += 1; + else if (terrainLayers.Count == 1) rows += 1; + else rows += terrainLayers.Count + 2; + + if (rules != null) + { + foreach (Rule rule in rules) rows += rule.hasExtra ? 3 : 2; + } + + _height = rows * TerrainLayerLineHeight + 5; + } + + [Serializable] + public class Rule + { + public RealWorldTerrainMapboxLayer layer = RealWorldTerrainMapboxLayer.building; + public int extra = ~0; + + [NonSerialized] + private string _layerName; + + public string layerName + { + get + { + if (_layerName == null) _layerName = layer.ToString(); + return _layerName; + } + } + + public bool hasExtra + { + get + { + return layer == RealWorldTerrainMapboxLayer.landuse_overlay || + layer == RealWorldTerrainMapboxLayer.landuse || + layer == RealWorldTerrainMapboxLayer.waterway || + layer == RealWorldTerrainMapboxLayer.structure; + } + } + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainVectorTerrainLayerFeature.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainVectorTerrainLayerFeature.cs.meta new file mode 100644 index 000000000..0b642ee65 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainVectorTerrainLayerFeature.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2875eab44961cd546b710b79a2c58428 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainXMLExt.cs b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainXMLExt.cs new file mode 100644 index 000000000..5920f19e9 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainXMLExt.cs @@ -0,0 +1,55 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System; +using System.Globalization; +using System.Reflection; +using System.Xml; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain +{ + public static class RealWorldTerrainXMLExt + { + public static T GetAttribute(XmlNode node, string name) + { + XmlAttribute attribute = node.Attributes[name]; + + if (attribute == null) return default(T); + + string value = attribute.Value; + if (string.IsNullOrEmpty(value)) return default(T); + + Type type = typeof(T); + if (type == typeof(string)) return (T)Convert.ChangeType(value, type); + + T obj = default(T); + PropertyInfo[] properties = type.GetProperties(); + Type underlyingType = type; + +#if !UNITY_WSA + if (properties.Length == 2 && string.Equals(properties[0].Name, "HasValue", StringComparison.InvariantCultureIgnoreCase)) underlyingType = properties[1].PropertyType; +#else + if (properties.Length == 2 && string.Equals(properties[0].Name, "HasValue", StringComparison.OrdinalIgnoreCase)) underlyingType = properties[1].PropertyType; +#endif + + try + { + MethodInfo method = underlyingType.GetMethod("Parse", new[] { typeof(string), typeof(IFormatProvider) }); + if (method != null) obj = (T)method.Invoke(null, new object[] { value, RealWorldTerrainCultureInfo.numberFormat }); + else + { + method = underlyingType.GetMethod("Parse", new[] { typeof(string) }); + obj = (T)method.Invoke(null, new[] { value }); + } + } + catch (Exception exception) + { + Debug.Log(exception.Message + "\n" + exception.StackTrace); + throw; + } + + return obj; + } + } +} diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainXMLExt.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainXMLExt.cs.meta new file mode 100644 index 000000000..8ae60339c --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/Utils/RealWorldTerrainXMLExt.cs.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 06bbe1880a45585418e10c85791711b9 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/WebServices.meta b/Assets/Infinity Code/Real World Terrain/Scripts/WebServices.meta new file mode 100644 index 000000000..99d6b269d --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/WebServices.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 3f2c4d93c7d3ac648b8ae165624eff16 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/Base.meta b/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/Base.meta new file mode 100644 index 000000000..e7e1506a9 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/Base.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 9a455e8181abc4e4aa3925f4d23ee087 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/Base/RealWorldTerrainTextWebServiceBase.cs b/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/Base/RealWorldTerrainTextWebServiceBase.cs new file mode 100644 index 000000000..5bc07626b --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/Base/RealWorldTerrainTextWebServiceBase.cs @@ -0,0 +1,64 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System; +using InfinityCode.RealWorldTerrain.ExtraTypes; + +namespace InfinityCode.RealWorldTerrain.Webservices.Base +{ + /// + /// The base class for working with the web services returns text response. + /// + public abstract class RealWorldTerrainTextWebServiceBase : RealWorldTerrainWebServiceBase + { + /// + /// Event that occurs when a response is received from webservice. + /// + public Action OnComplete; + + protected string _response; + + /// + /// Gets a response from webservice. + /// + /// + /// The response. + /// + public string response + { + get { return _response; } + } + + public override void Destroy() + { + if (OnDispose != null) OnDispose(this); + + www = null; + _response = string.Empty; + _status = RequestStatus.disposed; + customData = null; + OnComplete = null; + OnFinish = null; + } + + /// + /// Checks whether the response from webservice. + /// + protected void OnRequestComplete(RealWorldTerrainWWW www) + { + if (www != null && www.isDone) + { + _status = string.IsNullOrEmpty(www.error) ? RequestStatus.success : RequestStatus.error; + _response = _status == RequestStatus.success ? www.text : www.error; + + if (OnComplete != null) OnComplete(_response); + if (OnFinish != null) OnFinish(this); + + _status = RequestStatus.disposed; + _response = null; + this.www = null; + customData = null; + } + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/Base/RealWorldTerrainTextWebServiceBase.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/Base/RealWorldTerrainTextWebServiceBase.cs.meta new file mode 100644 index 000000000..334e31f58 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/Base/RealWorldTerrainTextWebServiceBase.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6964b80ed1779b44daf4123e6800fe51 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/Base/RealWorldTerrainWebServiceBase.cs b/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/Base/RealWorldTerrainWebServiceBase.cs new file mode 100644 index 000000000..d6b8379d3 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/Base/RealWorldTerrainWebServiceBase.cs @@ -0,0 +1,56 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System; +using InfinityCode.RealWorldTerrain.ExtraTypes; + +namespace InfinityCode.RealWorldTerrain.Webservices +{ + /// + /// The base class for working with the web services. + /// + public abstract class RealWorldTerrainWebServiceBase + { + /// + /// Event that occurs when the current request instance is disposed. + /// + public Action OnDispose; + + /// + /// Event that occurs after OnComplete, when the response from webservice processed. + /// + public Action OnFinish; + + /// + /// In this variable you can put any data that you need to work with requests. + /// + public object customData; + + protected RequestStatus _status; + protected RealWorldTerrainWWW www; + + /// + /// Gets the current status of the request to webservice. + /// + /// + /// The status. + /// + public RequestStatus status + { + get { return _status; } + } + + /// + /// Destroys the current request to webservice. + /// + public abstract void Destroy(); + + public enum RequestStatus + { + downloading, + success, + error, + disposed + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/Base/RealWorldTerrainWebServiceBase.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/Base/RealWorldTerrainWebServiceBase.cs.meta new file mode 100644 index 000000000..fe63f7f95 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/Base/RealWorldTerrainWebServiceBase.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 11fb9bafc57bd534ba37013350da3f27 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/RealWorldTerrainGoogleGeocoding.cs b/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/RealWorldTerrainGoogleGeocoding.cs new file mode 100644 index 000000000..ddb804e40 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/RealWorldTerrainGoogleGeocoding.cs @@ -0,0 +1,286 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System; +using System.Collections.Generic; +using System.Text; +using InfinityCode.RealWorldTerrain.ExtraTypes; +using InfinityCode.RealWorldTerrain.Webservices.Base; +using InfinityCode.RealWorldTerrain.Webservices.Results; +using InfinityCode.RealWorldTerrain.XML; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Webservices +{ + /// + /// This class is used to search for a location by address.\n + /// https://developers.google.com/maps/documentation/geocoding/intro + /// + public class RealWorldTerrainGoogleGeocoding : RealWorldTerrainTextWebServiceBase + { + private RealWorldTerrainGoogleGeocoding(RequestParams p) + { + _status = RequestStatus.downloading; + + StringBuilder url = new StringBuilder("https://maps.googleapis.com/maps/api/geocode/xml?sensor=false"); + p.GenerateURL(url); + www = new RealWorldTerrainWWW(url.ToString()); + www.OnComplete += OnRequestComplete; + } + + /// + /// Creates a new request for a location search using object with parameters. + /// + /// Parameters of request + /// Instance of the search query. + public static RealWorldTerrainGoogleGeocoding Find(RequestParams p) + { + return new RealWorldTerrainGoogleGeocoding(p); + } + + /// + /// Converts response into an array of results. + /// + /// Response of Google API. + /// Array of result. + public static RealWorldTerrainGoogleGeocodingResult[] GetResults(string response) + { + try + { + RealWorldTerrainXML xml = RealWorldTerrainXML.Load(response); + string status = xml.Find("//status"); + if (status != "OK") return null; + + List results = new List(); + + RealWorldTerrainXMLList resNodes = xml.FindAll("//result"); + + foreach (RealWorldTerrainXML node in resNodes) + { + results.Add(new RealWorldTerrainGoogleGeocodingResult(node)); + } + + return results.ToArray(); + } + catch (Exception exception) + { + Debug.Log(exception.Message + "\n" + exception.StackTrace); + } + + return null; + } + + /// + /// The base class containing the request parameters. + /// + public abstract class RequestParams + { + /// + /// Your application's API key. This key identifies your application for purposes of quota management. + /// + public string key; + + /// + /// The language in which to return results. + /// List of supported languages: + /// https://developers.google.com/maps/faq#languagesupport + /// + public string language; + + /// + /// Available to Google Maps APIs Premium Plan customers but not to holders of a previous Maps API for Business license. + /// + public string client; + + /// + /// Uses instead of an API key to authenticate requests. + /// + public string signature; + + internal virtual void GenerateURL(StringBuilder url) + { + if (!string.IsNullOrEmpty(key)) url.Append("&key=").Append(key); + if (!string.IsNullOrEmpty(language)) url.Append("&language=").Append(language); + if (!string.IsNullOrEmpty(client)) url.Append("&client=").Append(client); + if (!string.IsNullOrEmpty(signature)) url.Append("&signature=").Append(signature); + } + } + + /// + /// Request parameters for Geocoding + /// + public class GeocodingParams : RequestParams + { + /// + /// The street address that you want to geocode, in the format used by the national postal service of the country concerned. \n + /// Additional address elements such as business names and unit, suite or floor numbers should be avoided. + /// + public string address; + + /// + /// A component filter for which you wish to obtain a geocode. \n + /// See Component Filtering for more information. \n + /// https://developers.google.com/maps/documentation/geocoding/intro?hl=en#ComponentFiltering \n + /// The components filter will also be accepted as an optional parameter if an address is provided. + /// + public string components; + + /// + /// The bounding box of the viewport within which to bias geocode results more prominently. \n + /// This parameter will only influence, not fully restrict, results from the geocoder. + /// + public RealWorldTerrainGeoRect bounds; + + /// + /// The region code, specified as a ccTLD ("top-level domain") two-character value. \n + /// This parameter will only influence, not fully restrict, results from the geocoder. + /// + public string region; + + /// + /// Constructor + /// + public GeocodingParams() + { + + } + + /// + /// Constructor + /// + /// + /// The street address that you want to geocode, in the format used by the national postal service of the country concerned. \n + /// Additional address elements such as business names and unit, suite or floor numbers should be avoided. + /// + public GeocodingParams(string address) + { + this.address = address; + } + + internal override void GenerateURL(StringBuilder url) + { + base.GenerateURL(url); + + if (!string.IsNullOrEmpty(address)) url.Append("&address=").Append(RealWorldTerrainWWW.EscapeURL(address)); + if (!string.IsNullOrEmpty(components)) url.Append("&components=").Append(components); + if (bounds != null) url.Append("&bounds=").Append(bounds.bottom).Append(",").Append(bounds.left).Append("|").Append(bounds.top).Append(",").Append(bounds.right); + if (!string.IsNullOrEmpty(region)) url.Append("®ion=").Append(region); + } + } + + /// + /// Request parameters for Reverse Geocoding + /// + public class ReverseGeocodingParams : RequestParams + { + /// + /// The longitude value specifying the location for which you wish to obtain the closest, human-readable address. + /// + public double? longitude; + + /// + /// The latitude value specifying the location for which you wish to obtain the closest, human-readable address. + /// + public double? latitude; + + /// + /// The place ID of the place for which you wish to obtain the human-readable address. \n + /// The place ID is a unique identifier that can be used with other Google APIs. \n + /// For example, you can use the placeID returned by the Google Maps Roads API to get the address for a snapped point. \n + /// For more information about place IDs, see the place ID overview. \n + /// The place ID may only be specified if the request includes an API key or a Google Maps APIs Premium Plan client ID. + /// + public string placeId; + + /// + /// One or more address types, separated by a pipe (|). \n + /// Examples of address types: country, street_address, postal_code. \n + /// For a full list of allowable values, see the address types on this page:\n + /// https://developers.google.com/maps/documentation/geocoding/intro?hl=en#Types \n + /// Specifying a type will restrict the results to this type. \n + /// If multiple types are specified, the API will return all addresses that match any of the types. \n + /// Note: This parameter is available only for requests that include an API key or a client ID. + /// + public string result_type; + + /// + /// One or more location types, separated by a pipe (|). \n + /// https://developers.google.com/maps/documentation/geocoding/intro?hl=en#ReverseGeocoding \n + /// Specifying a type will restrict the results to this type. \n + /// If multiple types are specified, the API will return all addresses that match any of the types. \n + /// Note: This parameter is available only for requests that include an API key or a client ID. + /// + public string location_type; + + /// + /// The longitude and latitude values specifying the location for which you wish to obtain the closest, human-readable address. + /// + public Vector2? location + { + get + { + return new Vector2(longitude.HasValue ? (float)longitude.Value : 0, latitude.HasValue ? (float)latitude.Value : 0); + } + set + { + if (value.HasValue) + { + longitude = value.Value.x; + latitude = value.Value.y; + } + else + { + longitude = null; + latitude = null; + } + } + } + + /// + /// Constructor + /// + /// The longitude value specifying the location for which you wish to obtain the closest, human-readable address. + /// The latitude value specifying the location for which you wish to obtain the closest, human-readable address. + public ReverseGeocodingParams(double longitude, double latitude) + { + this.longitude = longitude; + this.latitude = latitude; + } + + /// + /// Constructor + /// + /// The longitude and latitude values specifying the location for which you wish to obtain the closest, human-readable address. + public ReverseGeocodingParams(Vector2 location) + { + this.location = location; + } + + /// + /// Constructor + /// + /// The place ID of the place for which you wish to obtain the human-readable address. \n + /// The place ID is a unique identifier that can be used with other Google APIs. \n + /// For example, you can use the placeID returned by the Google Maps Roads API to get the address for a snapped point. \n + /// For more information about place IDs, see the place ID overview. \n + /// The place ID may only be specified if the request includes an API key or a Google Maps APIs Premium Plan client ID. + /// + public ReverseGeocodingParams(string placeId) + { + this.placeId = placeId; + } + + internal override void GenerateURL(StringBuilder url) + { + base.GenerateURL(url); + + if (longitude.HasValue && latitude.HasValue) url.Append("&latlng=").Append(latitude.Value.ToString(RealWorldTerrainCultureInfo.numberFormat)).Append(",").Append(longitude.Value.ToString(RealWorldTerrainCultureInfo.numberFormat)); + else if (!string.IsNullOrEmpty(placeId)) url.Append("&placeId=").Append(placeId); + else throw new Exception("You must specify latitude and longitude, location, or placeId."); + + if (!string.IsNullOrEmpty(result_type)) url.Append("&result_type=").Append(result_type); + if (!string.IsNullOrEmpty(location_type)) url.Append("&location_type=").Append(location_type); + } + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/RealWorldTerrainGoogleGeocoding.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/RealWorldTerrainGoogleGeocoding.cs.meta new file mode 100644 index 000000000..8da22101e --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/RealWorldTerrainGoogleGeocoding.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 05fbd6ab627d8ea41b3f3a3571c682bf +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/RealWorldTerrainGooglePlaceDetails.cs b/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/RealWorldTerrainGooglePlaceDetails.cs new file mode 100644 index 000000000..ec093ae08 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/RealWorldTerrainGooglePlaceDetails.cs @@ -0,0 +1,98 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System.Text; +using InfinityCode.RealWorldTerrain.ExtraTypes; +using InfinityCode.RealWorldTerrain.Webservices.Base; +using InfinityCode.RealWorldTerrain.Webservices.Results; +using InfinityCode.RealWorldTerrain.XML; + +namespace InfinityCode.RealWorldTerrain.Webservices +{ + /// + /// A Place Details request returns more comprehensive information about the indicated place such as its complete address, phone number, user rating and reviews.\n + /// Requires Google Maps API key.\n + /// https://developers.google.com/places/webservice/details + /// + public class RealWorldTerrainGooglePlaceDetails : RealWorldTerrainTextWebServiceBase + { + protected RealWorldTerrainGooglePlaceDetails(string key, string place_id, string reference, string language) + { + _status = RequestStatus.downloading; + + StringBuilder url = new StringBuilder("https://maps.googleapis.com/maps/api/place/details/xml?sensor=false&key=").Append(key); + + if (!string.IsNullOrEmpty(place_id)) url.Append("&placeid=").Append(place_id); + if (!string.IsNullOrEmpty(reference)) url.Append("&reference=").Append(reference); + if (!string.IsNullOrEmpty(language)) url.Append("&language=").Append(language); + + www = new RealWorldTerrainWWW(url.ToString()); + www.OnComplete += OnRequestComplete; + } + + /// + /// Gets details about the place by place_id. + /// + /// + /// Your application's API key.\n + /// This key identifies your application for purposes of quota management and so that places added from your application are made immediately available to your app.\n + /// Visit the Google Developers Console to create an API Project and obtain your key. + /// + /// A textual identifier that uniquely identifies a place, returned from a Place Search. + /// + /// The language code, indicating in which language the results should be returned, if possible.\n + /// Note that some fields may not be available in the requested language. + /// + /// Query instance to the Google API. + public static RealWorldTerrainGooglePlaceDetails FindByPlaceID(string key, string place_id, string language = null) + { + return new RealWorldTerrainGooglePlaceDetails(key, place_id, null, language); + } + + /// + /// Gets details about the place by reference. + /// + /// + /// Your application's API key. \n + /// This key identifies your application for purposes of quota management and so that places added from your application are made immediately available to your app.\n + /// Visit the Google Developers Console to create an API Project and obtain your key. + /// + /// + /// A textual identifier that uniquely identifies a place, returned from a Place Search.\n + /// Note: The reference is now deprecated in favor of placeid. + /// + /// + /// The language code, indicating in which language the results should be returned, if possible.\n + /// Note that some fields may not be available in the requested language. + /// + /// Query instance to the Google API. + public static RealWorldTerrainGooglePlaceDetails FindByReference(string key, string reference, string language = null) + { + return new RealWorldTerrainGooglePlaceDetails(key, null, reference, language); + } + + /// + /// Converts response into an result object. + /// Note: The object may not contain all the available fields.\n + /// Other fields can be obtained from RealWorldTerrainGooglePlaceDetailsResult.node. + /// + /// Response of Google API. + /// Result object or null. + public static RealWorldTerrainGooglePlaceDetailsResult GetResult(string response) + { + try + { + RealWorldTerrainXML xml = RealWorldTerrainXML.Load(response); + string status = xml.Find("//status"); + if (status != "OK") return null; + + return new RealWorldTerrainGooglePlaceDetailsResult(xml["result"]); + } + catch + { + } + + return null; + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/RealWorldTerrainGooglePlaceDetails.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/RealWorldTerrainGooglePlaceDetails.cs.meta new file mode 100644 index 000000000..d489d98ff --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/RealWorldTerrainGooglePlaceDetails.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 154ef0a0f37cafe4cbba4e3cb5266ec8 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/RealWorldTerrainGooglePlacePhoto.cs b/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/RealWorldTerrainGooglePlacePhoto.cs new file mode 100644 index 000000000..852329083 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/RealWorldTerrainGooglePlacePhoto.cs @@ -0,0 +1,95 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System; +using System.Text; +using InfinityCode.RealWorldTerrain.ExtraTypes; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Webservices +{ + /// + /// The Place Photo service, part of the Google Places API Web Service, is a read-only API that allows you to add high quality photographic content to your application. \n + /// The Place Photo service gives you access to the millions of photos stored in the Places and Google+ Local database. \n + /// When you get place information using a Place Details request, photo references will be returned for relevant photographic content. \n + /// The Nearby Search and Text Search requests also return a single photo reference per place, when relevant. \n + /// Using the Photo service you can then access the referenced photos and resize the image to the optimal size for your application. + /// + public class RealWorldTerrainGooglePlacePhoto : RealWorldTerrainWebServiceBase + { + /// + /// Event that occurs when a response is received from Google API. + /// + public Action OnComplete; + + private RealWorldTerrainGooglePlacePhoto(string key, string photo_reference, int? maxWidth, int? maxHeight) + { + StringBuilder builder = new StringBuilder("https://maps.googleapis.com/maps/api/place/photo?key=").Append(key); + builder.Append("&photo_reference=").Append(photo_reference); + if (maxWidth.HasValue) builder.Append("&maxwidth=").Append(maxWidth); + if (maxHeight.HasValue) builder.Append("&maxheight=").Append(maxHeight); + + if (!maxWidth.HasValue && !maxHeight.HasValue) builder.Append("&maxwidth=").Append(800); + + www = new RealWorldTerrainWWW(builder.ToString()); + www.OnComplete += OnRequestComplete; + } + + private void OnRequestComplete(RealWorldTerrainWWW www) + { + if (www != null && www.isDone) + { + _status = string.IsNullOrEmpty(www.error) ? RequestStatus.success : RequestStatus.error; + + if (OnComplete != null) + { + if (_status == RequestStatus.success) + { + Texture2D texture = new Texture2D(1, 1); + www.LoadImageIntoTexture(texture); + OnComplete(texture); + } + else OnComplete(null); + } + if (OnFinish != null) OnFinish(this); + + _status = RequestStatus.disposed; + customData = null; + this.www = null; + } + } + + /// + /// Download photo from Google Places. + /// + /// Google Maps API Key + /// String used to identify the photo when you perform a Photo request. + /// + /// Specifies the maximum desired width, in pixels, of the image returned by the Place Photos service. \n + /// If the image is smaller than the values specified, the original image will be returned. \n + /// If the image is larger in either dimension, it will be scaled to match the smaller of the two dimensions, restricted to its original aspect ratio. \n + /// maxWidth accept an integer between 1 and 1600. + /// + /// + /// Specifies the maximum desired height, in pixels, of the image returned by the Place Photos service. \n + /// If the image is smaller than the values specified, the original image will be returned. \n + /// If the image is larger in either dimension, it will be scaled to match the smaller of the two dimensions, restricted to its original aspect ratio. \n + /// maxHeight accept an integer between 1 and 1600.\n + /// + /// + public static RealWorldTerrainGooglePlacePhoto Download(string key, string photo_reference, int? maxWidth = null, int? maxHeight = null) + { + return new RealWorldTerrainGooglePlacePhoto(key, photo_reference, maxWidth, maxHeight); + } + + public override void Destroy() + { + if (OnDispose != null) OnDispose(this); + www = null; + _status = RequestStatus.disposed; + customData = null; + OnComplete = null; + OnFinish = null; + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/RealWorldTerrainGooglePlacePhoto.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/RealWorldTerrainGooglePlacePhoto.cs.meta new file mode 100644 index 000000000..95605657b --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/RealWorldTerrainGooglePlacePhoto.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8add5bc61ea540149bedc2353c862968 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/RealWorldTerrainGooglePlaces.cs b/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/RealWorldTerrainGooglePlaces.cs new file mode 100644 index 000000000..b65ae285e --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/RealWorldTerrainGooglePlaces.cs @@ -0,0 +1,744 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System; +using System.Collections.Generic; +using System.Text; +using InfinityCode.RealWorldTerrain.ExtraTypes; +using InfinityCode.RealWorldTerrain.Webservices.Base; +using InfinityCode.RealWorldTerrain.Webservices.Results; +using InfinityCode.RealWorldTerrain.XML; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Webservices +{ + /// + /// The Google Places API allows you to query for place information on a variety of categories, such as: establishments, prominent points of interest, geographic locations, and more. \n + /// You can search for places either by proximity or a text string. \n + /// A Place Search returns a list of places along with summary information about each place.\n + /// https://developers.google.com/places/web-service/search + /// + public class RealWorldTerrainGooglePlaces : RealWorldTerrainTextWebServiceBase + { + protected RealWorldTerrainGooglePlaces(string key, RequestParams p) + { + _status = RequestStatus.downloading; + + StringBuilder url = new StringBuilder(); + url.AppendFormat("https://maps.googleapis.com/maps/api/place/{0}/xml?sensor=false", p.typePath); + if (!string.IsNullOrEmpty(key)) url.Append("&key=").Append(key); + p.AppendParams(url); + + www = new RealWorldTerrainWWW(url.ToString()); + www.OnComplete += OnRequestComplete; + } + + /// + /// A Nearby Search lets you search for places within a specified area. \n + /// You can refine your search request by supplying keywords or specifying the type of place you are searching for. + /// + /// The longitude/latitude around which to retrieve place information. + /// + /// Defines the distance (in meters) within which to return place results. \n + /// The maximum allowed radius is 50 000 meters. + /// + /// + /// Your application's API key. \n + /// This key identifies your application for purposes of quota management and so that places added from your application are made immediately available to your app. \n + /// Visit the Google APIs Console to create an API Project and obtain your key. + /// + /// A term to be matched against all content that Google has indexed for this place, including but not limited to name, type, and address, as well as customer reviews and other third-party content. + /// + /// One or more terms to be matched against the names of places, separated with a space character. \n + /// Results will be restricted to those containing the passed name values. \n + /// Note that a place may have additional names associated with it, beyond its listed name. \n + /// The API will try to match the passed name value against all of these names. \n + /// As a result, places may be returned in the results whose listed names do not match the search term, but whose associated names do. + /// + /// + /// Restricts the results to places matching at least one of the specified types. \n + /// Types should be separated with a pipe symbol (type1|type2|etc).\n + /// See the list of supported types:\n + /// https://developers.google.com/places/documentation/supported_types + /// + /// + /// Restricts results to only those places within the specified range. \n + /// Valid values range between 0 (most affordable) to 4 (most expensive), inclusive. \n + /// The exact amount indicated by a specific value will vary from region to region. + /// + /// + /// Restricts results to only those places within the specified range. \n + /// Valid values range between 0 (most affordable) to 4 (most expensive), inclusive. \n + /// The exact amount indicated by a specific value will vary from region to region. + /// + /// + /// Returns only those places that are open for business at the time the query is sent. \n + /// Places that do not specify opening hours in the Google Places database will not be returned if you include this parameter in your query. + /// + /// Specifies the order in which results are listed. + /// Query instance to the Google API. + public static RealWorldTerrainGooglePlaces FindNearby(Vector2 lnglat, int radius, string key, string keyword = null, string name = null, string types = null, int minprice = -1, int maxprice = -1, bool opennow = false, RankBy rankBy = RankBy.prominence) + { + NearbyParams p = new NearbyParams(lnglat, radius) + { + keyword = keyword, + name = name, + types = types, + }; + + if (minprice != -1) p.minprice = minprice; + if (maxprice != -1) p.maxprice = maxprice; + if (opennow) p.opennow = true; + if (rankBy != RankBy.prominence) p.rankBy = rankBy; + + return new RealWorldTerrainGooglePlaces(key, p); + } + + /// + /// A Nearby Search lets you search for places within a specified area. \n + /// You can refine your search request by supplying keywords or specifying the type of place you are searching for. + /// + /// + /// Your application's API key. \n + /// This key identifies your application for purposes of quota management and so that places added from your application are made immediately available to your app. \n + /// Visit the Google APIs Console to create an API Project and obtain your key. + /// + /// The object containing the request parameters. + /// Query instance to the Google API. + public static RealWorldTerrainGooglePlaces FindNearby(string key, NearbyParams p) + { + return new RealWorldTerrainGooglePlaces(key, p); + } + + /// + /// Returns information about a set of places based on a string — for example "pizza in New York" or "shoe stores near Ottawa". \n + /// The service responds with a list of places matching the text string and any location bias that has been set. \n + /// The search response will include a list of places. + /// + /// + /// The text string on which to search, for example: "restaurant". \n + /// The Google Places service will return candidate matches based on this string and order the results based on their perceived relevance. + /// + /// + /// Your application's API key. \n + /// This key identifies your application for purposes of quota management and so that places added from your application are made immediately available to your app. \n + /// Visit the Google APIs Console to create an API Project and obtain your key. + /// + /// The longitude/latitude around which to retrieve place information. + /// + /// Defines the distance (in meters) within which to bias place results. \n + /// The maximum allowed radius is 50 000 meters. \n + /// Results inside of this region will be ranked higher than results outside of the search circle; however, prominent results from outside of the search radius may be included. + /// + /// The language code, indicating in which language the results should be returned, if possible. + /// + /// Restricts the results to places matching at least one of the specified types. \n + /// Types should be separated with a pipe symbol (type1|type2|etc). \n + /// See the list of supported types:\n + /// https://developers.google.com/maps/documentation/places/supported_types + /// + /// + /// Restricts results to only those places within the specified price level. \n + /// Valid values are in the range from 0 (most affordable) to 4 (most expensive), inclusive. \n + /// The exact amount indicated by a specific value will vary from region to region. + /// + /// + /// Restricts results to only those places within the specified price level. \n + /// Valid values are in the range from 0 (most affordable) to 4 (most expensive), inclusive. \n + /// The exact amount indicated by a specific value will vary from region to region. + /// + /// + /// Returns only those places that are open for business at the time the query is sent. \n + /// Places that do not specify opening hours in the Google Places database will not be returned if you include this parameter in your query. + /// + /// Query instance to the Google API. + public static RealWorldTerrainGooglePlaces FindText(string query, string key, Vector2 lnglat = default(Vector2), int radius = -1, string language = null, string types = null, int minprice = -1, int maxprice = -1, bool opennow = false) + { + TextParams p = new TextParams(query) + { + language = language, + types = types, + }; + + if (lnglat != default(Vector2)) p.lnglat = lnglat; + if (radius != -1) p.radius = radius; + if (minprice != -1) p.minprice = minprice; + if (maxprice != -1) p.maxprice = maxprice; + if (opennow) p.opennow = true; + + return new RealWorldTerrainGooglePlaces(key, p); + } + + /// + /// Returns information about a set of places based on a string — for example "pizza in New York" or "shoe stores near Ottawa". \n + /// The service responds with a list of places matching the text string and any location bias that has been set. \n + /// The search response will include a list of places. + /// + /// + /// Your application's API key. \n + /// This key identifies your application for purposes of quota management and so that places added from your application are made immediately available to your app. \n + /// Visit the Google APIs Console to create an API Project and obtain your key. + /// + /// The object containing the request parameters. + /// Query instance to the Google API. + public static RealWorldTerrainGooglePlaces FindText(string key, TextParams p) + { + return new RealWorldTerrainGooglePlaces(key, p); + } + + /// + /// The Google Places API Radar Search Service allows you to search for up to 200 places at once, but with less detail than is typically returned from a Text Search or Nearby Search request. \n + /// With Radar Search, you can create applications that help users identify specific areas of interest within a geographic area. + /// + /// The longitude/latitude around which to retrieve place information. + /// + /// Defines the distance (in meters) within which to return place results. \n + /// The maximum allowed radius is 50 000 meters. + /// + /// + /// Your application's API key. \n + /// This key identifies your application for purposes of quota management and so that places added from your application are made immediately available to your app. \n + /// Visit the Google APIs Console to create an API Project and obtain your key. + /// + /// A term to be matched against all content that Google has indexed for this place, including but not limited to name, type, and address, as well as customer reviews and other third-party content. + /// + /// One or more terms to be matched against the names of places, separated by a space character. \n + /// Results will be restricted to those containing the passed name values. \n + /// Note that a place may have additional names associated with it, beyond its listed name. \n + /// The API will try to match the passed name value against all of these names. \n + /// As a result, places may be returned in the results whose listed names do not match the search term, but whose associated names do. + /// + /// + /// Restricts the results to places matching at least one of the specified types. \n + /// Types should be separated with a pipe symbol (type1|type2|etc). \n + /// See the list of supported types:\n + /// https://developers.google.com/maps/documentation/places/supported_types + /// + /// + /// Restricts results to only those places within the specified price level. \n + /// Valid values are in the range from 0 (most affordable) to 4 (most expensive), inclusive. \n + /// The exact amount indicated by a specific value will vary from region to region. + /// + /// + /// Restricts results to only those places within the specified price level. \n + /// Valid values are in the range from 0 (most affordable) to 4 (most expensive), inclusive. \n + /// The exact amount indicated by a specific value will vary from region to region. + /// + /// + /// Returns only those places that are open for business at the time the query is sent. \n + /// Places that do not specify opening hours in the Google Places database will not be returned if you include this parameter in your query. + /// + /// Query instance to the Google API. + public static RealWorldTerrainGooglePlaces FindRadar(Vector2 lnglat, int radius, string key, string keyword = null, string name = null, string types = null, int minprice = -1, int maxprice = -1, bool opennow = false) + { + RadarParams p = new RadarParams(lnglat, radius) + { + keyword = keyword, + name = name, + types = types, + }; + + if (minprice != -1) p.minprice = minprice; + if (maxprice != -1) p.maxprice = maxprice; + if (opennow) p.opennow = true; + + return new RealWorldTerrainGooglePlaces(key, p); + } + + /// + /// The Google Places API Radar Search Service allows you to search for up to 200 places at once, but with less detail than is typically returned from a Text Search or Nearby Search request. \n + /// With Radar Search, you can create applications that help users identify specific areas of interest within a geographic area. + /// + /// + /// Your application's API key. \n + /// This key identifies your application for purposes of quota management and so that places added from your application are made immediately available to your app. \n + /// Visit the Google APIs Console to create an API Project and obtain your key. + /// + /// The object containing the request parameters. + /// Query instance to the Google API. + public static RealWorldTerrainGooglePlaces FindRadar(string key, RadarParams p) + { + return new RealWorldTerrainGooglePlaces(key, p); + } + + /// + /// Converts response into an array of results. + /// + /// Response of Google API. + /// Array of result. + public static RealWorldTerrainPlacesResult[] GetResults(string response) + { + string nextPageToken; + return GetResults(response, out nextPageToken); + } + + /// + /// Converts response into an array of results. + /// + /// Response of Google API. + /// + /// Contains a token that can be used to return up to 20 additional results.\n + /// A next_page_token will not be returned if there are no additional results to display.\n + /// The maximum number of results that can be returned is 60.\n + /// There is a short delay between when a next_page_token is issued, and when it will become valid. + /// + /// Array of result. + public static RealWorldTerrainPlacesResult[] GetResults(string response, out string nextPageToken) + { + nextPageToken = null; + + try + { + RealWorldTerrainXML xml = RealWorldTerrainXML.Load(response); + string status = xml.Find("//status"); + if (status != "OK") return null; + + nextPageToken = xml.Find("//next_page_token"); + RealWorldTerrainXMLList resNodes = xml.FindAll("//result"); + + List results = new List(resNodes.count); + foreach (RealWorldTerrainXML node in resNodes) results.Add(new RealWorldTerrainPlacesResult(node)); + return results.ToArray(); + } + catch (Exception exception) + { + Debug.Log(exception.Message + "\n" + exception.StackTrace); + } + + return null; + } + + /// + /// The base class containing the request parameters. + /// + public abstract class RequestParams + { + public abstract string typePath { get; } + public abstract void AppendParams(StringBuilder url); + } + + /// + /// Request parameters for Nearby Search + /// + public class NearbyParams : RequestParams + { + /// + /// The longitude around which to retrieve place information. + /// + public double? longitude; + + /// + /// The latitude around which to retrieve place information. + /// + public double? latitude; + + /// + /// Defines the distance (in meters) within which to return place results. \n + /// The maximum allowed radius is 50 000 meters. + /// + public int? radius; + + /// + /// A term to be matched against all content that Google has indexed for this place, including but not limited to name, type, and address, as well as customer reviews and other third-party content. + /// + public string keyword; + + /// + /// One or more terms to be matched against the names of places, separated with a space character. \n + /// Results will be restricted to those containing the passed name values. \n + /// Note that a place may have additional names associated with it, beyond its listed name. \n + /// The API will try to match the passed name value against all of these names. \n + /// As a result, places may be returned in the results whose listed names do not match the search term, but whose associated names do. + /// + public string name; + + /// + /// Restricts the results to places matching at least one of the specified types. \n + /// Types should be separated with a pipe symbol (type1|type2|etc).\n + /// See the list of supported types:\n + /// https://developers.google.com/places/documentation/supported_types + /// + public string types; + + /// + /// Restricts results to only those places within the specified range. \n + /// Valid values range between 0 (most affordable) to 4 (most expensive), inclusive. \n + /// The exact amount indicated by a specific value will vary from region to region. + /// + public int? minprice; + + /// + /// Restricts results to only those places within the specified range. \n + /// Valid values range between 0 (most affordable) to 4 (most expensive), inclusive. \n + /// The exact amount indicated by a specific value will vary from region to region. + /// + public int? maxprice; + + /// + /// Returns only those places that are open for business at the time the query is sent. \n + /// Places that do not specify opening hours in the Google Places database will not be returned if you include this parameter in your query. + /// + public bool? opennow; + + /// + /// Specifies the order in which results are listed. + /// + public RankBy? rankBy; + + /// + /// Returns the next 20 results from a previously run search. \n + /// Setting a pagetoken parameter will execute a search with the same parameters used previously — all parameters other than pagetoken will be ignored. + /// + public string pagetoken; + + /// + /// Add this parameter (just the parameter name, with no associated value) to restrict your search to locations that are Zagat selected businesses.\n + /// This parameter must not include a true or false value. The zagatselected parameter is experimental, and is only available to Google Places API customers with a Premium Plan license. + /// + public bool? zagatselected; + + /// + /// The longitude/latitude around which to retrieve place information. + /// + public Vector2 lnglat + { + get { return new Vector2((float)longitude.Value, (float)latitude.Value); } + set + { + longitude = value.x; + latitude = value.y; + } + } + + public override string typePath + { + get { return "nearbysearch"; } + } + + /// + /// Constructor + /// + /// The longitude around which to retrieve place information. + /// The latitude around which to retrieve place information. + /// + /// Defines the distance (in meters) within which to return place results. \n + /// The maximum allowed radius is 50 000 meters. + /// + public NearbyParams(double longitude, double latitude, int radius) + { + this.longitude = longitude; + this.latitude = latitude; + this.radius = radius; + } + + /// + /// Constructor + /// + /// The longitude/latitude around which to retrieve place information. + /// + /// Defines the distance (in meters) within which to return place results. \n + /// The maximum allowed radius is 50 000 meters. + /// + public NearbyParams(Vector2 lnglat, int radius) + { + this.lnglat = lnglat; + this.radius = radius; + } + + /// + /// Constructor + /// + /// + /// Returns the next 20 results from a previously run search. \n + /// Setting a pagetoken parameter will execute a search with the same parameters used previously — all parameters other than pagetoken will be ignored. + /// + public NearbyParams(string pagetoken) + { + this.pagetoken = pagetoken; + } + + public override void AppendParams(StringBuilder url) + { + if (latitude.HasValue && longitude.HasValue) url.Append("&location=").Append(latitude.Value).Append(",").Append(longitude.Value); + if (radius.HasValue) url.Append("&radius=").Append(radius.Value); + if (!string.IsNullOrEmpty(keyword)) url.Append("&keyword=").Append(keyword); + if (!string.IsNullOrEmpty(name)) url.Append("&name=").Append(name); + if (!string.IsNullOrEmpty(types)) url.Append("&types=").Append(types); + if (minprice.HasValue) url.Append("&minprice=").Append(minprice.Value); + if (maxprice.HasValue) url.Append("&maxprice=").Append(maxprice.Value); + if (opennow.HasValue) url.Append("&opennow"); + if (rankBy.HasValue) url.Append("&rankby=").Append(rankBy.Value); + if (!string.IsNullOrEmpty(pagetoken)) url.Append("&pagetoken=").Append(RealWorldTerrainWWW.EscapeURL(pagetoken)); + if (zagatselected.HasValue && zagatselected.Value) url.Append("&zagatselected"); + } + } + + /// + /// Request parameters for Text Search + /// + public class TextParams : RequestParams + { + /// + /// The text string on which to search, for example: "restaurant". \n + /// The Google Places service will return candidate matches based on this string and order the results based on their perceived relevance. + /// + public string query; + + /// + /// The longitude around which to retrieve place information. + /// + public double? longitude; + + /// + /// The latitude around which to retrieve place information. + /// + public double? latitude; + + /// + /// Defines the distance (in meters) within which to bias place results. \n + /// The maximum allowed radius is 50 000 meters. \n + /// Results inside of this region will be ranked higher than results outside of the search circle; however, prominent results from outside of the search radius may be included. + /// + public int? radius; + + /// + /// The language code, indicating in which language the results should be returned, if possible. + /// + public string language; + + /// + /// Restricts the results to places matching at least one of the specified types. \n + /// Types should be separated with a pipe symbol (type1|type2|etc). \n + /// See the list of supported types:\n + /// https://developers.google.com/maps/documentation/places/supported_types + /// + public string types; + + /// + /// Restricts results to only those places within the specified price level. \n + /// Valid values are in the range from 0 (most affordable) to 4 (most expensive), inclusive. \n + /// The exact amount indicated by a specific value will vary from region to region. + /// + public int? minprice; + + /// + /// Restricts results to only those places within the specified price level. \n + /// Valid values are in the range from 0 (most affordable) to 4 (most expensive), inclusive. \n + /// The exact amount indicated by a specific value will vary from region to region. + /// + public int? maxprice; + + /// + /// Returns only those places that are open for business at the time the query is sent. \n + /// Places that do not specify opening hours in the Google Places database will not be returned if you include this parameter in your query. + /// + public bool? opennow; + + /// + /// Returns the next 20 results from a previously run search. \n + /// Setting a pagetoken parameter will execute a search with the same parameters used previously — all parameters other than pagetoken will be ignored. + /// + public string pagetoken; + + /// + /// Add this parameter (just the parameter name, with no associated value) to restrict your search to locations that are Zagat selected businesses.\n + /// This parameter must not include a true or false value. The zagatselected parameter is experimental, and is only available to Google Places API customers with a Premium Plan license. + /// + public bool? zagatselected; + + /// + /// The longitude/latitude around which to retrieve place information. + /// + public Vector2 lnglat + { + get { return new Vector2((float)longitude.Value, (float)latitude.Value); } + set + { + longitude = value.x; + latitude = value.y; + } + } + + public override string typePath + { + get { return "textsearch"; } + } + + /// + /// Contstructor + /// + /// + /// The text string on which to search, for example: "restaurant". \n + /// The Google Places service will return candidate matches based on this string and order the results based on their perceived relevance. + /// + public TextParams(string query) + { + this.query = query; + } + + public override void AppendParams(StringBuilder url) + { + if (latitude.HasValue && longitude.HasValue) url.Append("&location=").Append(latitude.Value).Append(",").Append(longitude.Value); + if (radius.HasValue) url.Append("&radius=").Append(radius.Value); + if (!string.IsNullOrEmpty(types)) url.Append("&types=").Append(types); + if (!string.IsNullOrEmpty(query)) url.Append("&query=").Append(RealWorldTerrainWWW.EscapeURL(query)); + if (!string.IsNullOrEmpty(language)) url.Append("&language=").Append(language); + if (minprice.HasValue) url.Append("&minprice=").Append(minprice.Value); + if (maxprice.HasValue) url.Append("&maxprice=").Append(maxprice.Value); + if (opennow.HasValue && opennow.Value) url.Append("&opennow"); + if (!string.IsNullOrEmpty(pagetoken)) url.Append("&pagetoken=").Append(pagetoken); + if (zagatselected.HasValue && zagatselected.Value) url.Append("&zagatselected"); + } + } + + /// + /// Request parameters for Radar Search + /// + public class RadarParams : RequestParams + { + /// + /// The longitude around which to retrieve place information. + /// + public double? longitude; + + /// + /// The latitude around which to retrieve place information. + /// + public double? latitude; + + /// + /// Defines the distance (in meters) within which to return place results. \n + /// The maximum allowed radius is 50 000 meters. + /// + public int? radius; + + /// + /// A term to be matched against all content that Google has indexed for this place, including but not limited to name, type, and address, as well as customer reviews and other third-party content. + /// + public string keyword; + + /// + /// One or more terms to be matched against the names of places, separated by a space character. \n + /// Results will be restricted to those containing the passed name values. \n + /// Note that a place may have additional names associated with it, beyond its listed name. \n + /// The API will try to match the passed name value against all of these names. \n + /// As a result, places may be returned in the results whose listed names do not match the search term, but whose associated names do. + /// + public string name; + + /// + /// Restricts the results to places matching at least one of the specified types. \n + /// Types should be separated with a pipe symbol (type1|type2|etc). \n + /// See the list of supported types:\n + /// https://developers.google.com/maps/documentation/places/supported_types + /// + public string types; + + /// + /// Restricts results to only those places within the specified price level. \n + /// Valid values are in the range from 0 (most affordable) to 4 (most expensive), inclusive. \n + /// The exact amount indicated by a specific value will vary from region to region. + /// + public int? minprice; + + /// + /// Restricts results to only those places within the specified price level. \n + /// Valid values are in the range from 0 (most affordable) to 4 (most expensive), inclusive. \n + /// The exact amount indicated by a specific value will vary from region to region. + /// + public int? maxprice; + + /// + /// Returns only those places that are open for business at the time the query is sent. \n + /// Places that do not specify opening hours in the Google Places database will not be returned if you include this parameter in your query. + /// + public bool? opennow; + + /// + /// Add this parameter (just the parameter name, with no associated value) to restrict your search to locations that are Zagat selected businesses.\n + /// This parameter must not include a true or false value. The zagatselected parameter is experimental, and is only available to Google Places API customers with a Premium Plan license. + /// + public bool? zagatselected; + + /// + /// The longitude/latitude around which to retrieve place information. + /// + public Vector2 lnglat + { + get { return new Vector2((float)longitude.Value, (float)latitude.Value); } + set + { + longitude = value.x; + latitude = value.y; + } + } + + public override string typePath + { + get { return "radarsearch"; } + } + + /// + /// Constructor + /// + /// The longitude around which to retrieve place information. + /// The latitude around which to retrieve place information. + /// + /// Defines the distance (in meters) within which to return place results. \n + /// The maximum allowed radius is 50 000 meters. + /// + public RadarParams(double longitude, double latitude, int radius) + { + this.longitude = longitude; + this.latitude = latitude; + this.radius = radius; + } + + /// + /// Constructor + /// + /// The longitude/latitude around which to retrieve place information. + /// + /// Defines the distance (in meters) within which to return place results. \n + /// The maximum allowed radius is 50 000 meters. + /// + public RadarParams(Vector2 lnglat, int radius) + { + this.lnglat = lnglat; + this.radius = radius; + } + + public override void AppendParams(StringBuilder url) + { + if (latitude.HasValue && longitude.HasValue) url.Append("&location=").Append(latitude.Value).Append(",").Append(longitude.Value); + if (radius.HasValue) url.Append("&radius=").Append(radius.Value); + if (!string.IsNullOrEmpty(keyword)) url.Append("&keyword=").Append(keyword); + if (!string.IsNullOrEmpty(name)) url.Append("&name=").Append(name); + if (!string.IsNullOrEmpty(types)) url.Append("&types=").Append(types); + if (minprice.HasValue) url.Append("&minprice=").Append(minprice.Value); + if (maxprice.HasValue) url.Append("&maxprice=").Append(maxprice.Value); + if (opennow.HasValue && opennow.Value) url.Append("&opennow"); + if (zagatselected.HasValue && zagatselected.Value) url.Append("&zagatselected"); + } + } + + /// + /// Specifies the order in which results are listed. + /// + public enum RankBy + { + /// + /// This option sorts results based on their importance. \n + /// Ranking will favor prominent places within the specified area. \n + /// Prominence can be affected by a place's ranking in Google's index, global popularity, and other factors. + /// + prominence, + + /// + /// This option sorts results in ascending order by their distance from the specified location. \n + /// When distance is specified, one or more of keyword, name, or types is required. + /// + distance + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/RealWorldTerrainGooglePlaces.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/RealWorldTerrainGooglePlaces.cs.meta new file mode 100644 index 000000000..45ec2e091 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/RealWorldTerrainGooglePlaces.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5910f972e309eac44a68b74f7c72059d +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/Results.meta b/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/Results.meta new file mode 100644 index 000000000..275c4dde0 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/Results.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 10df2586ed9e6de4d8d3ae31236080d7 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/Results/RealWorldTerrainGoogleGeocodingResult.cs b/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/Results/RealWorldTerrainGoogleGeocodingResult.cs new file mode 100644 index 000000000..dd984293f --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/Results/RealWorldTerrainGoogleGeocodingResult.cs @@ -0,0 +1,189 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System; +using System.Collections.Generic; +using InfinityCode.RealWorldTerrain.XML; +using UnityEngine; + + +namespace InfinityCode.RealWorldTerrain.Webservices.Results +{ + /// + /// Result of Google Maps Geocode request. + /// + [Serializable] + public class RealWorldTerrainGoogleGeocodingResult + { + /// + /// Array containing the separate address components. + /// + public AddressComponent[] address_components; + + /// + /// Array indicates the type of the returned result. \n + /// This array contains a set of zero or more tags identifying the type of feature returned in the result. \n + /// For example, a geocode of "Chicago" returns "locality" which indicates that "Chicago" is a city, and also returns "political" which indicates it is a political entity. + /// + public string[] types; + + /// + /// String containing the human-readable address of this location. \n + /// Often this address is equivalent to the "postal address," which sometimes differs from country to country. \n + /// (Note that some countries, such as the United Kingdom, do not allow distribution of true postal addresses due to licensing restrictions.) \n + /// This address is generally composed of one or more address components. \n + /// For example, the address "111 8th Avenue, New York, NY" contains separate address components for "111" (the street number, "8th Avenue" (the route), "New York" (the city) and "NY" (the US state). + /// + public string formatted_address; + + /// + /// Array denoting all the localities contained in a postal code. \n + /// This is only present when the result is a postal code that contains multiple localities. + /// + public string[] postcode_localities; + + /// + /// Geocoded latitude,longitude value. + /// + public Vector2 geometry_location; + + /// + /// Additional data about the specified location. + /// + public string geometry_location_type; + + /// + /// Recommended viewport for displaying the returned result, specified as latitude,longitude values defining the northeast corner of the viewport bounding box. \n + /// Generally the viewport is used to frame a result when displaying it to a user. + /// + public Vector2 geometry_viewport_northeast; + + /// + /// Recommended viewport for displaying the returned result, specified as latitude,longitude values defining the southwest corner of the viewport bounding box. \n + /// Generally the viewport is used to frame a result when displaying it to a user. + /// + public Vector2 geometry_viewport_southwest; + + /// + /// Unique identifier that can be used with other Google APIs. + /// + public string place_id; + + /// + /// (optionally returned)\n + /// Stores latitude,longitude values defining the northeast corner the bounding box which can fully contain the returned result. \n + /// Note that these bounds may not match the recommended viewport. + /// + public Vector2 geometry_bounds_northeast; + + /// + /// (optionally returned)\n + /// Stores latitude,longitude values defining the southwest corner the bounding box which can fully contain the returned result. \n + /// Note that these bounds may not match the recommended viewport. + /// + public Vector2 geometry_bounds_southwest; + + /// + /// Indicates that the geocoder did not return an exact match for the original request, though it was able to match part of the requested address. \n + /// You may wish to examine the original request for misspellings and/or an incomplete address. + /// + public bool partial_match; + + public RealWorldTerrainGoogleGeocodingResult() + { + + } + + /// + /// Constructor of RealWorldTerrainGoogleGeocodingResult. + /// + /// Location node from response + public RealWorldTerrainGoogleGeocodingResult(RealWorldTerrainXML node) + { + List address_components = new List(); + List types = new List(); + List postcode_localities = new List(); + + foreach (RealWorldTerrainXML n in node) + { + if (n.name == "type") types.Add(n.Value()); + else if (n.name == "place_id") place_id = n.Value(); + else if (n.name == "formatted_address") formatted_address = n.Value(); + else if (n.name == "address_component") address_components.Add(new AddressComponent(n)); + else if (n.name == "geometry") + { + foreach (RealWorldTerrainXML gn in n) + { + if (gn.name == "location") geometry_location = RealWorldTerrainXML.GetVector2FromNode(gn); + else if (gn.name == "location_type") geometry_location_type = gn.Value(); + else if (gn.name == "viewport") + { + geometry_viewport_northeast = RealWorldTerrainXML.GetVector2FromNode(gn["northeast"]); + geometry_viewport_southwest = RealWorldTerrainXML.GetVector2FromNode(gn["southwest"]); + } + else if (gn.name == "bounds") + { + geometry_bounds_northeast = RealWorldTerrainXML.GetVector2FromNode(gn["northeast"]); + geometry_bounds_southwest = RealWorldTerrainXML.GetVector2FromNode(gn["southwest"]); + } + else Debug.Log(n.name); + } + } + else if (n.name == "partial_match") partial_match = n.Value() == "true"; + else Debug.Log(n.name); + } + + this.address_components = address_components.ToArray(); + this.types = types.ToArray(); + this.postcode_localities = postcode_localities.ToArray(); + } + + /// + /// Address Component of Google Geocoder response. + /// + [Serializable] + public class AddressComponent + { + /// + /// Array indicating the type of the address component. + /// + public string[] types; + + /// + /// Full text description or name of the address component as returned by the Geocoder. + /// + public string long_name; + + /// + /// Abbreviated textual name for the address component, if available. \n + /// For example, an address component for the state of Alaska may have a long_name of "Alaska" and a short_name of "AK" using the 2-letter postal abbreviation. + /// + public string short_name; + + public AddressComponent() + { + + } + + public AddressComponent(RealWorldTerrainXML node) + { + List types = new List(); + + foreach (RealWorldTerrainXML n in node) + { + if (n.name == "long_name") long_name = n.Value(); + else if (n.name == "short_name") short_name = n.Value(); + else if (n.name == "type") types.Add(n.Value()); + else Debug.Log(n.name); + } + + this.types = types.ToArray(); + } + + public override string ToString() + { + return "RealWorldTerrainGoogleGeocodingResult.AddressComponent. Types: {" + string.Join(",", types) + "}, Long name: {" + long_name + "}, Short name: {" + short_name + "}"; + } + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/Results/RealWorldTerrainGoogleGeocodingResult.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/Results/RealWorldTerrainGoogleGeocodingResult.cs.meta new file mode 100644 index 000000000..5643e4e35 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/Results/RealWorldTerrainGoogleGeocodingResult.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4432826356d7f5743bbd42e3982573ba +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/Results/RealWorldTerrainGooglePlaceDetailsResult.cs b/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/Results/RealWorldTerrainGooglePlaceDetailsResult.cs new file mode 100644 index 000000000..b581f2886 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/Results/RealWorldTerrainGooglePlaceDetailsResult.cs @@ -0,0 +1,172 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using InfinityCode.RealWorldTerrain.XML; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Webservices.Results +{ + /// + /// Result of Google Maps Place Details query. + /// + public class RealWorldTerrainGooglePlaceDetailsResult + { + /// + /// Human-readable address of this place.\n + /// Often this address is equivalent to the "postal address," which sometimes differs from country to country. + /// + public string formatted_address; + + /// + /// Phone number in its local format.\n + /// For example, the formatted_phone_number for Google's Sydney, Australia office is (02) 9374 4000. + /// + public string formatted_phone_number; + + /// + /// Geographic coordinates of place. + /// + public Vector2 location; + + /// + /// URL of a suggested icon which may be displayed to the user when indicating this result on a map. + /// + public string icon; + + /// + /// unique stable identifier denoting this place.\n + /// This identifier may not be used to retrieve information about this place, but can be used to consolidate data about this place, and to verify the identity of a place across separate searches.\n + /// As IDs can occasionally change, it's recommended that the stored ID for a place be compared with the ID returned in later Details requests for the same place, and updated if necessary.\n + /// Note: The id is now deprecated in favor of place_id. + /// + public string id; + + /// + /// Phone number in international format.\n + /// International format includes the country code, and is prefixed with the plus (+) sign.\n + /// For example, the international_phone_number for Google's Sydney, Australia office is +61 2 9374 4000. + /// + public string international_phone_number; + + /// + /// Human-readable name for the returned result.\n + /// For establishment results, this is usually the canonicalized business name. + /// + public string name; + + /// + /// Reference to XML node. + /// + public RealWorldTerrainXML node; + + /// + /// Array of photo objects, each containing a reference to an image.\n + /// A Place Details request may return up to ten photos. + /// + public RealWorldTerrainPlacesResult.Photo[] photos; + + /// + /// A textual identifier that uniquely identifies a place. + /// + public string place_id; + + /// + /// The price level of the place, on a scale of 0 to 4. + /// The exact amount indicated by a specific value will vary from region to region. + /// Price levels are interpreted as follows: + /// -1 - Unknown + /// 0 — Free + /// 1 — Inexpensive + /// 2 — Moderate + /// 3 — Expensive + /// 4 — Very Expensive + /// + public int price_level = -1; + + /// + /// Place's rating, from 1.0 to 5.0, based on aggregated user reviews. + /// + public float rating; + + /// + /// Unique token that you can use to retrieve additional information about this place in a Place Details request. \n + /// Although this token uniquely identifies the place, the converse is not true. \n + /// A place may have many valid reference tokens. \n + /// It's not guaranteed that the same token will be returned for any given place across different searches. \n + /// Note: The reference is now deprecated in favor of place_id. + /// + public string reference; + + /// + /// Array of feature types describing the given result. \n + /// XML responses include multiple type elements if more than one type is assigned to the result. + /// + public string[] types; + + /// + /// URL of the official Google page for this place.\n + /// This will be the establishment's Google+ page if the Google+ page exists, otherwise it will be the Google-owned page that contains the best available information about the place.\n + /// Applications must link to or embed this page on any screen that shows detailed results about the place to the user. + /// + public string url; + + /// + /// Number of minutes this place’s current timezone is offset from UTC.\n + /// For example, for places in Sydney, Australia during daylight saving time this would be 660 (+11 hours from UTC), and for places in California outside of daylight saving time this would be -480 (-8 hours from UTC). + /// + public string utc_offset; + + /// + /// Lists a simplified address for the place, including the street name, street number, and locality, but not the province/state, postal code, or country.\n + /// For example, Google's Sydney, Australia office has a vicinity value of 48 Pirrama Road, Pyrmont. + /// + public string vicinity; + + /// + /// Lists the authoritative website for this place, such as a business' homepage. + /// + public string website; + + public RealWorldTerrainGooglePlaceDetailsResult() + { + + } + + /// + /// Constructor of RealWorldTerrainGooglePlaceDetailsResult. + /// + /// Place node from response. + public RealWorldTerrainGooglePlaceDetailsResult(RealWorldTerrainXML node) + { + this.node = node; + formatted_address = node.Get("formatted_address"); + formatted_phone_number = node.Get("formatted_phone_number"); + + RealWorldTerrainXML locationNode = node.Find("geometry/location"); + if (!locationNode.isNull) location = new Vector2(locationNode.Get("lng"), locationNode.Get("lat")); + + icon = node.Get("icon"); + id = node.Get("id"); + international_phone_number = node.Get("international_phone_number"); + name = node.Get("name"); + + RealWorldTerrainXMLList photosList = node.FindAll("photo"); + photos = new RealWorldTerrainPlacesResult.Photo[photosList.count]; + for (int i = 0; i < photosList.count; i++) photos[i] = new RealWorldTerrainPlacesResult.Photo(photosList[i]); + + place_id = node.Get("place_id"); + price_level = node.Get("price_level", -1); + rating = node.Get("rating"); + reference = node.Get("reference"); + + RealWorldTerrainXMLList typeNode = node.FindAll("type"); + types = new string[typeNode.count]; + for (int i = 0; i < typeNode.count; i++) types[i] = typeNode[i].Value(); + + url = node.Get("url"); + utc_offset = node.Get("utc_offset"); + vicinity = node.Get("vicinity"); + website = node.Get("website"); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/Results/RealWorldTerrainGooglePlaceDetailsResult.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/Results/RealWorldTerrainGooglePlaceDetailsResult.cs.meta new file mode 100644 index 000000000..df66b7aaf --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/Results/RealWorldTerrainGooglePlaceDetailsResult.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: eb2688fa786fb0044a2cdd69a5dda57b +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/Results/RealWorldTerrainPlacesResult.cs b/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/Results/RealWorldTerrainPlacesResult.cs new file mode 100644 index 000000000..eeb5d6ff3 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/Results/RealWorldTerrainPlacesResult.cs @@ -0,0 +1,236 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System; +using System.Collections.Generic; +using InfinityCode.RealWorldTerrain.XML; +using UnityEngine; + +namespace InfinityCode.RealWorldTerrain.Webservices.Results +{ + /// + /// Result of Google Maps Places query. + /// + public class RealWorldTerrainPlacesResult + { + /// + /// Coordinates of the place. + /// + public Vector2 location; + + /// + /// URL of a recommended icon which may be displayed to the user when indicating this result. + /// + public string icon; + + /// + /// Unique stable identifier denoting this place. \n + /// This identifier may not be used to retrieve information about this place, but is guaranteed to be valid across sessions. \n + /// It can be used to consolidate data about this place, and to verify the identity of a place across separate searches. \n + /// Note: The id is now deprecated in favor of place_id. + /// + public string id; + + /// + /// Human-readable address of this place. \n + /// Often this address is equivalent to the "postal address". \n + /// The formatted_address property is only returned for a Text Search. + /// + public string formatted_address; + + /// + /// Human-readable name for the returned result. \n + /// For establishment results, this is usually the business name. + /// + public string name; + + /// + /// Unique identifier for a place. + /// + public string place_id; + + /// + /// Unique token that you can use to retrieve additional information about this place in a Place Details request. \n + /// Although this token uniquely identifies the place, the converse is not true. \n + /// A place may have many valid reference tokens. \n + /// It's not guaranteed that the same token will be returned for any given place across different searches. \n + /// Note: The reference is now deprecated in favor of place_id. + /// + public string reference; + + /// + /// Array of feature types describing the given result. \n + /// XML responses include multiple type elements if more than one type is assigned to the result. + /// + public string[] types; + + /// + /// Feature name of a nearby location. \n + /// Often this feature refers to a street or neighborhood within the given results. \n + /// The vicinity property is only returned for a Nearby Search. + /// + public string vicinity; + + /// + /// The price level of the place, on a scale of 0 to 4. \n + /// The exact amount indicated by a specific value will vary from region to region. \n + /// Price levels are interpreted as follows: \n + /// -1 - Unknown \n + /// 0 - Free \n + /// 1 - Inexpensive \n + /// 2 - Moderate \n + /// 3 - Expensive \n + /// 4 - Very Expensive + /// + public int price_level = -1; + + /// + /// Place's rating, from 1.0 to 5.0, based on aggregated user reviews. + /// + public float rating; + + /// + /// Value indicating if the place is open at the current time. + /// + public bool open_now; + + /// + /// Indicates the scope of the place_id. + /// + public string scope; + + /// + /// Undocumented in Google Maps Places API. + /// + public string[] weekday_text; + + /// + /// Array of photo objects, each containing a reference to an image. \n + /// A Place Search will return at most one photo object. \n + /// Performing a Place Details request on the place may return up to ten photos. + /// + public Photo[] photos; + + public RealWorldTerrainPlacesResult() + { + + } + + /// + /// Constructor + /// + /// Place node from response + public RealWorldTerrainPlacesResult(RealWorldTerrainXML node) + { + List photos = new List(); + List types = new List(); + List weekday_text = new List(); + + foreach (RealWorldTerrainXML n in node) + { + if (n.name == "name") name = n.Value(); + else if (n.name == "id") id = n.Value(); + else if (n.name == "vicinity") vicinity = n.Value(); + else if (n.name == "type") types.Add(n.Value()); + else if (n.name == "geometry") location = RealWorldTerrainXML.GetVector2FromNode(n[0]); + else if (n.name == "rating") rating = n.Value(); + else if (n.name == "icon") icon = n.Value(); + else if (n.name == "reference") reference = n.Value(); + else if (n.name == "place_id") place_id = n.Value(); + else if (n.name == "scope") scope = n.Value(); + else if (n.name == "price_level") price_level = n.Value(); + else if (n.name == "formatted_address") formatted_address = n.Value(); + else if (n.name == "opening_hours") + { + open_now = n.Get("open_now") == "true"; + foreach (RealWorldTerrainXML wdt in n.FindAll("weekday_text")) weekday_text.Add(wdt.Value()); + } + else if (n.name == "photo") + { + photos.Add(new Photo(n)); + } + else Debug.Log(n.name); + } + + this.photos = photos.ToArray(); + this.types = types.ToArray(); + this.weekday_text = weekday_text.ToArray(); + } + + /// + /// Photo objects, contains a reference to an image. + /// + public class Photo + { + /// + /// The maximum width of the image. + /// + public int width; + + /// + /// The maximum height of the image. + /// + public int height; + + /// + /// String used to identify the photo when you perform a Photo request. + /// + public string photo_reference; + + /// + /// Contains any required attributions. This field will always be present, but may be empty. + /// + public string[] html_attributions; + + public Photo() + { + + } + + /// + /// Constructor + /// + /// Photo node from response + public Photo(RealWorldTerrainXML node) + { + try + { + width = node.Get("width"); + height = node.Get("height"); + photo_reference = node["photo_reference"].Value(); + + List html_attributions = new List(); + foreach (RealWorldTerrainXML ha in node.FindAll("html_attributions")) html_attributions.Add(ha.Value()); + this.html_attributions = html_attributions.ToArray(); + } + catch (Exception) + { + } + } + + /// + /// Download photo from Google Places. + /// + /// Google Maps API Key. + /// + /// Specifies the maximum desired width, in pixels, of the image returned by the Place Photos service. \n + /// If the image is smaller than the values specified, the original image will be returned. \n + /// If the image is larger in either dimension, it will be scaled to match the smaller of the two dimensions, restricted to its original aspect ratio. \n + /// maxWidth accept an integer between 1 and 1600. + /// + /// + /// Specifies the maximum desired height, in pixels, of the image returned by the Place Photos service. \n + /// If the image is smaller than the values specified, the original image will be returned. \n + /// If the image is larger in either dimension, it will be scaled to match the smaller of the two dimensions, restricted to its original aspect ratio. \n + /// maxHeight accept an integer between 1 and 1600.\n + /// + /// + public RealWorldTerrainGooglePlacePhoto Download(string key, int? maxWidth = null, int? maxHeight = null) + { + if (!maxWidth.HasValue) maxWidth = width; + if (!maxHeight.HasValue) maxHeight = height; + return RealWorldTerrainGooglePlacePhoto.Download(key, photo_reference, maxWidth, maxHeight); + } + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/Results/RealWorldTerrainPlacesResult.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/Results/RealWorldTerrainPlacesResult.cs.meta new file mode 100644 index 000000000..76f7681f3 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/WebServices/Results/RealWorldTerrainPlacesResult.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: be2eaca655cb1004e9b067d0a36b0110 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/XML.meta b/Assets/Infinity Code/Real World Terrain/Scripts/XML.meta new file mode 100644 index 000000000..3b7d080ab --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/XML.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 34c6ba9a1ea7f9a4aaad794fed42aa9a +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/XML/RealWorldTerrainXML.cs b/Assets/Infinity Code/Real World Terrain/Scripts/XML/RealWorldTerrainXML.cs new file mode 100644 index 000000000..260dbd92a --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/XML/RealWorldTerrainXML.cs @@ -0,0 +1,852 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using InfinityCode.RealWorldTerrain.Utils; +using UnityEngine; +using Object = UnityEngine.Object; + +#if NETFX_CORE +using Windows.Data.Xml.Dom; +#else +using System.Xml; +#endif + +namespace InfinityCode.RealWorldTerrain.XML +{ + /// + /// Wrapper for XML. + /// + public class RealWorldTerrainXML : IEnumerable + { + private XmlDocument _document; + private XmlElement _element; + + /// + /// Name of the node. + /// + public string name + { +#if !NETFX_CORE + get { return _element != null ? _element.Name : null; } +#else + get { return _element != null ? _element.TagName: null; } +#endif + } + + /// + /// The number of child nodes. + /// + public int count + { + get { return hasChildNodes ? _element.ChildNodes.Count : 0; } + } + + /// + /// Checks whether the contents of the node. + /// + public bool isNull + { + get { return _document == null || _element == null; } + } + + /// + /// Reference to XmlDocument. + /// + public XmlDocument document + { + get { return _document; } + } + + /// + /// Reference to XmlElement. + /// + public XmlElement element + { + get { return _element; } + } + + /// + /// Gets a value indicating whether the current node has any attributes. + /// + public bool hasAttributes + { + get { return _element != null && _element.Attributes.Count > 0; } + } + + /// + /// Gets a value indicating the presence of the child nodes from the current node. + /// + public bool hasChildNodes + { + get + { +#if !NETFX_CORE + return _element != null && _element.HasChildNodes; +#else + return _element != null && _element.HasChildNodes(); +#endif + } + } + + /// + /// Content of node as string. + /// + public string outerXml + { + get + { +#if !NETFX_CORE + return _element != null ? _element.OuterXml : null; +#else + return _element != null? _element.GetXml(): null; +#endif + } + } + + /// + /// Get the child element by index. + /// + /// Index of child element. + /// Child element. + public RealWorldTerrainXML this[int index] + { + get + { + if (!hasChildNodes) return new RealWorldTerrainXML(); + if (index < 0 || index >= _element.ChildNodes.Count) return new RealWorldTerrainXML(); + return new RealWorldTerrainXML(_element.ChildNodes[index] as XmlElement); + } + } + + /// + /// Get the child element by name. + /// + /// Name of child element. + /// Child element. + public RealWorldTerrainXML this[string childName] + { + get + { + if (!hasChildNodes) return new RealWorldTerrainXML(); +#if !NETFX_CORE + return new RealWorldTerrainXML(_element[childName]); +#else + return new RealWorldTerrainXML(GetFirstChild(_element, childName)); +#endif + } + } + + /// + /// Creates an empty element. + /// + public RealWorldTerrainXML() + { + + } + + /// + /// Creates a new element with the specified name. + /// + /// Name of element. + public RealWorldTerrainXML(string nodeName) + { + try + { + _document = new XmlDocument(); + _element = _document.CreateElement(nodeName); + _document.AppendChild(_element); + } + catch (Exception) + { + _document = null; + _element = null; + } + } + + /// + /// Creates a new element based on the XmlElement. + /// + /// XmlElement for which will create the wrapper. + public RealWorldTerrainXML(XmlElement xmlElement) + { + if (xmlElement == null) return; + + _element = xmlElement; + _document = _element.OwnerDocument; + } + + /// + /// Get an attribute by name. + /// + /// Name of attribute. + /// Value of attribute as string. + public string A(string attributeName) + { + return A(attributeName); + } + + /// + /// Get an attribute by name, and return as the specified type. + /// + /// Type of attribute. + /// Name of attribute. + /// Value of attribute as specified type. + public T A(string attributeName) + { + if (!hasAttributes) return default(T); +#if !NETFX_CORE + XmlAttribute el = _element.Attributes[attributeName]; +#else + XmlAttribute el = _element.Attributes.GetNamedItem(attributeName) as XmlAttribute; +#endif + + if (el == null) return default(T); + + string value = el.Value; + if (string.IsNullOrEmpty(value)) return default(T); + + Type type = typeof(T); + if (type == typeof(string)) return (T) Convert.ChangeType(value, type); + + T obj = default(T); + PropertyInfo[] properties = RealWorldTerrainReflectionHelper.GetProperties(type); + Type underlyingType = type; + +#if !UNITY_WSA + if (properties.Length == 2 && string.Equals(properties[0].Name, "HasValue", StringComparison.InvariantCultureIgnoreCase)) underlyingType = properties[1].PropertyType; +#else + if (properties.Length == 2 && string.Equals(properties[0].Name, "HasValue", StringComparison.OrdinalIgnoreCase)) underlyingType = properties[1].PropertyType; +#endif + + MethodInfo method = RealWorldTerrainReflectionHelper.GetMethod(underlyingType, "Parse", new[] { typeof(string), typeof(IFormatProvider) }); + if (method != null) return (T)method.Invoke(null, new object[] { value, RealWorldTerrainCultureInfo.numberFormat }); + + method = RealWorldTerrainReflectionHelper.GetMethod(underlyingType, "Parse", new[] { typeof(string) }); + if (method != null) return (T)method.Invoke(null, new[] { value }); + + return obj; + } + + /// + /// Set an named attribute. + /// + /// Name of attribute. + /// Value of attribute. + public void A(string attributeName, object value) + { + if (_element == null) return; + _element.SetAttribute(attributeName, value.ToString()); + } + + /// + /// Sets the color attribute as hex value. + /// + /// Name of attribute. + /// Color + public void A(string attributeName, Color32 value) + { + A(attributeName, value.r.ToString("X2") + value.g.ToString("X2") + value.b.ToString("X2")); + } + + /// + /// Append a child element. + /// + /// Element. + public void AppendChild(XmlElement newChild) + { + if (_element == null || newChild == null) return; + if (_element.OwnerDocument != newChild.OwnerDocument) newChild = _element.OwnerDocument.ImportNode(newChild, true) as XmlElement; + _element.AppendChild(newChild); + } + + /// + /// Append a child element. + /// + /// Element. + public void AppendChild(RealWorldTerrainXML newChild) + { + if (newChild == null) return; + AppendChild(newChild._element); + } + + /// + /// Append a child elements. + /// + /// List of elements. +#if !NETFX_CORE + public void AppendChilds(IEnumerable list) +#else + public void AppendChilds(IEnumerable list) +#endif + { + if (_element == null) return; + + foreach (var node in list) _element.AppendChild(node); + } + + /// + /// Append a child elements. + /// + /// List of elements. + public void AppendChilds(IEnumerable list) + { + if (_element == null) return; + + foreach (RealWorldTerrainXML node in list) + { + if (node._element != null) _element.AppendChild(node._element); + } + } + + /// + /// Append a child elements. + /// + /// List of elements. + public void AppendChilds(XmlNodeList list) + { + if (_element == null) return; + +#if !NETFX_CORE + foreach (XmlNode node in list) _element.AppendChild(node); +#else + foreach (IXmlNode node in list) _element.AppendChild(node); +#endif + } + + /// + /// Append a child elements. + /// + /// List of elements. + public void AppendChilds(RealWorldTerrainXMLList list) + { + if (_element == null) return; + + foreach (RealWorldTerrainXML node in list) + { + if (node._element != null) _element.AppendChild(node._element); + } + } + + /// + /// Creates a child element with the specified name. + /// + /// Name of child element. + /// Child element. + public RealWorldTerrainXML Create(string nodeName) + { + if (_document == null || _element == null) return new RealWorldTerrainXML(); + + XmlElement xmlElement = _document.CreateElement(nodeName); + _element.AppendChild(xmlElement); + return new RealWorldTerrainXML(xmlElement); + } + + /// + /// Creates a child element with the specified name and value. + /// + /// Name of child element. + /// Value of child element. + /// Child element. + public RealWorldTerrainXML Create(string nodeName, bool value) + { + return Create(nodeName, value ? "True" : "False"); + } + + /// + /// Creates a child element with the specified name and value. + /// + /// Name of child element. + /// Value of child element. + /// Child element. + public RealWorldTerrainXML Create(string nodeName, Color32 value) + { + return Create(nodeName, value.r.ToString("X2") + value.g.ToString("X2") + value.b.ToString("X2")); + } + + /// + /// Creates a child element with the specified name and value. + /// + /// Name of child element. + /// Value of child element. + /// Child element. + public RealWorldTerrainXML Create(string nodeName, float value) + { + return Create(nodeName, value.ToString()); + } + + /// + /// Creates a child element with the specified name and value. + /// + /// Name of child element. + /// Value of child element. + /// Child element. + public RealWorldTerrainXML Create(string nodeName, double value) + { + return Create(nodeName, value.ToString()); + } + + /// + /// Creates a child element with the specified name and value. + /// + /// Name of child element. + /// Value of child element. + /// Child element. + public RealWorldTerrainXML Create(string nodeName, int value) + { + return Create(nodeName, value.ToString()); + } + + /// + /// Creates a child element with the specified name and value. + /// + /// Name of child element. + /// Value of child element. + /// Child element. + public RealWorldTerrainXML Create(string nodeName, Object value) + { + return Create(nodeName, value != null ? value.GetInstanceID() : 0); + } + + /// + /// Creates a child element with the specified name and value. + /// + /// Name of child element. + /// Value of child element. + /// Child element. + public RealWorldTerrainXML Create(string nodeName, string value) + { + RealWorldTerrainXML node = Create(nodeName); + node.SetChild(value); + return node; + } + + /// + /// Creates a child element with the specified name and value. + /// + /// Name of child element. + /// Value of child element. + /// Child element. + public RealWorldTerrainXML Create(string nodeName, Vector2 value) + { + RealWorldTerrainXML node = Create(nodeName); + node.Create("X", value.x); + node.Create("Y", value.y); + return node; + } + + /// + /// Creates a child element with the specified name and value. + /// + /// Name of child element. + /// Value of child element. + /// Child element. + public RealWorldTerrainXML Create(string nodeName, Vector3 value) + { + RealWorldTerrainXML node = Create(nodeName); + node.Create("X", value.x); + node.Create("Y", value.y); + node.Create("Z", value.z); + return node; + } + + /// + /// Find a child at the specified XPath. + /// + /// XPath string. + /// An XmlNamespaceManager to use for resolving namespaces for prefixes in the XPath expression. + /// Child element. + public RealWorldTerrainXML Find(string xpath, System.Xml.XmlNamespaceManager nsmgr = null) + { + if (!hasChildNodes) return new RealWorldTerrainXML(); +#if !NETFX_CORE + + XmlElement xmlElement = _element.SelectSingleNode(xpath, nsmgr) as XmlElement; +#else + string ns = null; + if (nsmgr != null) + { + var nss = nsmgr.GetNamespacesInScope(System.Xml.XmlNamespaceScope.ExcludeXml); + if (nss.Keys.Count > 0) + { + var key = nss.Keys.First(); + ns = String.Format("xmlns:{0}='{1}'", key, nsmgr.LookupNamespace(key)); + } + } + + XmlElement xmlElement = (ns == null ? _element.SelectSingleNode(xpath) : _element.SelectSingleNodeNS(xpath, ns)) as XmlElement; +#endif + + if (xmlElement != null) return new RealWorldTerrainXML(xmlElement); + return new RealWorldTerrainXML(); + } + + /// + /// Find a child at the specified XPath, and return value as the specified type. + /// + /// Type of child element. + /// XPath string. + /// An XmlNamespaceManager to use for resolving namespaces for prefixes in the XPath expression. + /// Value of child element as the specified type. + public T Find(string xpath, System.Xml.XmlNamespaceManager nsmgr = null) + { + if (!hasChildNodes) return default(T); +#if !NETFX_CORE + return Get(_element.SelectSingleNode(xpath, nsmgr) as XmlElement); +#else + string ns = null; + if (nsmgr != null) + { + var nss = nsmgr.GetNamespacesInScope(System.Xml.XmlNamespaceScope.ExcludeXml); + if (nss.Keys.Count > 0) + { + var key = nss.Keys.First(); + ns = String.Format("xmlns:{0}='{1}'", key, nsmgr.LookupNamespace(key)); + } + } + + return Get((ns == null ? _element.SelectSingleNode(xpath) : _element.SelectSingleNodeNS(xpath, ns)) as XmlElement); +#endif + } + + /// + /// Finds all childs at the specified XPath. + /// + /// XPath string. + /// An XmlNamespaceManager to use for resolving namespaces for prefixes in the XPath expression. + /// List of the elements. + public RealWorldTerrainXMLList FindAll(string xpath, System.Xml.XmlNamespaceManager nsmgr = null) + { + if (!hasChildNodes) return new RealWorldTerrainXMLList(); +#if !NETFX_CORE + return new RealWorldTerrainXMLList(_element.SelectNodes(xpath, nsmgr)); +#else + string ns = null; + if (nsmgr != null) + { + var nss = nsmgr.GetNamespacesInScope(System.Xml.XmlNamespaceScope.ExcludeXml); + if (nss.Keys.Count > 0) + { + var key = nss.Keys.First(); + ns = String.Format("xmlns:{0}='{1}'", key, nsmgr.LookupNamespace(key)); + } + } + + return new RealWorldTerrainXMLList(ns == null ? _element.SelectNodes(xpath) : _element.SelectNodesNS(xpath, ns)); +#endif + } + + /// + /// Get the value of element as string. + /// + /// Name of child. + /// Value of element as string. + public string Get(string childName) + { + return Get(childName); + } + +#if NETFX_CORE + private static XmlElement GetFirstChild(XmlElement element, string childName) + { + if (element == null) return null; + var nodeList = element.GetElementsByTagName(childName); + if (nodeList.Count == 0) return null; + return nodeList[0] as XmlElement; + } +#endif + + /// + /// Get the value of element as the specified type. + /// + /// Type of element + /// Element + /// Value of element as the specified type. + public T Get(XmlElement el) + { + if (el == null) return default(T); + +#if !NETFX_CORE + string value = el.InnerXml; +#else + string value = el.InnerText; + #endif + if (string.IsNullOrEmpty(value)) return default(T); + + Type type = typeof(T); + if (type == typeof(string)) return (T) Convert.ChangeType(value, type); + if (type == typeof(Color) || type == typeof(Color32)) return (T) Convert.ChangeType(RealWorldTerrainUtils.HexToColor(value), type); + +#if !NETFX_CORE + if (type == typeof(Vector2)) return (T) Convert.ChangeType(new Vector2(Get(el["X"]), Get(el["Y"])), type); + if (type == typeof(Vector3)) return (T) Convert.ChangeType(new Vector3(Get(el["X"]), Get(el["Y"]), Get(el["Z"])), type); +#else + if (type == typeof(Vector2)) return (T)Convert.ChangeType(new Vector2(Get(GetFirstChild(el, "X")), Get(GetFirstChild(el, "Y"))), type); + if (type == typeof(Vector3)) return (T)Convert.ChangeType(new Vector3(Get(GetFirstChild(el, "X")), Get(GetFirstChild(el, "Y")), Get(GetFirstChild(el, "Z"))), type); +#endif + + T obj = default(T); + PropertyInfo[] properties = RealWorldTerrainReflectionHelper.GetProperties(type); + Type underlyingType = type; + +#if !UNITY_WSA + if (properties.Length == 2 && string.Equals(properties[0].Name, "HasValue", StringComparison.InvariantCultureIgnoreCase)) underlyingType = properties[1].PropertyType; +#else + if (properties.Length == 2 && string.Equals(properties[0].Name, "HasValue", StringComparison.OrdinalIgnoreCase)) underlyingType = properties[1].PropertyType; +#endif + + try + { + MethodInfo method = RealWorldTerrainReflectionHelper.GetMethod(underlyingType, "Parse", new[] { typeof(string), typeof(IFormatProvider) }); + if (method != null) obj = (T)method.Invoke(null, new object[] { value, RealWorldTerrainCultureInfo.numberFormat }); + else + { + method = RealWorldTerrainReflectionHelper.GetMethod(underlyingType, "Parse", new[] { typeof(string) }); + obj = (T)method.Invoke(null, new[] { value }); + } + } + catch (Exception exception) + { + Debug.Log(exception.Message + "\n" + exception.StackTrace); + throw; + } + + return obj; + } + + /// + /// Get the value of element as the specified type or default value if the child is not found. + /// + /// Type of element + /// Element + /// Default value + /// Value of element as the specified type or default value. + public T Get(XmlElement el, T defaultValue) + { + if (el == null) return defaultValue; + +#if !NETFX_CORE + string value = el.InnerXml; +#else + string value = el.InnerText; +#endif + if (string.IsNullOrEmpty(value)) return defaultValue; + + Type type = typeof(T); + + if (type == typeof(string)) return (T) Convert.ChangeType(value, type); + if (type == typeof(Color) || type == typeof(Color32)) return (T) Convert.ChangeType(RealWorldTerrainUtils.HexToColor(value), type); + +#if !NETFX_CORE + if (type == typeof(Vector2)) return (T) Convert.ChangeType(new Vector2(Get(el["X"]), Get(el["Y"])), type); + if (type == typeof(Vector3)) return (T) Convert.ChangeType(new Vector3(Get(el["X"]), Get(el["Y"]), Get(el["Z"])), type); +#else + if (type == typeof(Vector2)) return (T)Convert.ChangeType(new Vector2(Get(GetFirstChild(el, "X")), Get(GetFirstChild(el, "Y"))), type); + if (type == typeof(Vector3)) return (T)Convert.ChangeType(new Vector3(Get(GetFirstChild(el, "X")), Get(GetFirstChild(el, "Y")), Get(GetFirstChild(el, "Z"))), type); + #endif + + T obj = defaultValue; + PropertyInfo[] properties = RealWorldTerrainReflectionHelper.GetProperties(type); + Type underlyingType = type; + +#if !UNITY_WSA + if (properties.Length == 2 && string.Equals(properties[0].Name, "HasValue", StringComparison.InvariantCultureIgnoreCase)) underlyingType = properties[1].PropertyType; +#else + if (properties.Length == 2 && string.Equals(properties[0].Name, "HasValue", StringComparison.OrdinalIgnoreCase)) underlyingType = properties[1].PropertyType; + #endif + + try + { + MethodInfo method = RealWorldTerrainReflectionHelper.GetMethod(underlyingType, "Parse", new[] { typeof(string), typeof(IFormatProvider) }); + if (method != null) obj = (T)method.Invoke(null, new object[] { value, RealWorldTerrainCultureInfo.numberFormat }); + else + { + method = RealWorldTerrainReflectionHelper.GetMethod(underlyingType, "Parse", new[] { typeof(string) }); + obj = (T)method.Invoke(null, new[] { value }); + } + } + catch (Exception exception) + { + Debug.Log(exception.Message + "\n" + exception.StackTrace); + throw; + } + + return obj; + } + + /// + /// Get the value of child element as the specified type. + /// + /// Type of child element. + /// Name of child. + /// Value of element as the specified type. + public T Get(string childName) + { + if (!hasChildNodes) return default(T); +#if !NETFX_CORE + return Get(_element[childName]); +#else + return Get(GetFirstChild(_element, childName)); + #endif + } + + /// + /// Get the value of child element as the specified type or default value if the child is not found. + /// + /// Type of child element. + /// Name of child. + /// Default value. + /// Value of element as the specified type or default value. + public T Get(string childName, T defaultValue) + { + if (!hasChildNodes) return defaultValue; +#if !NETFX_CORE + return Get(_element[childName], defaultValue); +#else + return Get(GetFirstChild(_element, childName), defaultValue); + #endif + } + + public IEnumerator GetEnumerator() + { + for (int i = 0; i < count; i++) + { + yield return this[i]; + } + } + + public Vector2 GetLatLng(string subNodeName) + { + RealWorldTerrainXML subNode = this[subNodeName]; + return new Vector2(subNode.Get("lng"), subNode.Get("lat")); + } + + /// + /// Get NamespaceManager for current xml node. + /// + /// Namespace prefix. + /// NamespaceManager + public RealWorldTerrainXMLNamespaceManager GetNamespaceManager(string prefix = null) + { +#if !NETFX_CORE + RealWorldTerrainXMLNamespaceManager nsmgr = new RealWorldTerrainXMLNamespaceManager(document.NameTable); + if (prefix == null) prefix = element.GetPrefixOfNamespace(element.NamespaceURI); + nsmgr.AddNamespace(prefix, element.NamespaceURI); +#else + RealWorldTerrainXMLNamespaceManager nsmgr = new RealWorldTerrainXMLNamespaceManager(new System.Xml.NameTable()); + if (prefix == null) prefix = element.Prefix.ToString(); + nsmgr.AddNamespace(prefix, element.NamespaceUri.ToString()); + #endif + return nsmgr; + } + + public bool HasChild(string childName) + { + if (!hasChildNodes) return false; +#if !NETFX_CORE + return _element[childName] != null; +#else + return GetFirstChild(_element, childName) != null; + #endif + } + + /// + /// Converts XMLNode coordinates from Google Maps into Vector2. + /// + /// XMLNode coordinates from Google Maps. + /// Coordinates as Vector2. + public static Vector2 GetVector2FromNode(RealWorldTerrainXML node) + { + float lng = node.Get("lng"); + float lat = node.Get("lat"); + return new Vector2(lng, lat); + } + + /// + /// Loads the XML from a string. + /// + /// XML string. + /// First element. + public static RealWorldTerrainXML Load(string xmlString) + { + try + { + XmlDocument document = new XmlDocument(); + document.LoadXml(xmlString); + return new RealWorldTerrainXML(document.DocumentElement); + } + catch + { + Debug.Log("Can not load XML from string:\n" + xmlString); + return new RealWorldTerrainXML(); + } + } + + /// + /// Removes this element from the XML. + /// + public void Remove() + { + if (_element == null || _element.ParentNode == null) return; + _element.ParentNode.RemoveChild(_element); + } + + /// + /// Removes child element from the XML. + /// + /// Name of child element. + public void Remove(string childName) + { + if (!hasChildNodes) return; +#if !NETFX_CORE + _element.RemoveChild(_element[childName]); +#else + _element.RemoveChild(GetFirstChild(_element, childName)); + #endif + } + + /// + /// Removes child element from the XML. + /// + /// Index of child element. + public void Remove(int childIndex) + { + if (!hasChildNodes) return; + if (childIndex < 0 || childIndex >= _element.ChildNodes.Count) return; + _element.RemoveChild(_element.ChildNodes[childIndex]); + } + + /// + /// Sets the value of the element. + /// + /// Value of element. + private void SetChild(string value) + { + if (_element == null || _document == null) return; + _element.AppendChild(_document.CreateTextNode(value)); + } + + /// + /// Gets the value of the element as string. + /// + /// Value of the element as string. + public string Value() + { + return Value(); + } + + /// + /// Gets the value of the element as the specified type. + /// + /// Type of element. + /// Value as the specified type. + public T Value() + { + return Get(_element); + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/XML/RealWorldTerrainXML.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/XML/RealWorldTerrainXML.cs.meta new file mode 100644 index 000000000..63e27946b --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/XML/RealWorldTerrainXML.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e7623651dddac424d9f0b1aec4d6484f +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/XML/RealWorldTerrainXMLList.cs b/Assets/Infinity Code/Real World Terrain/Scripts/XML/RealWorldTerrainXMLList.cs new file mode 100644 index 000000000..991aecbd8 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/XML/RealWorldTerrainXMLList.cs @@ -0,0 +1,76 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System.Collections; + +#if !NETFX_CORE +using System.Xml; +#else +using Windows.Data.Xml.Dom; +#endif + +namespace InfinityCode.RealWorldTerrain.XML +{ + /// + /// Wrapper for XmlNodeList. + /// + public class RealWorldTerrainXMLList : IEnumerable + { + private readonly XmlNodeList _list; + + /// + /// Count of the elements. + /// + public int count + { + get { return _list != null ? _list.Count : 0; } + } + + /// + /// Reference to XmlNodeList. + /// + public XmlNodeList list + { + get { return _list; } + } + + /// + /// Create empty list. + /// + public RealWorldTerrainXMLList() + { + + } + + /// + /// Create wrapper for XmlNodeList. + /// + /// XmlNodeList. + public RealWorldTerrainXMLList(XmlNodeList list) + { + _list = list; + } + + /// + /// Get the element by index. + /// + /// Index of element. + /// Element. + public RealWorldTerrainXML this[int index] + { + get + { + if (_list == null || index < 0 || index >= _list.Count) return new RealWorldTerrainXML(); + return new RealWorldTerrainXML(_list[index] as XmlElement); + } + } + + public IEnumerator GetEnumerator() + { + for (int i = 0; i < count; i++) + { + yield return this[i]; + } + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/XML/RealWorldTerrainXMLList.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/XML/RealWorldTerrainXMLList.cs.meta new file mode 100644 index 000000000..bf0bb6043 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/XML/RealWorldTerrainXMLList.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a9c8ec16ca8750a4e8c84c14484bc840 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/XML/RealWorldTerrainXMLNamespaceManager.cs b/Assets/Infinity Code/Real World Terrain/Scripts/XML/RealWorldTerrainXMLNamespaceManager.cs new file mode 100644 index 000000000..ac357385f --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/XML/RealWorldTerrainXMLNamespaceManager.cs @@ -0,0 +1,15 @@ +/* INFINITY CODE 2013-2019 */ +/* http://www.infinity-code.com */ + +using System.Xml; + +namespace InfinityCode.RealWorldTerrain.XML +{ + public class RealWorldTerrainXMLNamespaceManager : XmlNamespaceManager + { + public RealWorldTerrainXMLNamespaceManager(XmlNameTable table) : base(table) + { + + } + } +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Scripts/XML/RealWorldTerrainXMLNamespaceManager.cs.meta b/Assets/Infinity Code/Real World Terrain/Scripts/XML/RealWorldTerrainXMLNamespaceManager.cs.meta new file mode 100644 index 000000000..f99a2a969 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Scripts/XML/RealWorldTerrainXMLNamespaceManager.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fc4a3b9da595a7c42a06bc2fa802a800 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/Assets/Infinity Code/Real World Terrain/Shaders.meta b/Assets/Infinity Code/Real World Terrain/Shaders.meta new file mode 100644 index 000000000..d6241f6ca --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Shaders.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: e03977fbd6a0b2b4c87135c6d823ce28 +folderAsset: yes +timeCreated: 1470870903 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Shaders/Water.shader b/Assets/Infinity Code/Real World Terrain/Shaders/Water.shader new file mode 100644 index 000000000..0988d1129 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Shaders/Water.shader @@ -0,0 +1,133 @@ +Shader "Real World Terrain Water" +{ + Properties + { + _Color("Color", Color) = (1,1,1,1) + _Texture1("Texture1", 2D) = "black" {} + _Texture2("Texture2", 2D) = "black" {} + _MainTexSpeed("MainTexSpeed", Float) = 0 + _Texture2Speed("Texture2Speed", Float) = 0 + _DistortionMap("DistortionMap", 2D) = "black" {} + _DistortionSpeed("DistortionSpeed", Float) = 0 + _DistortionPower("DistortionPower", Range(0,0.04) ) = 0 + _Specular("Specular", Range(0,7) ) = 1 + _Gloss("Gloss", Range(0.1,2) ) = 0.3 + } + + SubShader + { + Tags + { + "Queue"="Transparent" + "IgnoreProjector"="False" + "RenderType"="Overlay" + } + + Cull Back + ZWrite On + ZTest LEqual + ColorMask RGBA + Blend SrcAlpha OneMinusSrcAlpha + Fog{} + + CGPROGRAM + #pragma surface surf BlinnPhongEditor noforwardadd + #pragma target 3.0 + + fixed4 _Color; + uniform sampler2D _Texture1; + uniform sampler2D _Texture2; + half _MainTexSpeed; + half _Texture2Speed; + uniform sampler2D _DistortionMap; + half _DistortionSpeed; + half _DistortionPower; + fixed _Specular; + fixed _Gloss; + + struct EditorSurfaceOutput + { + half3 Albedo; + half3 Normal; + half3 Emission; + half3 Gloss; + half Specular; + half Alpha; + half4 Custom; + }; + + inline half4 LightingBlinnPhongEditor_PrePass (EditorSurfaceOutput s, half4 light) + { + half3 spec = light.a * s.Gloss; + half4 c; + c.rgb = (s.Albedo * light.rgb + light.rgb * spec); + c.a = s.Alpha; + return c; + } + + inline half4 LightingBlinnPhongEditor (EditorSurfaceOutput s, half3 lightDir, half3 viewDir, half atten) + { + half3 h = normalize (lightDir + viewDir); + + half diff = max (0, dot ( lightDir, s.Normal )); + + float nh = max (0, dot (s.Normal, h)); + float spec = pow (nh, s.Specular*128.0); + + half4 res; + res.rgb = _LightColor0.rgb * diff; + res.w = spec * Luminance (_LightColor0.rgb); + res *= atten * 2.0; + + return LightingBlinnPhongEditor_PrePass( s, res ); + } + + struct Input + { + float3 viewDir; + float2 uv_DistortionMap; + float2 uv_Texture1; + float2 uv_Texture2; + }; + + void surf (Input IN, inout EditorSurfaceOutput o) + { + o.Normal = float3(0.0,0.0,1.0); + o.Alpha = 1.0; + o.Albedo = 0.0; + o.Emission = 0.0; + o.Gloss = 0.0; + o.Specular = 0.0; + o.Custom = 0.0; + + float DistortSpeed=_DistortionSpeed * _Time; + float2 DistortUV=(IN.uv_DistortionMap.xy) + DistortSpeed; + float4 DistortNormal = float4(UnpackNormal( tex2D(_DistortionMap,DistortUV)).xyz, 1.0 ); + float2 FinalDistortion = DistortNormal.xy * _DistortionPower; + + float Multiply2=_Time * _MainTexSpeed; + float2 MainTexUV=(IN.uv_Texture1.xy) + Multiply2; + + float4 Tex2D0=tex2D(_Texture1,MainTexUV + FinalDistortion); + + float Multiply3=_Time * _Texture2Speed; + float2 Tex2UV=(IN.uv_Texture2.xy) + Multiply3; + + float4 Tex2D1=tex2D(_Texture2,Tex2UV + FinalDistortion); + + float4 TextureMix=Tex2D0 * Tex2D1; + + float4 FinalDiffuse=_Color * TextureMix; + + + o.Albedo = FinalDiffuse; + o.Emission = FinalDiffuse; + o.Specular = _Gloss; + o.Gloss = _Specular; + + o.Normal = normalize(o.Normal); + } + ENDCG + } + Fallback "Diffuse" +} \ No newline at end of file diff --git a/Assets/Infinity Code/Real World Terrain/Shaders/Water.shader.meta b/Assets/Infinity Code/Real World Terrain/Shaders/Water.shader.meta new file mode 100644 index 000000000..b3855bbb9 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Shaders/Water.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 66a7f69d0bc939443b23d648156d9cf5 +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Textures.meta b/Assets/Infinity Code/Real World Terrain/Textures.meta new file mode 100644 index 000000000..86d62b91f --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Textures.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 29287d413ed1f7949999333bc5f61367 +folderAsset: yes +timeCreated: 1470870903 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Textures/RTP.meta b/Assets/Infinity Code/Real World Terrain/Textures/RTP.meta new file mode 100644 index 000000000..4424bad84 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Textures/RTP.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 14b6c22f75b1c9b42a42ffc767f43cb7 +folderAsset: yes +timeCreated: 1470870903 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Textures/RTP/Cliff Height.png b/Assets/Infinity Code/Real World Terrain/Textures/RTP/Cliff Height.png new file mode 100644 index 000000000..218621037 Binary files /dev/null and b/Assets/Infinity Code/Real World Terrain/Textures/RTP/Cliff Height.png differ diff --git a/Assets/Infinity Code/Real World Terrain/Textures/RTP/Cliff Height.png.meta b/Assets/Infinity Code/Real World Terrain/Textures/RTP/Cliff Height.png.meta new file mode 100644 index 000000000..e4a9f59c6 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Textures/RTP/Cliff Height.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: 45c54120c35eabb4cb6790fd233fcf1c +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Textures/RTP/Cliff Normal.png b/Assets/Infinity Code/Real World Terrain/Textures/RTP/Cliff Normal.png new file mode 100644 index 000000000..3d32424f6 Binary files /dev/null and b/Assets/Infinity Code/Real World Terrain/Textures/RTP/Cliff Normal.png differ diff --git a/Assets/Infinity Code/Real World Terrain/Textures/RTP/Cliff Normal.png.meta b/Assets/Infinity Code/Real World Terrain/Textures/RTP/Cliff Normal.png.meta new file mode 100644 index 000000000..0b8193666 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Textures/RTP/Cliff Normal.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: 7702070dad885de4da5b7eb4e9b77343 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Textures/RTP/Cliff.png b/Assets/Infinity Code/Real World Terrain/Textures/RTP/Cliff.png new file mode 100644 index 000000000..311251e32 Binary files /dev/null and b/Assets/Infinity Code/Real World Terrain/Textures/RTP/Cliff.png differ diff --git a/Assets/Infinity Code/Real World Terrain/Textures/RTP/Cliff.png.meta b/Assets/Infinity Code/Real World Terrain/Textures/RTP/Cliff.png.meta new file mode 100644 index 000000000..e827e756f --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Textures/RTP/Cliff.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: c872eb84f73885f4197deb609afcc58f +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Textures/RTP/Dirt Height.png b/Assets/Infinity Code/Real World Terrain/Textures/RTP/Dirt Height.png new file mode 100644 index 000000000..9b33b59e0 Binary files /dev/null and b/Assets/Infinity Code/Real World Terrain/Textures/RTP/Dirt Height.png differ diff --git a/Assets/Infinity Code/Real World Terrain/Textures/RTP/Dirt Height.png.meta b/Assets/Infinity Code/Real World Terrain/Textures/RTP/Dirt Height.png.meta new file mode 100644 index 000000000..f78e3223c --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Textures/RTP/Dirt Height.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: ae5fcbbe9baa14e479fa0097cd09a10f +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Textures/RTP/Dirt Normal.png b/Assets/Infinity Code/Real World Terrain/Textures/RTP/Dirt Normal.png new file mode 100644 index 000000000..eefebb011 Binary files /dev/null and b/Assets/Infinity Code/Real World Terrain/Textures/RTP/Dirt Normal.png differ diff --git a/Assets/Infinity Code/Real World Terrain/Textures/RTP/Dirt Normal.png.meta b/Assets/Infinity Code/Real World Terrain/Textures/RTP/Dirt Normal.png.meta new file mode 100644 index 000000000..056378e86 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Textures/RTP/Dirt Normal.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: 22945bc7d7a156d4b924a51a75dad69c +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Textures/RTP/Dirt.png b/Assets/Infinity Code/Real World Terrain/Textures/RTP/Dirt.png new file mode 100644 index 000000000..e08eb483c Binary files /dev/null and b/Assets/Infinity Code/Real World Terrain/Textures/RTP/Dirt.png differ diff --git a/Assets/Infinity Code/Real World Terrain/Textures/RTP/Dirt.png.meta b/Assets/Infinity Code/Real World Terrain/Textures/RTP/Dirt.png.meta new file mode 100644 index 000000000..b768f9a09 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Textures/RTP/Dirt.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: c3d5e567a855b1b4494b935eb8abdd1d +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Textures/RTP/Grass Height.png b/Assets/Infinity Code/Real World Terrain/Textures/RTP/Grass Height.png new file mode 100644 index 000000000..41956fd17 Binary files /dev/null and b/Assets/Infinity Code/Real World Terrain/Textures/RTP/Grass Height.png differ diff --git a/Assets/Infinity Code/Real World Terrain/Textures/RTP/Grass Height.png.meta b/Assets/Infinity Code/Real World Terrain/Textures/RTP/Grass Height.png.meta new file mode 100644 index 000000000..e2366ae76 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Textures/RTP/Grass Height.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: 656bcde93f262594c94ed8a0127cc56f +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Textures/RTP/Grass Normal.png b/Assets/Infinity Code/Real World Terrain/Textures/RTP/Grass Normal.png new file mode 100644 index 000000000..a46488892 Binary files /dev/null and b/Assets/Infinity Code/Real World Terrain/Textures/RTP/Grass Normal.png differ diff --git a/Assets/Infinity Code/Real World Terrain/Textures/RTP/Grass Normal.png.meta b/Assets/Infinity Code/Real World Terrain/Textures/RTP/Grass Normal.png.meta new file mode 100644 index 000000000..f37465390 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Textures/RTP/Grass Normal.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: 852c3d3ce560c5d4bb3e80b595ffbb38 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Textures/RTP/Grass.png b/Assets/Infinity Code/Real World Terrain/Textures/RTP/Grass.png new file mode 100644 index 000000000..39868d5d8 Binary files /dev/null and b/Assets/Infinity Code/Real World Terrain/Textures/RTP/Grass.png differ diff --git a/Assets/Infinity Code/Real World Terrain/Textures/RTP/Grass.png.meta b/Assets/Infinity Code/Real World Terrain/Textures/RTP/Grass.png.meta new file mode 100644 index 000000000..f8b201417 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Textures/RTP/Grass.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: 683b16a6a366ec94d980d4950222329d +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Textures/RTP/GrassRock Height.png b/Assets/Infinity Code/Real World Terrain/Textures/RTP/GrassRock Height.png new file mode 100644 index 000000000..79436afc4 Binary files /dev/null and b/Assets/Infinity Code/Real World Terrain/Textures/RTP/GrassRock Height.png differ diff --git a/Assets/Infinity Code/Real World Terrain/Textures/RTP/GrassRock Height.png.meta b/Assets/Infinity Code/Real World Terrain/Textures/RTP/GrassRock Height.png.meta new file mode 100644 index 000000000..1e70730a7 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Textures/RTP/GrassRock Height.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: b316e021dcb864a4faaf4bdf5a573966 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Textures/RTP/GrassRock Normal.png b/Assets/Infinity Code/Real World Terrain/Textures/RTP/GrassRock Normal.png new file mode 100644 index 000000000..27901dd1f Binary files /dev/null and b/Assets/Infinity Code/Real World Terrain/Textures/RTP/GrassRock Normal.png differ diff --git a/Assets/Infinity Code/Real World Terrain/Textures/RTP/GrassRock Normal.png.meta b/Assets/Infinity Code/Real World Terrain/Textures/RTP/GrassRock Normal.png.meta new file mode 100644 index 000000000..38c921220 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Textures/RTP/GrassRock Normal.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: ee7b7c37e83cb794a9c22616ae1594d9 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Textures/RTP/GrassRock.png b/Assets/Infinity Code/Real World Terrain/Textures/RTP/GrassRock.png new file mode 100644 index 000000000..19b1cee83 Binary files /dev/null and b/Assets/Infinity Code/Real World Terrain/Textures/RTP/GrassRock.png differ diff --git a/Assets/Infinity Code/Real World Terrain/Textures/RTP/GrassRock.png.meta b/Assets/Infinity Code/Real World Terrain/Textures/RTP/GrassRock.png.meta new file mode 100644 index 000000000..4bd15d087 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Textures/RTP/GrassRock.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: 832e96d2708948947825a520ad611026 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Textures/Water.png b/Assets/Infinity Code/Real World Terrain/Textures/Water.png new file mode 100644 index 000000000..49ac40436 Binary files /dev/null and b/Assets/Infinity Code/Real World Terrain/Textures/Water.png differ diff --git a/Assets/Infinity Code/Real World Terrain/Textures/Water.png.meta b/Assets/Infinity Code/Real World Terrain/Textures/Water.png.meta new file mode 100644 index 000000000..fc531bd48 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Textures/Water.png.meta @@ -0,0 +1,76 @@ +fileFormatVersion: 2 +guid: 4e96da419e86c1844bd6a6795e0441ea +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Infinity Code/Real World Terrain/Textures/WaterDistMap.png b/Assets/Infinity Code/Real World Terrain/Textures/WaterDistMap.png new file mode 100644 index 000000000..22a7ae4cd Binary files /dev/null and b/Assets/Infinity Code/Real World Terrain/Textures/WaterDistMap.png differ diff --git a/Assets/Infinity Code/Real World Terrain/Textures/WaterDistMap.png.meta b/Assets/Infinity Code/Real World Terrain/Textures/WaterDistMap.png.meta new file mode 100644 index 000000000..5f4bea499 --- /dev/null +++ b/Assets/Infinity Code/Real World Terrain/Textures/WaterDistMap.png.meta @@ -0,0 +1,76 @@ +fileFormatVersion: 2 +guid: 08baa6c741d8ede48bfe3a68026428f3 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/New Terrain.asset b/Assets/New Terrain.asset new file mode 100644 index 000000000..00169d6c6 Binary files /dev/null and b/Assets/New Terrain.asset differ diff --git a/Assets/New Terrain.asset.meta b/Assets/New Terrain.asset.meta new file mode 100644 index 000000000..bae5ea2d0 --- /dev/null +++ b/Assets/New Terrain.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6056da494353bec419696a8df1dfb1d7 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 15600000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Easy Save 3/Resources/ES3/ES3Defaults.asset b/Assets/Plugins/Easy Save 3/Resources/ES3/ES3Defaults.asset index e7896a704..8a1831c4a 100644 --- a/Assets/Plugins/Easy Save 3/Resources/ES3/ES3Defaults.asset +++ b/Assets/Plugins/Easy Save 3/Resources/ES3/ES3Defaults.asset @@ -38,23 +38,17 @@ MonoBehaviour: - ECM2 - Enviro3.Runtime - FairyGUI + - GISTerrainLoaderRuntime - Ilumisoft.GraphicsControl - Ilumisoft.GraphicsControl.BuiltIn - Ilumisoft.GraphicsControl.UI - Ilumisoft.GraphicsControl.URP - JBooth.MicroSplat.Core - - JBooth.MicroVerseCore - - JBooth.MicroVerseCore.Demo - - JBooth.MicroVerseCore.Demo.TimeOfDay.Runtime - - JBooth.MicroVerseCore.Roads.Demo - NBC.Asset - NBC.Core - NBC.Lan - NBC.UI - Obi - - Rowlan.MicroVerse.Presets.Runtime - - Rowlan.MicroVerse.Presets_2.Runtime - - Rowlan.MicroVerse.Presets_3.Runtime - StompyRobot.SRDebugger - StompyRobot.SRF - VInspector diff --git a/Assets/RWT_Result.meta b/Assets/RWT_Result.meta new file mode 100644 index 000000000..ced131d89 --- /dev/null +++ b/Assets/RWT_Result.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2b468a6c6addd2c4d82b32b1f27adee1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RWT_Result/2025-06-08 18-55.meta b/Assets/RWT_Result/2025-06-08 18-55.meta new file mode 100644 index 000000000..11339845b --- /dev/null +++ b/Assets/RWT_Result/2025-06-08 18-55.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 407797088a3dc9340be7aec1e91ff296 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RWT_Result/2025-06-08 18-55/Terrain 0x0.asset b/Assets/RWT_Result/2025-06-08 18-55/Terrain 0x0.asset new file mode 100644 index 000000000..379a75970 Binary files /dev/null and b/Assets/RWT_Result/2025-06-08 18-55/Terrain 0x0.asset differ diff --git a/Assets/RWT_Result/2025-06-08 18-55/Terrain 0x0.asset.meta b/Assets/RWT_Result/2025-06-08 18-55/Terrain 0x0.asset.meta new file mode 100644 index 000000000..0ace103b7 --- /dev/null +++ b/Assets/RWT_Result/2025-06-08 18-55/Terrain 0x0.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 523942f10647ab94d81b73181c234782 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 15600000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RWT_Result/2025-06-08 18-55/Terrain 0x0r4096x4096.png b/Assets/RWT_Result/2025-06-08 18-55/Terrain 0x0r4096x4096.png new file mode 100644 index 000000000..72af6e1c5 Binary files /dev/null and b/Assets/RWT_Result/2025-06-08 18-55/Terrain 0x0r4096x4096.png differ diff --git a/Assets/RWT_Result/2025-06-08 18-55/Terrain 0x0r4096x4096.png.meta b/Assets/RWT_Result/2025-06-08 18-55/Terrain 0x0r4096x4096.png.meta new file mode 100644 index 000000000..ba878ee53 --- /dev/null +++ b/Assets/RWT_Result/2025-06-08 18-55/Terrain 0x0r4096x4096.png.meta @@ -0,0 +1,117 @@ +fileFormatVersion: 2 +guid: 8f86804ba4872504c89fcbe04167a2d6 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 4096 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RWT_Result/2025-06-08 18-55/Terrain 0x0r4096x4096.terrainlayer b/Assets/RWT_Result/2025-06-08 18-55/Terrain 0x0r4096x4096.terrainlayer new file mode 100644 index 000000000..91a27db2a --- /dev/null +++ b/Assets/RWT_Result/2025-06-08 18-55/Terrain 0x0r4096x4096.terrainlayer @@ -0,0 +1,23 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1953259897 &8574412962073106934 +TerrainLayer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Terrain 0x0r4096x4096 + m_DiffuseTexture: {fileID: 2800000, guid: 8f86804ba4872504c89fcbe04167a2d6, type: 3} + m_NormalMapTexture: {fileID: 0} + m_MaskMapTexture: {fileID: 0} + m_TileSize: {x: 2033, y: 1811} + m_TileOffset: {x: 0, y: 0} + m_Specular: {r: 0, g: 0, b: 0, a: 0} + m_Metallic: 0 + m_Smoothness: 0 + m_NormalScale: 1 + m_DiffuseRemapMin: {x: 0, y: 0, z: 0, w: 0} + m_DiffuseRemapMax: {x: 1, y: 1, z: 1, w: 1} + m_MaskMapRemapMin: {x: 0, y: 0, z: 0, w: 0} + m_MaskMapRemapMax: {x: 1, y: 1, z: 1, w: 1} + m_SmoothnessSource: 1 diff --git a/Assets/RWT_Result/2025-06-08 18-55/Terrain 0x0r4096x4096.terrainlayer.meta b/Assets/RWT_Result/2025-06-08 18-55/Terrain 0x0r4096x4096.terrainlayer.meta new file mode 100644 index 000000000..28a98e713 --- /dev/null +++ b/Assets/RWT_Result/2025-06-08 18-55/Terrain 0x0r4096x4096.terrainlayer.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f3a3e32ed2d05e044be3e77a9bac6892 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 8574412962073106934 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RWT_Result/2025-06-08 18-55/Terrain 0x0r8192x8192.jpg b/Assets/RWT_Result/2025-06-08 18-55/Terrain 0x0r8192x8192.jpg new file mode 100644 index 000000000..16af08911 Binary files /dev/null and b/Assets/RWT_Result/2025-06-08 18-55/Terrain 0x0r8192x8192.jpg differ diff --git a/Assets/RWT_Result/2025-06-08 18-55/Terrain 0x0r8192x8192.jpg.meta b/Assets/RWT_Result/2025-06-08 18-55/Terrain 0x0r8192x8192.jpg.meta new file mode 100644 index 000000000..957500913 --- /dev/null +++ b/Assets/RWT_Result/2025-06-08 18-55/Terrain 0x0r8192x8192.jpg.meta @@ -0,0 +1,117 @@ +fileFormatVersion: 2 +guid: b5c869fc826f8524e850bac8d9b861ba +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 8192 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RWT_Result/2025-06-08 18-55/Terrain 0x0r8192x8192.terrainlayer b/Assets/RWT_Result/2025-06-08 18-55/Terrain 0x0r8192x8192.terrainlayer new file mode 100644 index 000000000..63e2a1b1f --- /dev/null +++ b/Assets/RWT_Result/2025-06-08 18-55/Terrain 0x0r8192x8192.terrainlayer @@ -0,0 +1,23 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1953259897 &8574412962073106934 +TerrainLayer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Terrain 0x0r8192x8192 + m_DiffuseTexture: {fileID: 2800000, guid: b5c869fc826f8524e850bac8d9b861ba, type: 3} + m_NormalMapTexture: {fileID: 0} + m_MaskMapTexture: {fileID: 0} + m_TileSize: {x: 2033, y: 1811} + m_TileOffset: {x: 0, y: 0} + m_Specular: {r: 0, g: 0, b: 0, a: 0} + m_Metallic: 0 + m_Smoothness: 0 + m_NormalScale: 1 + m_DiffuseRemapMin: {x: 0, y: 0, z: 0, w: 0} + m_DiffuseRemapMax: {x: 1, y: 1, z: 1, w: 1} + m_MaskMapRemapMin: {x: 0, y: 0, z: 0, w: 0} + m_MaskMapRemapMax: {x: 1, y: 1, z: 1, w: 1} + m_SmoothnessSource: 1 diff --git a/Assets/RWT_Result/2025-06-08 18-55/Terrain 0x0r8192x8192.terrainlayer.meta b/Assets/RWT_Result/2025-06-08 18-55/Terrain 0x0r8192x8192.terrainlayer.meta new file mode 100644 index 000000000..1112eb5db --- /dev/null +++ b/Assets/RWT_Result/2025-06-08 18-55/Terrain 0x0r8192x8192.terrainlayer.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3fe1a1da85391ab4c8bf36519f1b87b2 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 8574412962073106934 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RWT_Result/2025-06-08 20-15.meta b/Assets/RWT_Result/2025-06-08 20-15.meta new file mode 100644 index 000000000..e43123b0a --- /dev/null +++ b/Assets/RWT_Result/2025-06-08 20-15.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c8df5ca2bdfcebb439555c0024368da7 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RWT_Result/2025-06-08 20-15/Terrain 0x0.asset b/Assets/RWT_Result/2025-06-08 20-15/Terrain 0x0.asset new file mode 100644 index 000000000..d8db1833f Binary files /dev/null and b/Assets/RWT_Result/2025-06-08 20-15/Terrain 0x0.asset differ diff --git a/Assets/RWT_Result/2025-06-08 20-15/Terrain 0x0.asset.meta b/Assets/RWT_Result/2025-06-08 20-15/Terrain 0x0.asset.meta new file mode 100644 index 000000000..216eee9c7 --- /dev/null +++ b/Assets/RWT_Result/2025-06-08 20-15/Terrain 0x0.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 857ec6371be949a4c96c853e78361f7d +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 15600000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RWT_Result/2025-06-08 20-23.meta b/Assets/RWT_Result/2025-06-08 20-23.meta new file mode 100644 index 000000000..ee5f89730 --- /dev/null +++ b/Assets/RWT_Result/2025-06-08 20-23.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c193c66de81d4cb4abf2154e77ce5a62 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RWT_Result/2025-06-08 20-23/Terrain 0x0.asset b/Assets/RWT_Result/2025-06-08 20-23/Terrain 0x0.asset new file mode 100644 index 000000000..4fd4980fa Binary files /dev/null and b/Assets/RWT_Result/2025-06-08 20-23/Terrain 0x0.asset differ diff --git a/Assets/RWT_Result/2025-06-08 20-23/Terrain 0x0.asset.meta b/Assets/RWT_Result/2025-06-08 20-23/Terrain 0x0.asset.meta new file mode 100644 index 000000000..c4816403c --- /dev/null +++ b/Assets/RWT_Result/2025-06-08 20-23/Terrain 0x0.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3c511735fcb126a43ab661dfeb6a048d +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 15600000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RWT_Result/2025-06-08 20-23/Terrain 0x0r8192x8192.jpg b/Assets/RWT_Result/2025-06-08 20-23/Terrain 0x0r8192x8192.jpg new file mode 100644 index 000000000..d7f9e6923 Binary files /dev/null and b/Assets/RWT_Result/2025-06-08 20-23/Terrain 0x0r8192x8192.jpg differ diff --git a/Assets/RWT_Result/2025-06-08 20-23/Terrain 0x0r8192x8192.jpg.meta b/Assets/RWT_Result/2025-06-08 20-23/Terrain 0x0r8192x8192.jpg.meta new file mode 100644 index 000000000..5690ba183 --- /dev/null +++ b/Assets/RWT_Result/2025-06-08 20-23/Terrain 0x0r8192x8192.jpg.meta @@ -0,0 +1,117 @@ +fileFormatVersion: 2 +guid: 0079ea2fe11459f44962abb2f3df33ad +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 8192 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RWT_Result/2025-06-08 20-23/Terrain 0x0r8192x8192.terrainlayer b/Assets/RWT_Result/2025-06-08 20-23/Terrain 0x0r8192x8192.terrainlayer new file mode 100644 index 000000000..8a16b5545 --- /dev/null +++ b/Assets/RWT_Result/2025-06-08 20-23/Terrain 0x0r8192x8192.terrainlayer @@ -0,0 +1,23 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1953259897 &8574412962073106934 +TerrainLayer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Terrain 0x0r8192x8192 + m_DiffuseTexture: {fileID: 2800000, guid: 0079ea2fe11459f44962abb2f3df33ad, type: 3} + m_NormalMapTexture: {fileID: 0} + m_MaskMapTexture: {fileID: 0} + m_TileSize: {x: 1755, y: 1755} + m_TileOffset: {x: 0, y: 0} + m_Specular: {r: 0, g: 0, b: 0, a: 0} + m_Metallic: 0 + m_Smoothness: 0 + m_NormalScale: 1 + m_DiffuseRemapMin: {x: 0, y: 0, z: 0, w: 0} + m_DiffuseRemapMax: {x: 1, y: 1, z: 1, w: 1} + m_MaskMapRemapMin: {x: 0, y: 0, z: 0, w: 0} + m_MaskMapRemapMax: {x: 1, y: 1, z: 1, w: 1} + m_SmoothnessSource: 1 diff --git a/Assets/RWT_Result/2025-06-08 20-23/Terrain 0x0r8192x8192.terrainlayer.meta b/Assets/RWT_Result/2025-06-08 20-23/Terrain 0x0r8192x8192.terrainlayer.meta new file mode 100644 index 000000000..16cf05bba --- /dev/null +++ b/Assets/RWT_Result/2025-06-08 20-23/Terrain 0x0r8192x8192.terrainlayer.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d38e459fa33ceaa4582db9ba608f880a +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 8574412962073106934 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RWT_Result/2025-06-08 20-24.meta b/Assets/RWT_Result/2025-06-08 20-24.meta new file mode 100644 index 000000000..7620f727b --- /dev/null +++ b/Assets/RWT_Result/2025-06-08 20-24.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f5848150226c56842a42c4649f55ad76 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RWT_Result/2025-06-08 20-24/Terrain 0x0.asset b/Assets/RWT_Result/2025-06-08 20-24/Terrain 0x0.asset new file mode 100644 index 000000000..f5f5f77be Binary files /dev/null and b/Assets/RWT_Result/2025-06-08 20-24/Terrain 0x0.asset differ diff --git a/Assets/RWT_Result/2025-06-08 20-24/Terrain 0x0.asset.meta b/Assets/RWT_Result/2025-06-08 20-24/Terrain 0x0.asset.meta new file mode 100644 index 000000000..d424fcb38 --- /dev/null +++ b/Assets/RWT_Result/2025-06-08 20-24/Terrain 0x0.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c57b97c6324e1c246a816432894e1cfb +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 15600000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RWT_Result/2025-06-08 20-24_1.meta b/Assets/RWT_Result/2025-06-08 20-24_1.meta new file mode 100644 index 000000000..b1a5ee411 --- /dev/null +++ b/Assets/RWT_Result/2025-06-08 20-24_1.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 55d87eca7afbb5c47bfa32a59a02839a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RWT_Result/2025-06-08 20-24_1/Terrain 0x0.asset b/Assets/RWT_Result/2025-06-08 20-24_1/Terrain 0x0.asset new file mode 100644 index 000000000..f5f5f77be Binary files /dev/null and b/Assets/RWT_Result/2025-06-08 20-24_1/Terrain 0x0.asset differ diff --git a/Assets/RWT_Result/2025-06-08 20-24_1/Terrain 0x0.asset.meta b/Assets/RWT_Result/2025-06-08 20-24_1/Terrain 0x0.asset.meta new file mode 100644 index 000000000..6ee4b9761 --- /dev/null +++ b/Assets/RWT_Result/2025-06-08 20-24_1/Terrain 0x0.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f65414719f205ee4f9062740ebac57ec +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 15600000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RWT_Result/2025-06-08 20-25.meta b/Assets/RWT_Result/2025-06-08 20-25.meta new file mode 100644 index 000000000..8a5f054a3 --- /dev/null +++ b/Assets/RWT_Result/2025-06-08 20-25.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c5262fb8f070d104f8ed18cfa1e360f4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RWT_Result/2025-06-08 20-25/Terrain 0x0.asset b/Assets/RWT_Result/2025-06-08 20-25/Terrain 0x0.asset new file mode 100644 index 000000000..1d22246db Binary files /dev/null and b/Assets/RWT_Result/2025-06-08 20-25/Terrain 0x0.asset differ diff --git a/Assets/RWT_Result/2025-06-08 20-25/Terrain 0x0.asset.meta b/Assets/RWT_Result/2025-06-08 20-25/Terrain 0x0.asset.meta new file mode 100644 index 000000000..683f96314 --- /dev/null +++ b/Assets/RWT_Result/2025-06-08 20-25/Terrain 0x0.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 50eda460430ac6e458132dc0a07b2fbc +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 15600000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RWT_Result/2025-06-08 20-25/Terrain 0x0r8192x8192.jpg b/Assets/RWT_Result/2025-06-08 20-25/Terrain 0x0r8192x8192.jpg new file mode 100644 index 000000000..d7f9e6923 Binary files /dev/null and b/Assets/RWT_Result/2025-06-08 20-25/Terrain 0x0r8192x8192.jpg differ diff --git a/Assets/RWT_Result/2025-06-08 20-25/Terrain 0x0r8192x8192.jpg.meta b/Assets/RWT_Result/2025-06-08 20-25/Terrain 0x0r8192x8192.jpg.meta new file mode 100644 index 000000000..a3e56897e --- /dev/null +++ b/Assets/RWT_Result/2025-06-08 20-25/Terrain 0x0r8192x8192.jpg.meta @@ -0,0 +1,117 @@ +fileFormatVersion: 2 +guid: 86ff2a6ffa2a7c24ca813b3cba73e07b +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 8192 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RWT_Result/2025-06-08 20-25/Terrain 0x0r8192x8192.terrainlayer b/Assets/RWT_Result/2025-06-08 20-25/Terrain 0x0r8192x8192.terrainlayer new file mode 100644 index 000000000..06f70f415 --- /dev/null +++ b/Assets/RWT_Result/2025-06-08 20-25/Terrain 0x0r8192x8192.terrainlayer @@ -0,0 +1,23 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1953259897 &8574412962073106934 +TerrainLayer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Terrain 0x0r8192x8192 + m_DiffuseTexture: {fileID: 2800000, guid: 55fd0dac1bfd68945b80c62dcfa460e2, type: 3} + m_NormalMapTexture: {fileID: 0} + m_MaskMapTexture: {fileID: 0} + m_TileSize: {x: 1755, y: 1755} + m_TileOffset: {x: 0, y: 0} + m_Specular: {r: 0, g: 0, b: 0, a: 0} + m_Metallic: 0 + m_Smoothness: 0 + m_NormalScale: 1 + m_DiffuseRemapMin: {x: 0, y: 0, z: 0, w: 0} + m_DiffuseRemapMax: {x: 1, y: 1, z: 1, w: 1} + m_MaskMapRemapMin: {x: 0, y: 0, z: 0, w: 0} + m_MaskMapRemapMax: {x: 1, y: 1, z: 1, w: 1} + m_SmoothnessSource: 1 diff --git a/Assets/RWT_Result/2025-06-08 20-25/Terrain 0x0r8192x8192.terrainlayer.meta b/Assets/RWT_Result/2025-06-08 20-25/Terrain 0x0r8192x8192.terrainlayer.meta new file mode 100644 index 000000000..76246fb33 --- /dev/null +++ b/Assets/RWT_Result/2025-06-08 20-25/Terrain 0x0r8192x8192.terrainlayer.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a3595de97db620c4595e455298892428 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 8574412962073106934 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RWT_Result/2025-06-08 22-24.meta b/Assets/RWT_Result/2025-06-08 22-24.meta new file mode 100644 index 000000000..9c66978a5 --- /dev/null +++ b/Assets/RWT_Result/2025-06-08 22-24.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f8d9a7e1939124c43aea5260927de994 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RWT_Result/2025-06-08 22-24/Terrain 0x0.asset b/Assets/RWT_Result/2025-06-08 22-24/Terrain 0x0.asset new file mode 100644 index 000000000..7058cdc91 Binary files /dev/null and b/Assets/RWT_Result/2025-06-08 22-24/Terrain 0x0.asset differ diff --git a/Assets/RWT_Result/2025-06-08 22-24/Terrain 0x0.asset.meta b/Assets/RWT_Result/2025-06-08 22-24/Terrain 0x0.asset.meta new file mode 100644 index 000000000..a22d294df --- /dev/null +++ b/Assets/RWT_Result/2025-06-08 22-24/Terrain 0x0.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 359f9e126954a0e43aaf7a7078354c18 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 15600000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RWT_Result/2025-06-08 22-24_1.meta b/Assets/RWT_Result/2025-06-08 22-24_1.meta new file mode 100644 index 000000000..61ff11d73 --- /dev/null +++ b/Assets/RWT_Result/2025-06-08 22-24_1.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9781af131a854da46ac6319f1257cf44 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RWT_Result/2025-06-08 22-24_1/Terrain 0x0.asset b/Assets/RWT_Result/2025-06-08 22-24_1/Terrain 0x0.asset new file mode 100644 index 000000000..3c49c5357 Binary files /dev/null and b/Assets/RWT_Result/2025-06-08 22-24_1/Terrain 0x0.asset differ diff --git a/Assets/RWT_Result/2025-06-08 22-24_1/Terrain 0x0.asset.meta b/Assets/RWT_Result/2025-06-08 22-24_1/Terrain 0x0.asset.meta new file mode 100644 index 000000000..47540f09e --- /dev/null +++ b/Assets/RWT_Result/2025-06-08 22-24_1/Terrain 0x0.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 18c93be9ef29a8643bf82fe38e662bb2 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 15600000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RWT_Result/2025-06-08 22-24_1/Terrain 0x0r8192x8192.jpg b/Assets/RWT_Result/2025-06-08 22-24_1/Terrain 0x0r8192x8192.jpg new file mode 100644 index 000000000..d7f9e6923 Binary files /dev/null and b/Assets/RWT_Result/2025-06-08 22-24_1/Terrain 0x0r8192x8192.jpg differ diff --git a/Assets/RWT_Result/2025-06-08 22-24_1/Terrain 0x0r8192x8192.jpg.meta b/Assets/RWT_Result/2025-06-08 22-24_1/Terrain 0x0r8192x8192.jpg.meta new file mode 100644 index 000000000..c0a4c17c7 --- /dev/null +++ b/Assets/RWT_Result/2025-06-08 22-24_1/Terrain 0x0r8192x8192.jpg.meta @@ -0,0 +1,117 @@ +fileFormatVersion: 2 +guid: d126fdc5724ee384b922a1329d4593be +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 8192 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/RWT_Result/2025-06-08 22-24_1/Terrain 0x0r8192x8192.terrainlayer b/Assets/RWT_Result/2025-06-08 22-24_1/Terrain 0x0r8192x8192.terrainlayer new file mode 100644 index 000000000..8cf88cf6d --- /dev/null +++ b/Assets/RWT_Result/2025-06-08 22-24_1/Terrain 0x0r8192x8192.terrainlayer @@ -0,0 +1,23 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1953259897 &8574412962073106934 +TerrainLayer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Terrain 0x0r8192x8192 + m_DiffuseTexture: {fileID: 2800000, guid: 55fd0dac1bfd68945b80c62dcfa460e2, type: 3} + m_NormalMapTexture: {fileID: 0} + m_MaskMapTexture: {fileID: 0} + m_TileSize: {x: 2048, y: 2048} + m_TileOffset: {x: 0, y: 0} + m_Specular: {r: 1, g: 1, b: 1, a: 0} + m_Metallic: 0 + m_Smoothness: 0 + m_NormalScale: 1 + m_DiffuseRemapMin: {x: 0, y: 0, z: 0, w: 0} + m_DiffuseRemapMax: {x: 1, y: 1, z: 1, w: 1} + m_MaskMapRemapMin: {x: 0, y: 0, z: 0, w: 0} + m_MaskMapRemapMax: {x: 1, y: 1, z: 1, w: 1} + m_SmoothnessSource: 1 diff --git a/Assets/RWT_Result/2025-06-08 22-24_1/Terrain 0x0r8192x8192.terrainlayer.meta b/Assets/RWT_Result/2025-06-08 22-24_1/Terrain 0x0r8192x8192.terrainlayer.meta new file mode 100644 index 000000000..355f70acd --- /dev/null +++ b/Assets/RWT_Result/2025-06-08 22-24_1/Terrain 0x0r8192x8192.terrainlayer.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bb647b32331ce594781c2a88d09ccdae +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 8574412962073106934 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ResRaw/Maps/Map2/Map2.unity b/Assets/ResRaw/Maps/Map2/Map2.unity index 0502c9544..69bb5798e 100644 --- a/Assets/ResRaw/Maps/Map2/Map2.unity +++ b/Assets/ResRaw/Maps/Map2/Map2.unity @@ -119,6 +119,99 @@ NavMeshSettings: debug: m_Flags: 0 m_NavMeshData: {fileID: 0} +--- !u!1 &136955242 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 136955246} + - component: {fileID: 136955244} + - component: {fileID: 136955245} + m_Layer: 0 + m_Name: Terrain 0x0 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 2147483646 + m_IsActive: 1 +--- !u!218 &136955244 +Terrain: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 136955242} + m_Enabled: 1 + serializedVersion: 6 + m_TerrainData: {fileID: 15600000, guid: 18c93be9ef29a8643bf82fe38e662bb2, type: 2} + m_TreeDistance: 5000 + m_TreeBillboardDistance: 50 + m_TreeCrossFadeLength: 5 + m_TreeMaximumFullLODCount: 50 + m_DetailObjectDistance: 80 + m_DetailObjectDensity: 1 + m_HeightmapPixelError: 5 + m_SplatMapDistance: 1000 + m_HeightmapMinimumLODSimplification: 0 + m_HeightmapMaximumLOD: 0 + m_ShadowCastingMode: 2 + m_DrawHeightmap: 1 + m_DrawInstanced: 0 + m_DrawTreesAndFoliage: 1 + m_StaticShadowCaster: 0 + m_IgnoreQualitySettings: 0 + m_ReflectionProbeUsage: 1 + m_MaterialTemplate: {fileID: 2100000, guid: 594ea882c5a793440b60ff72d896021e, type: 2} + m_BakeLightProbesForTrees: 1 + m_PreserveTreePrototypeLayers: 0 + m_DeringLightProbesForTrees: 1 + m_ReceiveGI: 1 + m_ScaleInLightmap: 0.014586895 + m_LightmapParameters: {fileID: 15203, guid: 0000000000000000f000000000000000, type: 0} + m_GroupingID: 0 + m_RenderingLayerMask: 1 + m_AllowAutoConnect: 1 + m_EnableHeightmapRayTracing: 1 + m_EnableTreesAndDetailsRayTracing: 0 + m_TreeMotionVectorModeOverride: 3 +--- !u!154 &136955245 +TerrainCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 136955242} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 2 + m_TerrainData: {fileID: 15600000, guid: 18c93be9ef29a8643bf82fe38e662bb2, type: 2} + m_EnableTreeColliders: 1 +--- !u!4 &136955246 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 136955242} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &203844586 GameObject: m_ObjectHideFlags: 0 @@ -250,15 +343,15 @@ PrefabInstance: m_Modifications: - target: {fileID: 122145907186853384, guid: 19a881f61f55c7b458ad756d842865d1, type: 3} propertyPath: m_LocalPosition.x - value: 454 + value: 657 objectReference: {fileID: 0} - target: {fileID: 122145907186853384, guid: 19a881f61f55c7b458ad756d842865d1, type: 3} propertyPath: m_LocalPosition.y - value: 6.8 + value: 229 objectReference: {fileID: 0} - target: {fileID: 122145907186853384, guid: 19a881f61f55c7b458ad756d842865d1, type: 3} propertyPath: m_LocalPosition.z - value: 290 + value: 896.7 objectReference: {fileID: 0} - target: {fileID: 122145907186853384, guid: 19a881f61f55c7b458ad756d842865d1, type: 3} propertyPath: m_LocalRotation.w @@ -292,6 +385,10 @@ PrefabInstance: propertyPath: m_Name value: First Person Character objectReference: {fileID: 0} + - target: {fileID: 5594536337689157580, guid: 19a881f61f55c7b458ad756d842865d1, type: 3} + propertyPath: _maxWalkSpeed + value: 20 + objectReference: {fileID: 0} m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] @@ -300,99 +397,6 @@ PrefabInstance: insertIndex: -1 addedObject: {fileID: 2039038711} m_SourcePrefab: {fileID: 100100000, guid: 19a881f61f55c7b458ad756d842865d1, type: 3} ---- !u!1 &1701414852 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1701414855} - - component: {fileID: 1701414854} - - component: {fileID: 1701414853} - m_Layer: 0 - m_Name: Terrain - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 2147483647 - m_IsActive: 1 ---- !u!154 &1701414853 -TerrainCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1701414852} - m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_LayerOverridePriority: 0 - m_ProvidesContacts: 0 - m_Enabled: 1 - serializedVersion: 2 - m_TerrainData: {fileID: 15600000, guid: 33839f463ffb3f846a99cdcf848ac0a3, type: 2} - m_EnableTreeColliders: 1 ---- !u!218 &1701414854 -Terrain: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1701414852} - m_Enabled: 1 - serializedVersion: 6 - m_TerrainData: {fileID: 15600000, guid: 33839f463ffb3f846a99cdcf848ac0a3, type: 2} - m_TreeDistance: 5000 - m_TreeBillboardDistance: 50 - m_TreeCrossFadeLength: 5 - m_TreeMaximumFullLODCount: 50 - m_DetailObjectDistance: 80 - m_DetailObjectDensity: 1 - m_HeightmapPixelError: 5 - m_SplatMapDistance: 1000 - m_HeightmapMinimumLODSimplification: 0 - m_HeightmapMaximumLOD: 0 - m_ShadowCastingMode: 2 - m_DrawHeightmap: 1 - m_DrawInstanced: 0 - m_DrawTreesAndFoliage: 1 - m_StaticShadowCaster: 0 - m_IgnoreQualitySettings: 0 - m_ReflectionProbeUsage: 1 - m_MaterialTemplate: {fileID: 2100000, guid: 594ea882c5a793440b60ff72d896021e, type: 2} - m_BakeLightProbesForTrees: 1 - m_PreserveTreePrototypeLayers: 0 - m_DeringLightProbesForTrees: 1 - m_ReceiveGI: 1 - m_ScaleInLightmap: 0.0128 - m_LightmapParameters: {fileID: 15203, guid: 0000000000000000f000000000000000, type: 0} - m_GroupingID: 0 - m_RenderingLayerMask: 1 - m_AllowAutoConnect: 1 - m_EnableHeightmapRayTracing: 1 - m_EnableTreesAndDetailsRayTracing: 0 - m_TreeMotionVectorModeOverride: 3 ---- !u!4 &1701414855 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1701414852} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &2039038709 stripped GameObject: m_CorrespondingSourceObject: {fileID: 8661660546663394022, guid: 19a881f61f55c7b458ad756d842865d1, type: 3} @@ -448,4 +452,4 @@ SceneRoots: m_Roots: - {fileID: 203844589} - {fileID: 321633367} - - {fileID: 1701414855} + - {fileID: 136955246} diff --git a/Assets/ResRaw/MyTerrain.tif b/Assets/ResRaw/MyTerrain.tif new file mode 100644 index 000000000..75436d219 Binary files /dev/null and b/Assets/ResRaw/MyTerrain.tif differ diff --git a/Assets/ResRaw/MyTerrain.tif.meta b/Assets/ResRaw/MyTerrain.tif.meta new file mode 100644 index 000000000..d003398e0 --- /dev/null +++ b/Assets/ResRaw/MyTerrain.tif.meta @@ -0,0 +1,117 @@ +fileFormatVersion: 2 +guid: 1b98d37d79caa734db1ebdc964e724f2 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ResRaw/Water.prefab b/Assets/ResRaw/Water.prefab new file mode 100644 index 000000000..ffe1414aa --- /dev/null +++ b/Assets/ResRaw/Water.prefab @@ -0,0 +1,414 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1776748190289360303 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4319272419585333310} + - component: {fileID: 5461984374674978690} + - component: {fileID: 2874603258851532741} + - component: {fileID: 3389425227568990797} + m_Layer: 4 + m_Name: Underwater + m_TagString: Water + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4319272419585333310 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1776748190289360303} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 255, y: 0, z: 173} + m_LocalScale: {x: 600, y: 600, z: 600} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1785169862292216697} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &5461984374674978690 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1776748190289360303} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &2874603258851532741 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1776748190289360303} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!65 &3389425227568990797 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1776748190289360303} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 1 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: -0.5, z: 0} +--- !u!1 &3193593474664935463 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1785169862292216697} + - component: {fileID: 3618930616140263888} + m_Layer: 4 + m_Name: Water + m_TagString: Water + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1785169862292216697 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3193593474664935463} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 70.056625} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4319272419585333310} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &3618930616140263888 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3193593474664935463} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e64c239f69eea46778ded6dcc3427a34, type: 3} + m_Name: + m_EditorClassIdentifier: + _Version: 0 + _Camera: {fileID: 0} + _TimeProvider: {fileID: 0} + _OverrideRenderHDR: 0 + _RenderHDR: 1 + _WindSpeed: 10 + _OverrideGravity: 0 + _GravityOverride: -9.8 + _GravityMultiplier: 1 + _PrimaryLight: {fileID: 0} + _Layer: 4 + _Material: {fileID: 2100000, guid: 1911984e2b778d241869f62e89b400fe, type: 2} + _VolumeMaterial: {fileID: 0} + _ChunkTemplate: {fileID: 1516456258233481520, guid: e4b1708c3e7d90f4ab48ff0a501d57f4, type: 3} + _CastShadows: 0 + _WriteMotionVectors: 1 + _WriteToDepthTexture: 1 + _WaterBodyCulling: 1 + _TimeSliceBoundsUpdateFrameCount: 1 + _SurfaceSelfIntersectionFixMode: 4 + _AllowRenderQueueSorting: 0 + _ScaleRange: {x: 4, y: 256} + _DropDetailHeightBasedOnWaves: 0.2 + _Slices: 4 + _Resolution: 384 + _GeometryDownSampleFactor: 2 + _ExtentsSizeMultiplier: 100 + _Viewpoint: {fileID: 0} + _SampleTerrainHeightForScale: 1 + _ForceScaleChangeSmoothing: 0 + _TeleportThreshold: 10 + _AnimatedWavesLod: + rid: 1062761950144627027 + _DepthLod: + rid: 1062761950144627028 + _LevelLod: + rid: 1062761950144627029 + _FoamLod: + rid: 1062761950144627030 + _DynamicWavesLod: + rid: 1062761950144627031 + _FlowLod: + rid: 1062761950144627032 + _ShadowLod: + rid: 1062761950144627033 + _AbsorptionLod: + rid: 2430048271505293580 + _ScatteringLod: + rid: 2430048271505293581 + _ClipLod: + rid: 1062761950144627034 + _AlbedoLod: + rid: 1062761950144627035 + _Reflections: + rid: 1062761950144627036 + _Underwater: + rid: 1062761950144627037 + _Portals: + rid: 1062761950144627038 + _ShowWaterProxyPlane: 0 + _EditModeFrameRate: 30 + _FollowSceneCamera: 1 + _HeightQueries: 1 + _Debug: + _AttachDebugGUI: 0 + _ShowHiddenObjects: 0 + _DisableFollowViewpoint: 0 + _DestroyResourcesInOnDisable: 0 + _LogScaleChange: 0 + _PauseOnScaleChange: 0 + _IgnoreWavesForScaleChange: 0 + _ForceBatchMode: 0 + _ForceNoGraphics: 0 + _Resources: {fileID: 11400000, guid: 0817af17dea584e5382e6216db162d4a, type: 2} + references: + version: 2 + RefIds: + - rid: 1062761950144627027 + type: {class: AnimatedWavesLod, ns: WaveHarmonic.Crest, asm: WaveHarmonic.Crest} + data: + _Enabled: 1 + _OverrideResolution: 0 + _Resolution: 256 + _TextureFormatMode: 100 + _TextureFormat: 48 + _WaveResolutionMultiplier: 1 + _AttenuationInShallows: 0.95 + _ShallowsMaximumDepth: 1000 + _CollisionSource: 2 + _CollisionLayers: -1 + _MaximumQueryCount: 4096 + _BakedWaveData: {fileID: 0} + - rid: 1062761950144627028 + type: {class: DepthLod, ns: WaveHarmonic.Crest, asm: WaveHarmonic.Crest} + data: + _Enabled: 1 + _OverrideResolution: 1 + _Resolution: 256 + _TextureFormatMode: 100 + _TextureFormat: 46 + _EnableSignedDistanceFields: 1 + - rid: 1062761950144627029 + type: {class: LevelLod, ns: WaveHarmonic.Crest, asm: WaveHarmonic.Crest} + data: + _Enabled: 0 + _OverrideResolution: 0 + _Resolution: 256 + _TextureFormatMode: 300 + _TextureFormat: 45 + - rid: 1062761950144627030 + type: {class: FoamLod, ns: WaveHarmonic.Crest, asm: WaveHarmonic.Crest} + data: + _Enabled: 1 + _OverrideResolution: 1 + _Resolution: 256 + _TextureFormatMode: 100 + _TextureFormat: 45 + _SimulationFrequency: 30 + _Prewarm: 1 + _Settings: {fileID: 0} + - rid: 1062761950144627031 + type: {class: DynamicWavesLod, ns: WaveHarmonic.Crest, asm: WaveHarmonic.Crest} + data: + _Enabled: 1 + _OverrideResolution: 0 + _Resolution: 512 + _TextureFormatMode: 300 + _TextureFormat: 46 + _SimulationFrequency: 60 + _AttenuationInShallows: 1 + _Settings: {fileID: 0} + - rid: 1062761950144627032 + type: {class: FlowLod, ns: WaveHarmonic.Crest, asm: WaveHarmonic.Crest} + data: + _Enabled: 0 + _OverrideResolution: 1 + _Resolution: 128 + _TextureFormatMode: 100 + _TextureFormat: 46 + - rid: 1062761950144627033 + type: {class: ShadowLod, ns: WaveHarmonic.Crest, asm: WaveHarmonic.Crest} + data: + _Enabled: 1 + _OverrideResolution: 1 + _Resolution: 256 + _TextureFormatMode: 100 + _TextureFormat: 6 + _DynamicSoftShadows: 1 + _SoftJitterExtinctionFactor: 0.75 + _JitterDiameterSoft: 15 + _CurrentFrameWeightSoft: 0.03 + _JitterDiameterHard: 0.6 + _CurrentFrameWeightHard: 0.15 + _AllowNullLight: 0 + _AllowNoShadows: 0 + - rid: 1062761950144627034 + type: {class: ClipLod, ns: WaveHarmonic.Crest, asm: WaveHarmonic.Crest} + data: + _Enabled: 1 + _OverrideResolution: 1 + _Resolution: 256 + _TextureFormatMode: 100 + _TextureFormat: 5 + _DefaultClippingState: 0 + - rid: 1062761950144627035 + type: {class: AlbedoLod, ns: WaveHarmonic.Crest, asm: WaveHarmonic.Crest} + data: + _Enabled: 0 + _OverrideResolution: 1 + _Resolution: 768 + _TextureFormatMode: 100 + _TextureFormat: 8 + - rid: 1062761950144627036 + type: {class: WaterReflections, ns: WaveHarmonic.Crest, asm: WaveHarmonic.Crest} + data: + _Version: 0 + _Enabled: 1 + _Mode: 1 + _Layers: + serializedVersion: 2 + m_Bits: 1 + _Resolution: 1024 + _RenderOnlySingleCamera: 1 + _Sky: 1 + _DisablePixelLights: 1 + _DisableShadows: 1 + _HDR: 1 + _Stencil: 0 + _AllowMSAA: 0 + _QualitySettingsOverride: + _OverrideLodBias: 0 + _LodBias: 0.5 + _OverrideMaximumLodLevel: 0 + _MaximumLodLevel: 1 + _OverrideTerrainPixelError: 0 + _TerrainPixelError: 10 + _ClipPlaneOffset: 0 + _FarClipPlane: 1000 + _DisableOcclusionCulling: 1 + _RefreshPerFrames: 1 + _FrameRefreshOffset: 0 + _UseObliqueMatrix: 1 + _NonObliqueNearSurface: 0 + _NonObliqueNearSurfaceThreshold: 0.05 + _Debug: + _ShowHiddenObjects: 0 + _DisableRecursiveRendering: 0 + - rid: 1062761950144627037 + type: {class: UnderwaterRenderer, ns: WaveHarmonic.Crest, asm: WaveHarmonic.Crest} + data: + _Version: 0 + _Enabled: 1 + _Layer: 4 + _Material: {fileID: 2100000, guid: f2b096e4d95e646c49d48ece0afa0547, type: 2} + _EnvironmentalLightingEnable: 0 + _EnvironmentalLightingWeight: 1 + _EnvironmentalLightingVolumeProfile: {fileID: 0} + _EnableShaderAPI: 0 + _TransparentObjectLayers: + serializedVersion: 2 + m_Bits: 0 + _AllCameras: 0 + _CopyWaterMaterialParametersEachFrame: 1 + _FarPlaneMultiplier: 0.68 + _CullLimit: 0.001 + _Debug: + _VisualizeMask: 0 + _DisableMask: 0 + _VisualizeStencil: 0 + _DisableHeightAboveWaterOptimization: 0 + _DisableArtifactCorrection: 0 + _OnlyReflectionCameras: 0 + - rid: 1062761950144627038 + type: {class: PortalRenderer, ns: WaveHarmonic.Crest.Portals, asm: WaveHarmonic.Crest} + data: + - rid: 2430048271505293580 + type: {class: AbsorptionLod, ns: WaveHarmonic.Crest, asm: WaveHarmonic.Crest} + data: + _Enabled: 0 + _OverrideResolution: 1 + _Resolution: 256 + _TextureFormatMode: 200 + _TextureFormat: 23 + _ShorelineColorSource: 0 + _ShorelineColor: {r: 0.513, g: 1, b: 1, a: 0.153} + _ShorelineColorMaximumDistance: 10 + _ShorelineColorFalloff: 2 + - rid: 2430048271505293581 + type: {class: ScatteringLod, ns: WaveHarmonic.Crest, asm: WaveHarmonic.Crest} + data: + _Enabled: 0 + _OverrideResolution: 1 + _Resolution: 256 + _TextureFormatMode: 200 + _TextureFormat: 23 + _ShorelineColorSource: 0 + _ShorelineColor: {r: 0, g: 0.588, b: 1, a: 1} + _ShorelineColorMaximumDistance: 10 + _ShorelineColorFalloff: 2 diff --git a/Assets/ResRaw/Water.prefab.meta b/Assets/ResRaw/Water.prefab.meta new file mode 100644 index 000000000..f45e7b6a9 --- /dev/null +++ b/Assets/ResRaw/Water.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 3c81170e0ad412f4e96bd94d2647c910 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ResRaw/莲花池.png b/Assets/ResRaw/莲花池.png new file mode 100644 index 000000000..60c3f1c2d Binary files /dev/null and b/Assets/ResRaw/莲花池.png differ diff --git a/Assets/ResRaw/莲花池.png.meta b/Assets/ResRaw/莲花池.png.meta new file mode 100644 index 000000000..5359ffce6 --- /dev/null +++ b/Assets/ResRaw/莲花池.png.meta @@ -0,0 +1,117 @@ +fileFormatVersion: 2 +guid: 55fd0dac1bfd68945b80c62dcfa460e2 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Fonts/chs.meta b/Assets/Resources/Fonts/chs.meta new file mode 100644 index 000000000..e34bc69f5 --- /dev/null +++ b/Assets/Resources/Fonts/chs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a1729cbcb20e4c74f8072e75f4d9276b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/config/language.json b/Assets/Resources/config/language.json index 463b7af4e..81dbc2e52 100644 --- a/Assets/Resources/config/language.json +++ b/Assets/Resources/config/language.json @@ -3,51 +3,46 @@ { "key": "HOME_ICON_GROCERY", "en": "Store", - "chs": "杂货店" + "zh-CN": "杂货店" }, { "key": "HOME_ICON_QUEST", "en": "Mission", - "chs": "任务" + "zh-CN": "任务" }, { "key": "HOME_BUTTON_START", "en": "Start", - "chs": "开始旅程" + "zh-CN": "开始旅程" }, { "key": "HOME_PAGE_ALLIANCE", "en": "Clan", - "chs": "公会" + "zh-CN": "公会" } ], "languageFont": [ { - "key": "CarterOne", - "en": "1,CarterOne-Regular,en/CarterOne-Regular.ttf", - "chs": "1,SourceHanSansCN-Bold,chs/SourceHanSansCN-Bold.ttf" + "key": "AlibabaPuHuiTi-3-Bold", + "en": "1,AlibabaPuHuiTi-3-Bold,AlibabaSansEN-Bold", + "zh-CN": "1,AlibabaPuHuiTi-3-Bold,AlibabaPuHuiTi-3-Bold" }, { - "key": "CarterOnePro", - "en": "2,CarterOne-RegularPRO,en/CarterOne-RegularPRO.asset", - "chs": "2,SourceHanSansCN-BoldPro,chs/SourceHanSansCN-Bold.asset" + "key": "AlibabaPuHuiTi-3-Medium", + "en": "1,AlibabaPuHuiTi-3-Medium,AlibabaSansEN-Medium", + "zh-CN": "1,AlibabaPuHuiTi-3-Medium,AlibabaPuHuiTi-3-Medium" }, { - "key": "CarterTwo", - "en": "1,CarterTwo-Regular,en/CarterTwo-Regular.ttf", - "chs": "1,SourceHanSansCN-Bold2,chs/SourceHanSansCN-Bold.ttf" - }, - { - "key": "CarterTwoPro", - "en": "2,CarterTwo-RegularPRO,en/CarterTwo-RegularPRO.asset", - "chs": "2,SourceHanSansCN-Bold2Pro,chs/SourceHanSansCN-Bold.asset" + "key": "AlibabaPuHuiTi-3-Regular", + "en": "1,AlibabaPuHuiTi-3-Regular,AlibabaSansEN-Regular", + "zh-CN": "1,AlibabaPuHuiTi-3-Regular,AlibabaPuHuiTi-3-Regular" } ], "languageImage": [ { "key": "LoadingTitle", "en": "en/login_logo_fengbao.png", - "chs": "chs/login_logo.png" + "zh-CN": "chs/login_logo.png" } ] } \ No newline at end of file diff --git a/Assets/Scripts/NBC/Language/Runtime/Const/LanguageConst.cs b/Assets/Scripts/NBC/Language/Runtime/Const/LanguageConst.cs index c8ca0f271..cb541aa78 100644 --- a/Assets/Scripts/NBC/Language/Runtime/Const/LanguageConst.cs +++ b/Assets/Scripts/NBC/Language/Runtime/Const/LanguageConst.cs @@ -33,66 +33,66 @@ namespace NBC SystemLanguage.ChineseSimplified, new LanguageInfo() { Language = SystemLanguage.ChineseSimplified, Name = "简体中文", Code = "zh-CN" } }, - { - SystemLanguage.ChineseTraditional, - new LanguageInfo() { Language = SystemLanguage.ChineseTraditional, Name = "繁體中文", Code = "zh-TW" } - }, - { - SystemLanguage.Japanese, - new LanguageInfo() { Language = SystemLanguage.Japanese, Name = "日本語", Code = "ja" } - }, - { - SystemLanguage.Korean, - new LanguageInfo() { Language = SystemLanguage.Korean, Name = "한국어", Code = "ko" } - }, - { - SystemLanguage.Thai, - new LanguageInfo() { Language = SystemLanguage.Thai, Name = "ไทย", Code = "th" } - }, - { - SystemLanguage.Vietnamese, - new LanguageInfo() { Language = SystemLanguage.Vietnamese, Name = "Tiếng Việt", Code = "vi" } - }, - { - SystemLanguage.German, - new LanguageInfo() { Language = SystemLanguage.German, Name = "Deutsch", Code = "de" } - }, - { - SystemLanguage.French, - new LanguageInfo() { Language = SystemLanguage.French, Name = "Français", Code = "fr" } - }, - { - SystemLanguage.Russian, - new LanguageInfo() { Language = SystemLanguage.Russian, Name = "Русский", Code = "ru" } - }, - { - SystemLanguage.Spanish, - new LanguageInfo() { Language = SystemLanguage.Spanish, Name = "Español", Code = "es" } - }, - { - SystemLanguage.Portuguese, - new LanguageInfo() { Language = SystemLanguage.Portuguese, Name = "Português", Code = "pt" } - }, - { - SystemLanguage.Polish, - new LanguageInfo() { Language = SystemLanguage.Polish, Name = "Polski", Code = "pl" } - }, - { - SystemLanguage.Dutch, - new LanguageInfo() { Language = SystemLanguage.Dutch, Name = "Nederlands", Code = "nl" } - }, - { - SystemLanguage.Turkish, - new LanguageInfo() { Language = SystemLanguage.Turkish, Name = "Türkçe", Code = "tr" } - }, - { - SystemLanguage.Indonesian, - new LanguageInfo() { Language = SystemLanguage.Indonesian, Name = "Bahasa Indonesia", Code = "id" } - }, - { - SystemLanguage.Italian, - new LanguageInfo() { Language = SystemLanguage.Italian, Name = "Italiano", Code = "it" } - }, + // { + // SystemLanguage.ChineseTraditional, + // new LanguageInfo() { Language = SystemLanguage.ChineseTraditional, Name = "繁體中文", Code = "zh-TW" } + // }, + // { + // SystemLanguage.Japanese, + // new LanguageInfo() { Language = SystemLanguage.Japanese, Name = "日本語", Code = "ja" } + // }, + // { + // SystemLanguage.Korean, + // new LanguageInfo() { Language = SystemLanguage.Korean, Name = "한국어", Code = "ko" } + // }, + // { + // SystemLanguage.Thai, + // new LanguageInfo() { Language = SystemLanguage.Thai, Name = "ไทย", Code = "th" } + // }, + // { + // SystemLanguage.Vietnamese, + // new LanguageInfo() { Language = SystemLanguage.Vietnamese, Name = "Tiếng Việt", Code = "vi" } + // }, + // { + // SystemLanguage.German, + // new LanguageInfo() { Language = SystemLanguage.German, Name = "Deutsch", Code = "de" } + // }, + // { + // SystemLanguage.French, + // new LanguageInfo() { Language = SystemLanguage.French, Name = "Français", Code = "fr" } + // }, + // { + // SystemLanguage.Russian, + // new LanguageInfo() { Language = SystemLanguage.Russian, Name = "Русский", Code = "ru" } + // }, + // { + // SystemLanguage.Spanish, + // new LanguageInfo() { Language = SystemLanguage.Spanish, Name = "Español", Code = "es" } + // }, + // { + // SystemLanguage.Portuguese, + // new LanguageInfo() { Language = SystemLanguage.Portuguese, Name = "Português", Code = "pt" } + // }, + // { + // SystemLanguage.Polish, + // new LanguageInfo() { Language = SystemLanguage.Polish, Name = "Polski", Code = "pl" } + // }, + // { + // SystemLanguage.Dutch, + // new LanguageInfo() { Language = SystemLanguage.Dutch, Name = "Nederlands", Code = "nl" } + // }, + // { + // SystemLanguage.Turkish, + // new LanguageInfo() { Language = SystemLanguage.Turkish, Name = "Türkçe", Code = "tr" } + // }, + // { + // SystemLanguage.Indonesian, + // new LanguageInfo() { Language = SystemLanguage.Indonesian, Name = "Bahasa Indonesia", Code = "id" } + // }, + // { + // SystemLanguage.Italian, + // new LanguageInfo() { Language = SystemLanguage.Italian, Name = "Italiano", Code = "it" } + // }, }; } } \ No newline at end of file diff --git a/Assets/Scripts/NBC/Language/Runtime/LanguageConcrete/LanguageFont.cs b/Assets/Scripts/NBC/Language/Runtime/LanguageConcrete/LanguageFont.cs index 33365241b..4ca8cf205 100644 --- a/Assets/Scripts/NBC/Language/Runtime/LanguageConcrete/LanguageFont.cs +++ b/Assets/Scripts/NBC/Language/Runtime/LanguageConcrete/LanguageFont.cs @@ -31,7 +31,7 @@ namespace NBC public void AddLanguage(SystemLanguage language) { var configDic = Lan.Inst.GetLanguageFontConfig(LanguageConst.languageMap[language]); - string fontLocation = "Assets/Resources/Fonts/"; + string fontLocation = "Fonts/";//"Assets/Resources/Fonts/"; //字体使用前需要先注册 foreach (var config in configDic.Values) { @@ -39,6 +39,7 @@ namespace NBC { DynamicFont font = new DynamicFont(); font.name = config.Name; + var nmsl = Resources.Load(fontLocation + config.RelativePath); font.nativeFont = Resources.Load(fontLocation + config.RelativePath); FontManager.RegisterFont(font); } diff --git a/Assets/Scripts/Startup/App.cs b/Assets/Scripts/Startup/App.cs index 126c71351..3ca6002d1 100644 --- a/Assets/Scripts/Startup/App.cs +++ b/Assets/Scripts/Startup/App.cs @@ -72,12 +72,12 @@ namespace NBF Lan.Inst.AddLanguageModule((int)LanguageModuleType.Text, new LanguageText()); Lan.Inst.AddLanguageModule((int)LanguageModuleType.Image, new LanguageImage()); Lan.Inst.AddLanguageModule((int)LanguageModuleType.Font, new LanguageFont()); - + foreach (var key in LanguageConst.languageMap.Keys) { Lan.Inst.AddLanguage(key); } - + UI.Inst.SetUILanguage(); Lan.Inst.AutoUseLanguage(); } @@ -138,8 +138,8 @@ namespace NBF // UI.Inst.OpenUI(); LoadData(); UI.Inst.OpenUI(); - UI.Inst.OpenUI(); - // Fishing.Inst.Go(1); + // UI.Inst.OpenUI(); + Fishing.Inst.Go(1); // UI.Inst.OpenUI(); // UI.Inst.OpenUI(); } diff --git a/Assets/StreamingAssets.meta b/Assets/StreamingAssets.meta new file mode 100644 index 000000000..740a99800 --- /dev/null +++ b/Assets/StreamingAssets.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1d8159621c6e5554da6a5ef6e9326f03 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_TerrainAutoUpgrade/layer_Terrain 0x0r4096x40961f7f58b4d8dbf62d.terrainlayer b/Assets/_TerrainAutoUpgrade/layer_Terrain 0x0r4096x40961f7f58b4d8dbf62d.terrainlayer new file mode 100644 index 000000000..f9debb9f0 --- /dev/null +++ b/Assets/_TerrainAutoUpgrade/layer_Terrain 0x0r4096x40961f7f58b4d8dbf62d.terrainlayer @@ -0,0 +1,23 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1953259897 &8574412962073106934 +TerrainLayer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: layer_Terrain 0x0r4096x40961f7f58b4d8dbf62d + m_DiffuseTexture: {fileID: 2800000, guid: 3893a5a95789ef448ae1ec9e900b1577, type: 3} + m_NormalMapTexture: {fileID: 0} + m_MaskMapTexture: {fileID: 0} + m_TileSize: {x: 20837, y: 20959} + m_TileOffset: {x: 0, y: 0} + m_Specular: {r: 0, g: 0, b: 0, a: 0} + m_Metallic: 0 + m_Smoothness: 0 + m_NormalScale: 1 + m_DiffuseRemapMin: {x: 0, y: 0, z: 0, w: 0} + m_DiffuseRemapMax: {x: 1, y: 1, z: 1, w: 1} + m_MaskMapRemapMin: {x: 0, y: 0, z: 0, w: 0} + m_MaskMapRemapMax: {x: 1, y: 1, z: 1, w: 1} + m_SmoothnessSource: 1 diff --git a/Assets/_TerrainAutoUpgrade/layer_Terrain 0x0r4096x40961f7f58b4d8dbf62d.terrainlayer.meta b/Assets/_TerrainAutoUpgrade/layer_Terrain 0x0r4096x40961f7f58b4d8dbf62d.terrainlayer.meta new file mode 100644 index 000000000..3bd7e36e8 --- /dev/null +++ b/Assets/_TerrainAutoUpgrade/layer_Terrain 0x0r4096x40961f7f58b4d8dbf62d.terrainlayer.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3ecf87f948e2e3c49bbb53342290c7f2 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 8574412962073106934 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_TerrainAutoUpgrade/layer_Terrain 0x0r4096x4096391b1ea8121eb274.terrainlayer b/Assets/_TerrainAutoUpgrade/layer_Terrain 0x0r4096x4096391b1ea8121eb274.terrainlayer new file mode 100644 index 000000000..044f2eddf --- /dev/null +++ b/Assets/_TerrainAutoUpgrade/layer_Terrain 0x0r4096x4096391b1ea8121eb274.terrainlayer @@ -0,0 +1,23 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1953259897 &8574412962073106934 +TerrainLayer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: layer_Terrain 0x0r4096x4096391b1ea8121eb274 + m_DiffuseTexture: {fileID: 2800000, guid: e27b50ec4762bc043974a36e4a1175c0, type: 3} + m_NormalMapTexture: {fileID: 0} + m_MaskMapTexture: {fileID: 0} + m_TileSize: {x: 9821, y: 7492} + m_TileOffset: {x: 0, y: 0} + m_Specular: {r: 0, g: 0, b: 0, a: 0} + m_Metallic: 0 + m_Smoothness: 0 + m_NormalScale: 1 + m_DiffuseRemapMin: {x: 0, y: 0, z: 0, w: 0} + m_DiffuseRemapMax: {x: 1, y: 1, z: 1, w: 1} + m_MaskMapRemapMin: {x: 0, y: 0, z: 0, w: 0} + m_MaskMapRemapMax: {x: 1, y: 1, z: 1, w: 1} + m_SmoothnessSource: 1 diff --git a/Assets/_TerrainAutoUpgrade/layer_Terrain 0x0r4096x4096391b1ea8121eb274.terrainlayer.meta b/Assets/_TerrainAutoUpgrade/layer_Terrain 0x0r4096x4096391b1ea8121eb274.terrainlayer.meta new file mode 100644 index 000000000..a0fc75da1 --- /dev/null +++ b/Assets/_TerrainAutoUpgrade/layer_Terrain 0x0r4096x4096391b1ea8121eb274.terrainlayer.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3ee8a1cfd58ab5e43a59b382fa713cb9 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 8574412962073106934 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Config/language/Language.xlsx b/Config/language/Language.xlsx index ea28ea195..58b327008 100644 Binary files a/Config/language/Language.xlsx and b/Config/language/Language.xlsx differ diff --git a/Config/language/LanguageFont.xlsx b/Config/language/LanguageFont.xlsx index 2c6b904de..6592ca8c3 100644 Binary files a/Config/language/LanguageFont.xlsx and b/Config/language/LanguageFont.xlsx differ diff --git a/Config/language/LanguageImage.xlsx b/Config/language/LanguageImage.xlsx index 409d664e3..273f61ccc 100644 Binary files a/Config/language/LanguageImage.xlsx and b/Config/language/LanguageImage.xlsx differ diff --git a/Fishing2.sln.DotSettings.user b/Fishing2.sln.DotSettings.user index 2879d8a20..8436fe5a9 100644 --- a/Fishing2.sln.DotSettings.user +++ b/Fishing2.sln.DotSettings.user @@ -1,4 +1,5 @@  + False ForceIncluded ForceIncluded ForceIncluded diff --git a/Packages/com.waveharmonic.crest/Runtime/Materials/Water Volume.mat b/Packages/com.waveharmonic.crest/Runtime/Materials/Water Volume.mat index 7a3f79a0c..702988ce5 100644 --- a/Packages/com.waveharmonic.crest/Runtime/Materials/Water Volume.mat +++ b/Packages/com.waveharmonic.crest/Runtime/Materials/Water Volume.mat @@ -12,7 +12,6 @@ Material: m_Parent: {fileID: 0} m_ModifiedSerializedProperties: 0 m_ValidKeywords: - - _FULL_SCREEN_EFFECT - d_Dithering - d_Meniscus m_InvalidKeywords: diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json index 9ba75c0a6..fc863eaec 100644 --- a/Packages/packages-lock.json +++ b/Packages/packages-lock.json @@ -140,65 +140,6 @@ "com.jbooth.microsplat.core": "3.9.0" } }, - "com.jbooth.microverse": { - "version": "file:com.jbooth.microverse", - "depth": 0, - "source": "embedded", - "dependencies": { - "com.unity.mathematics": "1.2.6", - "com.unity.burst": "1.6.6", - "com.unity.collections": "1.4.0" - } - }, - "com.jbooth.microverse.ambiance": { - "version": "file:com.jbooth.microverse.ambiance", - "depth": 0, - "source": "embedded", - "dependencies": {} - }, - "com.jbooth.microverse.demo": { - "version": "file:com.jbooth.microverse.demo", - "depth": 0, - "source": "embedded", - "dependencies": {} - }, - "com.jbooth.microverse.objects": { - "version": "file:com.jbooth.microverse.objects", - "depth": 0, - "source": "embedded", - "dependencies": {} - }, - "com.jbooth.microverse.roads": { - "version": "file:com.jbooth.microverse.roads", - "depth": 0, - "source": "embedded", - "dependencies": { - "com.unity.splines": "2.3.0", - "com.unity.collections": "1.4.0", - "com.unity.mathematics": "1.2.6", - "com.unity.burst": "1.6.6" - } - }, - "com.jbooth.microverse.roads.demo": { - "version": "file:com.jbooth.microverse.roads.demo", - "depth": 0, - "source": "embedded", - "dependencies": {} - }, - "com.jbooth.microverse.splines": { - "version": "file:com.jbooth.microverse.splines", - "depth": 0, - "source": "embedded", - "dependencies": { - "com.unity.splines": "2.3.0" - } - }, - "com.jbooth.microverse.vegetation": { - "version": "file:com.jbooth.microverse.vegetation", - "depth": 0, - "source": "embedded", - "dependencies": {} - }, "com.unity.2d.sprite": { "version": "1.0.0", "depth": 0, @@ -216,7 +157,7 @@ }, "com.unity.burst": { "version": "1.8.21", - "depth": 1, + "depth": 2, "source": "registry", "dependencies": { "com.unity.mathematics": "1.2.1", @@ -233,7 +174,7 @@ }, "com.unity.collections": { "version": "2.5.1", - "depth": 1, + "depth": 2, "source": "registry", "dependencies": { "com.unity.burst": "1.8.17", @@ -285,7 +226,7 @@ }, "com.unity.mathematics": { "version": "1.3.2", - "depth": 1, + "depth": 2, "source": "registry", "dependencies": {}, "url": "https://packages.unity.com" @@ -300,7 +241,7 @@ }, "com.unity.nuget.mono-cecil": { "version": "1.11.4", - "depth": 2, + "depth": 3, "source": "registry", "dependencies": {}, "url": "https://packages.unity.com" @@ -393,13 +334,6 @@ "dependencies": {}, "url": "https://packages.unity.com" }, - "com.unity.settings-manager": { - "version": "2.1.0", - "depth": 2, - "source": "registry", - "dependencies": {}, - "url": "https://packages.unity.com" - }, "com.unity.shadergraph": { "version": "17.0.4", "depth": 0, @@ -409,17 +343,6 @@ "com.unity.searcher": "4.9.3" } }, - "com.unity.splines": { - "version": "2.8.0", - "depth": 1, - "source": "registry", - "dependencies": { - "com.unity.mathematics": "1.2.1", - "com.unity.modules.imgui": "1.0.0", - "com.unity.settings-manager": "1.0.3" - }, - "url": "https://packages.unity.com" - }, "com.unity.terrain-tools": { "version": "5.2.1", "depth": 0, @@ -442,7 +365,7 @@ }, "com.unity.test-framework.performance": { "version": "3.1.0", - "depth": 2, + "depth": 3, "source": "registry", "dependencies": { "com.unity.test-framework": "1.1.33", diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset index 2fd4b36c3..f8515c3e9 100644 --- a/ProjectSettings/ProjectSettings.asset +++ b/ProjectSettings/ProjectSettings.asset @@ -817,25 +817,25 @@ PlayerSettings: webGLCloseOnQuit: 0 webWasm2023: 0 scriptingDefineSymbols: - Android: OBI_ONI_SUPPORTED;TextMeshPro;UNITY_VISUAL_SCRIPTING;ES3_TMPRO;ES3_UGUI;ENVIRO_3;ENVIRO_URP;UNITY_POST_PROCESSING_STACK_V2 - EmbeddedLinux: TextMeshPro;UNITY_VISUAL_SCRIPTING;ES3_TMPRO;ES3_UGUI;ENVIRO_3;ENVIRO_URP;UNITY_POST_PROCESSING_STACK_V2 - GameCoreScarlett: TextMeshPro;ENVIRO_3;ENVIRO_URP;UNITY_POST_PROCESSING_STACK_V2 - GameCoreXboxOne: TextMeshPro;ENVIRO_3;ENVIRO_URP;UNITY_POST_PROCESSING_STACK_V2 - Kepler: TextMeshPro;ENVIRO_3;ENVIRO_URP;UNITY_POST_PROCESSING_STACK_V2 - LinuxHeadlessSimulation: TextMeshPro;UNITY_VISUAL_SCRIPTING;ES3_TMPRO;ES3_UGUI;ENVIRO_3;ENVIRO_URP;UNITY_POST_PROCESSING_STACK_V2 - Nintendo Switch: TextMeshPro;UNITY_VISUAL_SCRIPTING;ES3_TMPRO;ES3_UGUI;ENVIRO_3;ENVIRO_URP;UNITY_POST_PROCESSING_STACK_V2 - PS4: TextMeshPro;UNITY_VISUAL_SCRIPTING;ES3_TMPRO;ES3_UGUI;ENVIRO_3;ENVIRO_URP;UNITY_POST_PROCESSING_STACK_V2 - PS5: TextMeshPro;UNITY_VISUAL_SCRIPTING;ES3_TMPRO;ES3_UGUI;ENVIRO_3;ENVIRO_URP;UNITY_POST_PROCESSING_STACK_V2 - QNX: TextMeshPro;UNITY_VISUAL_SCRIPTING;ES3_TMPRO;ES3_UGUI;ENVIRO_3;ENVIRO_URP;UNITY_POST_PROCESSING_STACK_V2 - ReservedCFE: TextMeshPro;ENVIRO_3;ENVIRO_URP;UNITY_POST_PROCESSING_STACK_V2 + Android: OBI_ONI_SUPPORTED;TextMeshPro;UNITY_VISUAL_SCRIPTING;ES3_TMPRO;ES3_UGUI;ENVIRO_3;ENVIRO_URP;UNITY_POST_PROCESSING_STACK_V2;DotSpatial + EmbeddedLinux: TextMeshPro;UNITY_VISUAL_SCRIPTING;ES3_TMPRO;ES3_UGUI;ENVIRO_3;ENVIRO_URP;UNITY_POST_PROCESSING_STACK_V2;DotSpatial + GameCoreScarlett: TextMeshPro;ENVIRO_3;ENVIRO_URP;UNITY_POST_PROCESSING_STACK_V2;DotSpatial + GameCoreXboxOne: TextMeshPro;ENVIRO_3;ENVIRO_URP;UNITY_POST_PROCESSING_STACK_V2;DotSpatial + Kepler: TextMeshPro;ENVIRO_3;ENVIRO_URP;UNITY_POST_PROCESSING_STACK_V2;DotSpatial + LinuxHeadlessSimulation: TextMeshPro;UNITY_VISUAL_SCRIPTING;ES3_TMPRO;ES3_UGUI;ENVIRO_3;ENVIRO_URP;UNITY_POST_PROCESSING_STACK_V2;DotSpatial + Nintendo Switch: TextMeshPro;UNITY_VISUAL_SCRIPTING;ES3_TMPRO;ES3_UGUI;ENVIRO_3;ENVIRO_URP;UNITY_POST_PROCESSING_STACK_V2;DotSpatial + PS4: TextMeshPro;UNITY_VISUAL_SCRIPTING;ES3_TMPRO;ES3_UGUI;ENVIRO_3;ENVIRO_URP;UNITY_POST_PROCESSING_STACK_V2;DotSpatial + PS5: TextMeshPro;UNITY_VISUAL_SCRIPTING;ES3_TMPRO;ES3_UGUI;ENVIRO_3;ENVIRO_URP;UNITY_POST_PROCESSING_STACK_V2;DotSpatial + QNX: TextMeshPro;UNITY_VISUAL_SCRIPTING;ES3_TMPRO;ES3_UGUI;ENVIRO_3;ENVIRO_URP;UNITY_POST_PROCESSING_STACK_V2;DotSpatial + ReservedCFE: TextMeshPro;ENVIRO_3;ENVIRO_URP;UNITY_POST_PROCESSING_STACK_V2;DotSpatial Server: UNITY_VISUAL_SCRIPTING;ES3_TMPRO;ES3_UGUI - Standalone: FAIRYGUI_TMPRO;OBI_ONI_SUPPORTED;TextMeshPro;UNITY_VISUAL_SCRIPTING;ES3_TMPRO;ES3_UGUI;STEAMWORKS_NET;ENVIRO_3;ENVIRO_URP;VLB_URP;ODIN_INSPECTOR;ODIN_INSPECTOR_3;ODIN_INSPECTOR_3_1;ODIN_INSPECTOR_3_2;ODIN_INSPECTOR_3_3;UPPipeline;__MICROSPLAT__;__MICROSPLAT_SNOW__;__MICROSPLAT_ALPHAHOLE__;__MICROSPLAT_MESH__;__MICROSPLAT_STREAMS__;__MICROSPLAT_GLOBALTEXTURE__;__MICROSPLAT_TRAX__;__MICROSPLAT_DECAL__;__MICROSPLAT_SCATTER__;__MICROSPLAT_TEXTURECLUSTERS__;__MICROSPLAT_MESHTERRAIN__;__MICROSPLAT_DETAILRESAMPLE__;__MICROSPLAT_TERRAINBLEND__;__MICROSPLAT_TESSELLATION__;__MICROSPLAT_WINDGLITTER__;__MICROSPLAT_LOWPOLY__;__MICROSPLAT_OBJECTSHADER__;__MICROSPLAT_PROCTEX__;__MICROSPLAT_TRIPLANAR__;__MICROSPLAT_MICROVERSEPREVIEW__;UNITY_POST_PROCESSING_STACK_V2 - VisionOS: TextMeshPro;UNITY_VISUAL_SCRIPTING;ES3_TMPRO;ES3_UGUI;ENVIRO_3;ENVIRO_URP;UNITY_POST_PROCESSING_STACK_V2 - WebGL: TextMeshPro;UNITY_VISUAL_SCRIPTING;ES3_TMPRO;ES3_UGUI;ENVIRO_3;ENVIRO_URP;UNITY_POST_PROCESSING_STACK_V2 - Windows Store Apps: UNITY_VISUAL_SCRIPTING;ES3_TMPRO;ES3_UGUI - XboxOne: TextMeshPro;UNITY_VISUAL_SCRIPTING;ES3_TMPRO;ES3_UGUI;ENVIRO_3;ENVIRO_URP;UNITY_POST_PROCESSING_STACK_V2 - iPhone: OBI_ONI_SUPPORTED;TextMeshPro;UNITY_VISUAL_SCRIPTING;ES3_TMPRO;ES3_UGUI - tvOS: TextMeshPro;UNITY_VISUAL_SCRIPTING;ES3_TMPRO;ES3_UGUI;ENVIRO_3;ENVIRO_URP;UNITY_POST_PROCESSING_STACK_V2 + Standalone: FAIRYGUI_TMPRO;OBI_ONI_SUPPORTED;TextMeshPro;UNITY_VISUAL_SCRIPTING;ES3_TMPRO;ES3_UGUI;STEAMWORKS_NET;ENVIRO_3;ENVIRO_URP;VLB_URP;ODIN_INSPECTOR;ODIN_INSPECTOR_3;ODIN_INSPECTOR_3_1;ODIN_INSPECTOR_3_2;ODIN_INSPECTOR_3_3;UPPipeline;__MICROSPLAT__;__MICROSPLAT_SNOW__;__MICROSPLAT_ALPHAHOLE__;__MICROSPLAT_MESH__;__MICROSPLAT_STREAMS__;__MICROSPLAT_GLOBALTEXTURE__;__MICROSPLAT_TRAX__;__MICROSPLAT_DECAL__;__MICROSPLAT_SCATTER__;__MICROSPLAT_TEXTURECLUSTERS__;__MICROSPLAT_MESHTERRAIN__;__MICROSPLAT_DETAILRESAMPLE__;__MICROSPLAT_TERRAINBLEND__;__MICROSPLAT_TESSELLATION__;__MICROSPLAT_WINDGLITTER__;__MICROSPLAT_LOWPOLY__;__MICROSPLAT_OBJECTSHADER__;__MICROSPLAT_PROCTEX__;__MICROSPLAT_TRIPLANAR__;__MICROSPLAT_MICROVERSEPREVIEW__;UNITY_POST_PROCESSING_STACK_V2;DotSpatial + VisionOS: TextMeshPro;UNITY_VISUAL_SCRIPTING;ES3_TMPRO;ES3_UGUI;ENVIRO_3;ENVIRO_URP;UNITY_POST_PROCESSING_STACK_V2;DotSpatial + WebGL: TextMeshPro;UNITY_VISUAL_SCRIPTING;ES3_TMPRO;ES3_UGUI;ENVIRO_3;ENVIRO_URP;UNITY_POST_PROCESSING_STACK_V2;DotSpatial + Windows Store Apps: UNITY_VISUAL_SCRIPTING;ES3_TMPRO;ES3_UGUI;DotSpatial + XboxOne: TextMeshPro;UNITY_VISUAL_SCRIPTING;ES3_TMPRO;ES3_UGUI;ENVIRO_3;ENVIRO_URP;UNITY_POST_PROCESSING_STACK_V2;DotSpatial + iPhone: OBI_ONI_SUPPORTED;TextMeshPro;UNITY_VISUAL_SCRIPTING;ES3_TMPRO;ES3_UGUI;DotSpatial + tvOS: TextMeshPro;UNITY_VISUAL_SCRIPTING;ES3_TMPRO;ES3_UGUI;ENVIRO_3;ENVIRO_URP;UNITY_POST_PROCESSING_STACK_V2;DotSpatial additionalCompilerArguments: {} platformArchitecture: {} scriptingBackend: diff --git a/RWT_Cache/Heightmaps/14x13208x6834.pngraw b/RWT_Cache/Heightmaps/14x13208x6834.pngraw new file mode 100644 index 000000000..6f1d3c2fd Binary files /dev/null and b/RWT_Cache/Heightmaps/14x13208x6834.pngraw differ diff --git a/RWT_Cache/Heightmaps/14x13208x6835.pngraw b/RWT_Cache/Heightmaps/14x13208x6835.pngraw new file mode 100644 index 000000000..de6b5bbea Binary files /dev/null and b/RWT_Cache/Heightmaps/14x13208x6835.pngraw differ diff --git a/RWT_Cache/History/3638e4ff-bb48-48f9-aa26-a0f2d279f013.xml b/RWT_Cache/History/3638e4ff-bb48-48f9-aa26-a0f2d279f013.xml new file mode 100644 index 000000000..a62f32999 --- /dev/null +++ b/RWT_Cache/History/3638e4ff-bb48-48f9-aa26-a0f2d279f013.xml @@ -0,0 +1 @@ +110.215080921346110.23589809147628.570299558411328.5540148057677False00FalseFalseFalseFalseTrueFalse110followRealWorldData3.5517500TrueTrueFalsenoneFalsefull00True100removeOutsidePointsTrueTrue1True-1simpleFalse1001002048False409602048MapboxautoDetectrealWorld5006005001024False4097False10000autoDetect0Windows10241024RAW16terrain0111texture204813130True11jpg100virtualEarth81928192FalseregularTexturesatellite0016100 \ No newline at end of file diff --git a/RWT_Cache/History/441d79eb-38d9-495e-8154-253bb9e67540.xml b/RWT_Cache/History/441d79eb-38d9-495e-8154-253bb9e67540.xml new file mode 100644 index 000000000..a62f32999 --- /dev/null +++ b/RWT_Cache/History/441d79eb-38d9-495e-8154-253bb9e67540.xml @@ -0,0 +1 @@ +110.215080921346110.23589809147628.570299558411328.5540148057677False00FalseFalseFalseFalseTrueFalse110followRealWorldData3.5517500TrueTrueFalsenoneFalsefull00True100removeOutsidePointsTrueTrue1True-1simpleFalse1001002048False409602048MapboxautoDetectrealWorld5006005001024False4097False10000autoDetect0Windows10241024RAW16terrain0111texture204813130True11jpg100virtualEarth81928192FalseregularTexturesatellite0016100 \ No newline at end of file diff --git a/RWT_Cache/History/875b0667-30bc-46ba-b3b1-35a189852f99.xml b/RWT_Cache/History/875b0667-30bc-46ba-b3b1-35a189852f99.xml new file mode 100644 index 000000000..029d69556 --- /dev/null +++ b/RWT_Cache/History/875b0667-30bc-46ba-b3b1-35a189852f99.xml @@ -0,0 +1 @@ +110.216266353617110.234232659328.569119361873928.5533394354234False00FalseFalseFalseFalseTrueFalse110followRealWorldData3.5517500TrueTrueFalsenoneFalsefull00True100removeOutsidePointsTrueTrue1True-1simpleFalse1001002048False409602048MapboxautoDetectrealWorld5006005001024False4097False10000autoDetect0Windows10241024RAW16terrain0111texture204813130True11jpg100virtualEarth81928192FalseregularTexturesatellite0016100 \ No newline at end of file diff --git a/RWT_Cache/History/8ea4a34b-c8f4-4761-9de3-9658bfb39403.xml b/RWT_Cache/History/8ea4a34b-c8f4-4761-9de3-9658bfb39403.xml new file mode 100644 index 000000000..1d033702c --- /dev/null +++ b/RWT_Cache/History/8ea4a34b-c8f4-4761-9de3-9658bfb39403.xml @@ -0,0 +1 @@ +110.215081591898110.23589876202928.570298969511628.5540142167768False00FalseFalseFalseFalseFalseFalse110followRealWorldData3.5517500TrueTrueFalsenoneFalsefull00True<![CDATA[]]>100removeOutsidePointsTrueTrue1True-1simpleFalse1001002048False409602048MapboxautoDetectrealWorld5006005001024False4097False10000autoDetect0Windows10241024RAW16terrain0111texture204813130True11png100virtualEarth40964096FalseregularTexturesatellite0016100 \ No newline at end of file diff --git a/RWT_Cache/History/9fbbe7f4-3ae1-4256-ad71-45a79e25fac1.xml b/RWT_Cache/History/9fbbe7f4-3ae1-4256-ad71-45a79e25fac1.xml new file mode 100644 index 000000000..d8a1eb017 --- /dev/null +++ b/RWT_Cache/History/9fbbe7f4-3ae1-4256-ad71-45a79e25fac1.xml @@ -0,0 +1 @@ +110.215080921346110.23589809147628.570299558411328.5540148057677False00FalseFalseFalseFalseTrueFalse110followRealWorldData3.5517500TrueTrueFalsenoneFalsefull00True100removeOutsidePointsTrueTrue1True-1simpleFalse1001002048False409602048MapboxautoDetectrealWorld5006005001024False4097False10000autoDetect0Windows10241024RAW16terrain0111texture204813130True11jpg100virtualEarth81928192FalseregularTexturesatellite0016100 \ No newline at end of file diff --git a/RWT_Cache/History/a6c417a8-8c3e-4b92-8ac4-7d8f1841b36c.xml b/RWT_Cache/History/a6c417a8-8c3e-4b92-8ac4-7d8f1841b36c.xml new file mode 100644 index 000000000..4bf431a00 --- /dev/null +++ b/RWT_Cache/History/a6c417a8-8c3e-4b92-8ac4-7d8f1841b36c.xml @@ -0,0 +1 @@ +110.216266353617110.234232659328.569119361873928.5533394354234False00FalseFalseFalseFalseFalseFalse110followRealWorldData3.5517500TrueTrueFalsenoneFalsefull00True100removeOutsidePointsTrueTrue1True-1simpleFalse1001002048False409602048MapboxautoDetectrealWorld5006005001024False4097False10000autoDetect0Windows10241024RAW16terrain0111texture204813130True11jpg100virtualEarth81928192FalseregularTexturesatellite0016100 \ No newline at end of file diff --git a/RWT_Cache/History/a7e2f9df-7e29-43bb-8f0d-6370820cacf3.xml b/RWT_Cache/History/a7e2f9df-7e29-43bb-8f0d-6370820cacf3.xml new file mode 100644 index 000000000..a62f32999 --- /dev/null +++ b/RWT_Cache/History/a7e2f9df-7e29-43bb-8f0d-6370820cacf3.xml @@ -0,0 +1 @@ +110.215080921346110.23589809147628.570299558411328.5540148057677False00FalseFalseFalseFalseTrueFalse110followRealWorldData3.5517500TrueTrueFalsenoneFalsefull00True100removeOutsidePointsTrueTrue1True-1simpleFalse1001002048False409602048MapboxautoDetectrealWorld5006005001024False4097False10000autoDetect0Windows10241024RAW16terrain0111texture204813130True11jpg100virtualEarth81928192FalseregularTexturesatellite0016100 \ No newline at end of file diff --git a/RWT_Cache/History/b9852484-a737-41dc-afde-257bb274eb1b.xml b/RWT_Cache/History/b9852484-a737-41dc-afde-257bb274eb1b.xml new file mode 100644 index 000000000..4bf431a00 --- /dev/null +++ b/RWT_Cache/History/b9852484-a737-41dc-afde-257bb274eb1b.xml @@ -0,0 +1 @@ +110.216266353617110.234232659328.569119361873928.5533394354234False00FalseFalseFalseFalseFalseFalse110followRealWorldData3.5517500TrueTrueFalsenoneFalsefull00True100removeOutsidePointsTrueTrue1True-1simpleFalse1001002048False409602048MapboxautoDetectrealWorld5006005001024False4097False10000autoDetect0Windows10241024RAW16terrain0111texture204813130True11jpg100virtualEarth81928192FalseregularTexturesatellite0016100 \ No newline at end of file diff --git a/RWT_Cache/History/c937e804-6e75-4109-a085-5d96ca385c8a.xml b/RWT_Cache/History/c937e804-6e75-4109-a085-5d96ca385c8a.xml new file mode 100644 index 000000000..029d69556 --- /dev/null +++ b/RWT_Cache/History/c937e804-6e75-4109-a085-5d96ca385c8a.xml @@ -0,0 +1 @@ +110.216266353617110.234232659328.569119361873928.5533394354234False00FalseFalseFalseFalseTrueFalse110followRealWorldData3.5517500TrueTrueFalsenoneFalsefull00True100removeOutsidePointsTrueTrue1True-1simpleFalse1001002048False409602048MapboxautoDetectrealWorld5006005001024False4097False10000autoDetect0Windows10241024RAW16terrain0111texture204813130True11jpg100virtualEarth81928192FalseregularTexturesatellite0016100 \ No newline at end of file diff --git a/RWT_Cache/History/ca051f33-9a5e-433c-bdfa-7e8fdaf9d3f5.xml b/RWT_Cache/History/ca051f33-9a5e-433c-bdfa-7e8fdaf9d3f5.xml new file mode 100644 index 000000000..029d69556 --- /dev/null +++ b/RWT_Cache/History/ca051f33-9a5e-433c-bdfa-7e8fdaf9d3f5.xml @@ -0,0 +1 @@ +110.216266353617110.234232659328.569119361873928.5533394354234False00FalseFalseFalseFalseTrueFalse110followRealWorldData3.5517500TrueTrueFalsenoneFalsefull00True100removeOutsidePointsTrueTrue1True-1simpleFalse1001002048False409602048MapboxautoDetectrealWorld5006005001024False4097False10000autoDetect0Windows10241024RAW16terrain0111texture204813130True11jpg100virtualEarth81928192FalseregularTexturesatellite0016100 \ No newline at end of file diff --git a/RWT_Cache/History/cf824495-d1e6-4a01-b2fb-fad6742e1dc3.xml b/RWT_Cache/History/cf824495-d1e6-4a01-b2fb-fad6742e1dc3.xml new file mode 100644 index 000000000..4bf431a00 --- /dev/null +++ b/RWT_Cache/History/cf824495-d1e6-4a01-b2fb-fad6742e1dc3.xml @@ -0,0 +1 @@ +110.216266353617110.234232659328.569119361873928.5533394354234False00FalseFalseFalseFalseFalseFalse110followRealWorldData3.5517500TrueTrueFalsenoneFalsefull00True100removeOutsidePointsTrueTrue1True-1simpleFalse1001002048False409602048MapboxautoDetectrealWorld5006005001024False4097False10000autoDetect0Windows10241024RAW16terrain0111texture204813130True11jpg100virtualEarth81928192FalseregularTexturesatellite0016100 \ No newline at end of file diff --git a/RWT_Cache/History/hystory.xml b/RWT_Cache/History/hystory.xml new file mode 100644 index 000000000..a26971bc3 --- /dev/null +++ b/RWT_Cache/History/hystory.xml @@ -0,0 +1 @@ +<![CDATA[(28.5702995584113, 110.215080921346) - (28.5540148057677, 110.235898091476)]]>9fbbe7f4-3ae1-4256-ad71-45a79e25fac1638850051094127773<![CDATA[(28.5702995584113, 110.215080921346) - (28.5540148057677, 110.235898091476)]]>3638e4ff-bb48-48f9-aa26-a0f2d279f013638850059966015143<![CDATA[(28.5702995584113, 110.215080921346) - (28.5540148057677, 110.235898091476)]]>a7e2f9df-7e29-43bb-8f0d-6370820cacf3638850060142669452<![CDATA[(28.5702995584113, 110.215080921346) - (28.5540148057677, 110.235898091476)]]>441d79eb-38d9-495e-8154-253bb9e67540638850061438694592<![CDATA[(28.5702989695116, 110.215081591898) - (28.5540142167768, 110.235898762029)]]>8ea4a34b-c8f4-4761-9de3-9658bfb39403638850105349274058<![CDATA[(28.5691193618739, 110.216266353617) - (28.5533394354234, 110.2342326593)]]>875b0667-30bc-46ba-b3b1-35a189852f99638850109842698839<![CDATA[(28.5691193618739, 110.216266353617) - (28.5533394354234, 110.2342326593)]]>cf824495-d1e6-4a01-b2fb-fad6742e1dc3638850110410145891<![CDATA[(28.5691193618739, 110.216266353617) - (28.5533394354234, 110.2342326593)]]>b9852484-a737-41dc-afde-257bb274eb1b638850110557597878<![CDATA[(28.5691193618739, 110.216266353617) - (28.5533394354234, 110.2342326593)]]>c937e804-6e75-4109-a085-5d96ca385c8a638850111046100885<![CDATA[(28.5691193618739, 110.216266353617) - (28.5533394354234, 110.2342326593)]]>a6c417a8-8c3e-4b92-8ac4-7d8f1841b36c638850182495499339<![CDATA[(28.5691193618739, 110.216266353617) - (28.5533394354234, 110.2342326593)]]>ca051f33-9a5e-433c-bdfa-7e8fdaf9d3f5638850182891884281 \ No newline at end of file diff --git a/RWT_Cache/Textures/10/ag825x427.jpg b/RWT_Cache/Textures/10/ag825x427.jpg new file mode 100644 index 000000000..5c85af45b Binary files /dev/null and b/RWT_Cache/Textures/10/ag825x427.jpg differ diff --git a/RWT_Cache/Textures/10/mbs825x427.jpg b/RWT_Cache/Textures/10/mbs825x427.jpg new file mode 100644 index 000000000..ae706b4d3 Binary files /dev/null and b/RWT_Cache/Textures/10/mbs825x427.jpg differ diff --git a/RWT_Cache/Textures/10/s2s825x427.jpg b/RWT_Cache/Textures/10/s2s825x427.jpg new file mode 100644 index 000000000..c7c0e31fb Binary files /dev/null and b/RWT_Cache/Textures/10/s2s825x427.jpg differ diff --git a/RWT_Cache/Textures/11/ag1651x854.jpg b/RWT_Cache/Textures/11/ag1651x854.jpg new file mode 100644 index 000000000..16fec7f46 Binary files /dev/null and b/RWT_Cache/Textures/11/ag1651x854.jpg differ diff --git a/RWT_Cache/Textures/11/mbs1651x854.jpg b/RWT_Cache/Textures/11/mbs1651x854.jpg new file mode 100644 index 000000000..aa5f131f1 Binary files /dev/null and b/RWT_Cache/Textures/11/mbs1651x854.jpg differ diff --git a/RWT_Cache/Textures/11/s2s1651x854.jpg b/RWT_Cache/Textures/11/s2s1651x854.jpg new file mode 100644 index 000000000..b66c8b7bc Binary files /dev/null and b/RWT_Cache/Textures/11/s2s1651x854.jpg differ diff --git a/RWT_Cache/Textures/12/ag3302x1708.jpg b/RWT_Cache/Textures/12/ag3302x1708.jpg new file mode 100644 index 000000000..b429c4244 Binary files /dev/null and b/RWT_Cache/Textures/12/ag3302x1708.jpg differ diff --git a/RWT_Cache/Textures/12/mbs3302x1708.jpg b/RWT_Cache/Textures/12/mbs3302x1708.jpg new file mode 100644 index 000000000..f04b157cb Binary files /dev/null and b/RWT_Cache/Textures/12/mbs3302x1708.jpg differ diff --git a/RWT_Cache/Textures/12/s2s3302x1708.jpg b/RWT_Cache/Textures/12/s2s3302x1708.jpg new file mode 100644 index 000000000..0282ee713 Binary files /dev/null and b/RWT_Cache/Textures/12/s2s3302x1708.jpg differ diff --git a/RWT_Cache/Textures/13/ag6604x3417.jpg b/RWT_Cache/Textures/13/ag6604x3417.jpg new file mode 100644 index 000000000..fef0ea304 Binary files /dev/null and b/RWT_Cache/Textures/13/ag6604x3417.jpg differ diff --git a/RWT_Cache/Textures/13/mbs6604x3417.jpg b/RWT_Cache/Textures/13/mbs6604x3417.jpg new file mode 100644 index 000000000..5f0f3a329 Binary files /dev/null and b/RWT_Cache/Textures/13/mbs6604x3417.jpg differ diff --git a/RWT_Cache/Textures/13/s2s6604x3417.jpg b/RWT_Cache/Textures/13/s2s6604x3417.jpg new file mode 100644 index 000000000..301ab7d8f Binary files /dev/null and b/RWT_Cache/Textures/13/s2s6604x3417.jpg differ diff --git a/RWT_Cache/Textures/14/ag13208x6834.jpg b/RWT_Cache/Textures/14/ag13208x6834.jpg new file mode 100644 index 000000000..de644b197 Binary files /dev/null and b/RWT_Cache/Textures/14/ag13208x6834.jpg differ diff --git a/RWT_Cache/Textures/14/ag13208x6835.jpg b/RWT_Cache/Textures/14/ag13208x6835.jpg new file mode 100644 index 000000000..22e71e71a Binary files /dev/null and b/RWT_Cache/Textures/14/ag13208x6835.jpg differ diff --git a/RWT_Cache/Textures/14/mbs13208x6834.jpg b/RWT_Cache/Textures/14/mbs13208x6834.jpg new file mode 100644 index 000000000..4771c67d9 Binary files /dev/null and b/RWT_Cache/Textures/14/mbs13208x6834.jpg differ diff --git a/RWT_Cache/Textures/14/mbs13208x6835.jpg b/RWT_Cache/Textures/14/mbs13208x6835.jpg new file mode 100644 index 000000000..5c1d96e81 Binary files /dev/null and b/RWT_Cache/Textures/14/mbs13208x6835.jpg differ diff --git a/RWT_Cache/Textures/14/s2s13208x6834.jpg b/RWT_Cache/Textures/14/s2s13208x6834.jpg new file mode 100644 index 000000000..47df38dc5 Binary files /dev/null and b/RWT_Cache/Textures/14/s2s13208x6834.jpg differ diff --git a/RWT_Cache/Textures/14/s2s13208x6835.jpg b/RWT_Cache/Textures/14/s2s13208x6835.jpg new file mode 100644 index 000000000..afe10bb03 Binary files /dev/null and b/RWT_Cache/Textures/14/s2s13208x6835.jpg differ diff --git a/RWT_Cache/Textures/15/ag26416x13668.jpg b/RWT_Cache/Textures/15/ag26416x13668.jpg new file mode 100644 index 000000000..53b806495 Binary files /dev/null and b/RWT_Cache/Textures/15/ag26416x13668.jpg differ diff --git a/RWT_Cache/Textures/15/ag26416x13669.jpg b/RWT_Cache/Textures/15/ag26416x13669.jpg new file mode 100644 index 000000000..ac9fbae4a Binary files /dev/null and b/RWT_Cache/Textures/15/ag26416x13669.jpg differ diff --git a/RWT_Cache/Textures/15/ag26416x13670.jpg b/RWT_Cache/Textures/15/ag26416x13670.jpg new file mode 100644 index 000000000..fcea0f116 Binary files /dev/null and b/RWT_Cache/Textures/15/ag26416x13670.jpg differ diff --git a/RWT_Cache/Textures/15/ag26417x13668.jpg b/RWT_Cache/Textures/15/ag26417x13668.jpg new file mode 100644 index 000000000..80b7e0b58 Binary files /dev/null and b/RWT_Cache/Textures/15/ag26417x13668.jpg differ diff --git a/RWT_Cache/Textures/15/ag26417x13669.jpg b/RWT_Cache/Textures/15/ag26417x13669.jpg new file mode 100644 index 000000000..97be3172e Binary files /dev/null and b/RWT_Cache/Textures/15/ag26417x13669.jpg differ diff --git a/RWT_Cache/Textures/15/ag26417x13670.jpg b/RWT_Cache/Textures/15/ag26417x13670.jpg new file mode 100644 index 000000000..cd07ca979 Binary files /dev/null and b/RWT_Cache/Textures/15/ag26417x13670.jpg differ diff --git a/RWT_Cache/Textures/15/mbs26416x13668.jpg b/RWT_Cache/Textures/15/mbs26416x13668.jpg new file mode 100644 index 000000000..a785c14f2 Binary files /dev/null and b/RWT_Cache/Textures/15/mbs26416x13668.jpg differ diff --git a/RWT_Cache/Textures/15/mbs26416x13669.jpg b/RWT_Cache/Textures/15/mbs26416x13669.jpg new file mode 100644 index 000000000..13118f315 Binary files /dev/null and b/RWT_Cache/Textures/15/mbs26416x13669.jpg differ diff --git a/RWT_Cache/Textures/15/mbs26416x13670.jpg b/RWT_Cache/Textures/15/mbs26416x13670.jpg new file mode 100644 index 000000000..1af7828f8 Binary files /dev/null and b/RWT_Cache/Textures/15/mbs26416x13670.jpg differ diff --git a/RWT_Cache/Textures/15/mbs26417x13668.jpg b/RWT_Cache/Textures/15/mbs26417x13668.jpg new file mode 100644 index 000000000..cd7aa375a Binary files /dev/null and b/RWT_Cache/Textures/15/mbs26417x13668.jpg differ diff --git a/RWT_Cache/Textures/15/mbs26417x13669.jpg b/RWT_Cache/Textures/15/mbs26417x13669.jpg new file mode 100644 index 000000000..4f8f47bf3 Binary files /dev/null and b/RWT_Cache/Textures/15/mbs26417x13669.jpg differ diff --git a/RWT_Cache/Textures/15/mbs26417x13670.jpg b/RWT_Cache/Textures/15/mbs26417x13670.jpg new file mode 100644 index 000000000..f1f1cfba1 Binary files /dev/null and b/RWT_Cache/Textures/15/mbs26417x13670.jpg differ diff --git a/RWT_Cache/Textures/15/s2s26416x13668.jpg b/RWT_Cache/Textures/15/s2s26416x13668.jpg new file mode 100644 index 000000000..2a6c41706 Binary files /dev/null and b/RWT_Cache/Textures/15/s2s26416x13668.jpg differ diff --git a/RWT_Cache/Textures/15/s2s26416x13669.jpg b/RWT_Cache/Textures/15/s2s26416x13669.jpg new file mode 100644 index 000000000..a9b6b0754 Binary files /dev/null and b/RWT_Cache/Textures/15/s2s26416x13669.jpg differ diff --git a/RWT_Cache/Textures/15/s2s26416x13670.jpg b/RWT_Cache/Textures/15/s2s26416x13670.jpg new file mode 100644 index 000000000..ae9680204 Binary files /dev/null and b/RWT_Cache/Textures/15/s2s26416x13670.jpg differ diff --git a/RWT_Cache/Textures/15/s2s26417x13668.jpg b/RWT_Cache/Textures/15/s2s26417x13668.jpg new file mode 100644 index 000000000..8ff6b5dc7 Binary files /dev/null and b/RWT_Cache/Textures/15/s2s26417x13668.jpg differ diff --git a/RWT_Cache/Textures/15/s2s26417x13669.jpg b/RWT_Cache/Textures/15/s2s26417x13669.jpg new file mode 100644 index 000000000..0f23f00df Binary files /dev/null and b/RWT_Cache/Textures/15/s2s26417x13669.jpg differ diff --git a/RWT_Cache/Textures/15/s2s26417x13670.jpg b/RWT_Cache/Textures/15/s2s26417x13670.jpg new file mode 100644 index 000000000..dd3b291bc Binary files /dev/null and b/RWT_Cache/Textures/15/s2s26417x13670.jpg differ diff --git a/RWT_Cache/Textures/16/ag52832x27336.jpg b/RWT_Cache/Textures/16/ag52832x27336.jpg new file mode 100644 index 000000000..dbee1acf2 Binary files /dev/null and b/RWT_Cache/Textures/16/ag52832x27336.jpg differ diff --git a/RWT_Cache/Textures/16/ag52832x27337.jpg b/RWT_Cache/Textures/16/ag52832x27337.jpg new file mode 100644 index 000000000..487cabb96 Binary files /dev/null and b/RWT_Cache/Textures/16/ag52832x27337.jpg differ diff --git a/RWT_Cache/Textures/16/ag52832x27338.jpg b/RWT_Cache/Textures/16/ag52832x27338.jpg new file mode 100644 index 000000000..a114ec54a Binary files /dev/null and b/RWT_Cache/Textures/16/ag52832x27338.jpg differ diff --git a/RWT_Cache/Textures/16/ag52832x27339.jpg b/RWT_Cache/Textures/16/ag52832x27339.jpg new file mode 100644 index 000000000..7d666f2cf Binary files /dev/null and b/RWT_Cache/Textures/16/ag52832x27339.jpg differ diff --git a/RWT_Cache/Textures/16/ag52832x27340.jpg b/RWT_Cache/Textures/16/ag52832x27340.jpg new file mode 100644 index 000000000..5bf9bf40c Binary files /dev/null and b/RWT_Cache/Textures/16/ag52832x27340.jpg differ diff --git a/RWT_Cache/Textures/16/ag52833x27336.jpg b/RWT_Cache/Textures/16/ag52833x27336.jpg new file mode 100644 index 000000000..ac644efc5 Binary files /dev/null and b/RWT_Cache/Textures/16/ag52833x27336.jpg differ diff --git a/RWT_Cache/Textures/16/ag52833x27337.jpg b/RWT_Cache/Textures/16/ag52833x27337.jpg new file mode 100644 index 000000000..a224fc9bb Binary files /dev/null and b/RWT_Cache/Textures/16/ag52833x27337.jpg differ diff --git a/RWT_Cache/Textures/16/ag52833x27338.jpg b/RWT_Cache/Textures/16/ag52833x27338.jpg new file mode 100644 index 000000000..a150cc0d0 Binary files /dev/null and b/RWT_Cache/Textures/16/ag52833x27338.jpg differ diff --git a/RWT_Cache/Textures/16/ag52833x27339.jpg b/RWT_Cache/Textures/16/ag52833x27339.jpg new file mode 100644 index 000000000..8449c17dd Binary files /dev/null and b/RWT_Cache/Textures/16/ag52833x27339.jpg differ diff --git a/RWT_Cache/Textures/16/ag52833x27340.jpg b/RWT_Cache/Textures/16/ag52833x27340.jpg new file mode 100644 index 000000000..2b12bffe3 Binary files /dev/null and b/RWT_Cache/Textures/16/ag52833x27340.jpg differ diff --git a/RWT_Cache/Textures/16/ag52834x27336.jpg b/RWT_Cache/Textures/16/ag52834x27336.jpg new file mode 100644 index 000000000..3e5c28b99 Binary files /dev/null and b/RWT_Cache/Textures/16/ag52834x27336.jpg differ diff --git a/RWT_Cache/Textures/16/ag52834x27337.jpg b/RWT_Cache/Textures/16/ag52834x27337.jpg new file mode 100644 index 000000000..26bc79da3 Binary files /dev/null and b/RWT_Cache/Textures/16/ag52834x27337.jpg differ diff --git a/RWT_Cache/Textures/16/ag52834x27338.jpg b/RWT_Cache/Textures/16/ag52834x27338.jpg new file mode 100644 index 000000000..3138426be Binary files /dev/null and b/RWT_Cache/Textures/16/ag52834x27338.jpg differ diff --git a/RWT_Cache/Textures/16/ag52834x27339.jpg b/RWT_Cache/Textures/16/ag52834x27339.jpg new file mode 100644 index 000000000..4a9713986 Binary files /dev/null and b/RWT_Cache/Textures/16/ag52834x27339.jpg differ diff --git a/RWT_Cache/Textures/16/ag52834x27340.jpg b/RWT_Cache/Textures/16/ag52834x27340.jpg new file mode 100644 index 000000000..9fb409999 Binary files /dev/null and b/RWT_Cache/Textures/16/ag52834x27340.jpg differ diff --git a/RWT_Cache/Textures/16/ag52835x27336.jpg b/RWT_Cache/Textures/16/ag52835x27336.jpg new file mode 100644 index 000000000..bec48a805 Binary files /dev/null and b/RWT_Cache/Textures/16/ag52835x27336.jpg differ diff --git a/RWT_Cache/Textures/16/ag52835x27337.jpg b/RWT_Cache/Textures/16/ag52835x27337.jpg new file mode 100644 index 000000000..fdb5fef88 Binary files /dev/null and b/RWT_Cache/Textures/16/ag52835x27337.jpg differ diff --git a/RWT_Cache/Textures/16/ag52835x27338.jpg b/RWT_Cache/Textures/16/ag52835x27338.jpg new file mode 100644 index 000000000..8eabac186 Binary files /dev/null and b/RWT_Cache/Textures/16/ag52835x27338.jpg differ diff --git a/RWT_Cache/Textures/16/ag52835x27339.jpg b/RWT_Cache/Textures/16/ag52835x27339.jpg new file mode 100644 index 000000000..11b241aab Binary files /dev/null and b/RWT_Cache/Textures/16/ag52835x27339.jpg differ diff --git a/RWT_Cache/Textures/16/ag52835x27340.jpg b/RWT_Cache/Textures/16/ag52835x27340.jpg new file mode 100644 index 000000000..60846bfbd Binary files /dev/null and b/RWT_Cache/Textures/16/ag52835x27340.jpg differ diff --git a/RWT_Cache/Textures/16/mbs52832x27336.jpg b/RWT_Cache/Textures/16/mbs52832x27336.jpg new file mode 100644 index 000000000..c5546de2c Binary files /dev/null and b/RWT_Cache/Textures/16/mbs52832x27336.jpg differ diff --git a/RWT_Cache/Textures/16/mbs52832x27337.jpg b/RWT_Cache/Textures/16/mbs52832x27337.jpg new file mode 100644 index 000000000..badedcb67 Binary files /dev/null and b/RWT_Cache/Textures/16/mbs52832x27337.jpg differ diff --git a/RWT_Cache/Textures/16/mbs52832x27338.jpg b/RWT_Cache/Textures/16/mbs52832x27338.jpg new file mode 100644 index 000000000..8d5dfad78 Binary files /dev/null and b/RWT_Cache/Textures/16/mbs52832x27338.jpg differ diff --git a/RWT_Cache/Textures/16/mbs52832x27339.jpg b/RWT_Cache/Textures/16/mbs52832x27339.jpg new file mode 100644 index 000000000..364a43115 Binary files /dev/null and b/RWT_Cache/Textures/16/mbs52832x27339.jpg differ diff --git a/RWT_Cache/Textures/16/mbs52832x27340.jpg b/RWT_Cache/Textures/16/mbs52832x27340.jpg new file mode 100644 index 000000000..a6e402fb7 Binary files /dev/null and b/RWT_Cache/Textures/16/mbs52832x27340.jpg differ diff --git a/RWT_Cache/Textures/16/mbs52833x27336.jpg b/RWT_Cache/Textures/16/mbs52833x27336.jpg new file mode 100644 index 000000000..6fc307e12 Binary files /dev/null and b/RWT_Cache/Textures/16/mbs52833x27336.jpg differ diff --git a/RWT_Cache/Textures/16/mbs52833x27337.jpg b/RWT_Cache/Textures/16/mbs52833x27337.jpg new file mode 100644 index 000000000..237c881a8 Binary files /dev/null and b/RWT_Cache/Textures/16/mbs52833x27337.jpg differ diff --git a/RWT_Cache/Textures/16/mbs52833x27338.jpg b/RWT_Cache/Textures/16/mbs52833x27338.jpg new file mode 100644 index 000000000..a928ab74c Binary files /dev/null and b/RWT_Cache/Textures/16/mbs52833x27338.jpg differ diff --git a/RWT_Cache/Textures/16/mbs52833x27339.jpg b/RWT_Cache/Textures/16/mbs52833x27339.jpg new file mode 100644 index 000000000..c399fc9f7 Binary files /dev/null and b/RWT_Cache/Textures/16/mbs52833x27339.jpg differ diff --git a/RWT_Cache/Textures/16/mbs52833x27340.jpg b/RWT_Cache/Textures/16/mbs52833x27340.jpg new file mode 100644 index 000000000..83e601c82 Binary files /dev/null and b/RWT_Cache/Textures/16/mbs52833x27340.jpg differ diff --git a/RWT_Cache/Textures/16/mbs52834x27336.jpg b/RWT_Cache/Textures/16/mbs52834x27336.jpg new file mode 100644 index 000000000..f9a3decc5 Binary files /dev/null and b/RWT_Cache/Textures/16/mbs52834x27336.jpg differ diff --git a/RWT_Cache/Textures/16/mbs52834x27337.jpg b/RWT_Cache/Textures/16/mbs52834x27337.jpg new file mode 100644 index 000000000..baea8c85b Binary files /dev/null and b/RWT_Cache/Textures/16/mbs52834x27337.jpg differ diff --git a/RWT_Cache/Textures/16/mbs52834x27338.jpg b/RWT_Cache/Textures/16/mbs52834x27338.jpg new file mode 100644 index 000000000..49dcddb5c Binary files /dev/null and b/RWT_Cache/Textures/16/mbs52834x27338.jpg differ diff --git a/RWT_Cache/Textures/16/mbs52834x27339.jpg b/RWT_Cache/Textures/16/mbs52834x27339.jpg new file mode 100644 index 000000000..7e9a979d2 Binary files /dev/null and b/RWT_Cache/Textures/16/mbs52834x27339.jpg differ diff --git a/RWT_Cache/Textures/16/mbs52834x27340.jpg b/RWT_Cache/Textures/16/mbs52834x27340.jpg new file mode 100644 index 000000000..cada28387 Binary files /dev/null and b/RWT_Cache/Textures/16/mbs52834x27340.jpg differ diff --git a/RWT_Cache/Textures/16/mbs52835x27336.jpg b/RWT_Cache/Textures/16/mbs52835x27336.jpg new file mode 100644 index 000000000..2744031a2 Binary files /dev/null and b/RWT_Cache/Textures/16/mbs52835x27336.jpg differ diff --git a/RWT_Cache/Textures/16/mbs52835x27337.jpg b/RWT_Cache/Textures/16/mbs52835x27337.jpg new file mode 100644 index 000000000..56ca6def9 Binary files /dev/null and b/RWT_Cache/Textures/16/mbs52835x27337.jpg differ diff --git a/RWT_Cache/Textures/16/mbs52835x27338.jpg b/RWT_Cache/Textures/16/mbs52835x27338.jpg new file mode 100644 index 000000000..6e00be971 Binary files /dev/null and b/RWT_Cache/Textures/16/mbs52835x27338.jpg differ diff --git a/RWT_Cache/Textures/16/mbs52835x27339.jpg b/RWT_Cache/Textures/16/mbs52835x27339.jpg new file mode 100644 index 000000000..74d562777 Binary files /dev/null and b/RWT_Cache/Textures/16/mbs52835x27339.jpg differ diff --git a/RWT_Cache/Textures/16/mbs52835x27340.jpg b/RWT_Cache/Textures/16/mbs52835x27340.jpg new file mode 100644 index 000000000..a2eb8e7e2 Binary files /dev/null and b/RWT_Cache/Textures/16/mbs52835x27340.jpg differ diff --git a/RWT_Cache/Textures/16/s2s52832x27336.jpg b/RWT_Cache/Textures/16/s2s52832x27336.jpg new file mode 100644 index 000000000..412f2b7ae Binary files /dev/null and b/RWT_Cache/Textures/16/s2s52832x27336.jpg differ diff --git a/RWT_Cache/Textures/16/s2s52832x27337.jpg b/RWT_Cache/Textures/16/s2s52832x27337.jpg new file mode 100644 index 000000000..f8ebb552c Binary files /dev/null and b/RWT_Cache/Textures/16/s2s52832x27337.jpg differ diff --git a/RWT_Cache/Textures/16/s2s52832x27338.jpg b/RWT_Cache/Textures/16/s2s52832x27338.jpg new file mode 100644 index 000000000..c749903e4 Binary files /dev/null and b/RWT_Cache/Textures/16/s2s52832x27338.jpg differ diff --git a/RWT_Cache/Textures/16/s2s52832x27339.jpg b/RWT_Cache/Textures/16/s2s52832x27339.jpg new file mode 100644 index 000000000..36d40996a Binary files /dev/null and b/RWT_Cache/Textures/16/s2s52832x27339.jpg differ diff --git a/RWT_Cache/Textures/16/s2s52832x27340.jpg b/RWT_Cache/Textures/16/s2s52832x27340.jpg new file mode 100644 index 000000000..0064f8bfc Binary files /dev/null and b/RWT_Cache/Textures/16/s2s52832x27340.jpg differ diff --git a/RWT_Cache/Textures/16/s2s52833x27336.jpg b/RWT_Cache/Textures/16/s2s52833x27336.jpg new file mode 100644 index 000000000..de83e1855 Binary files /dev/null and b/RWT_Cache/Textures/16/s2s52833x27336.jpg differ diff --git a/RWT_Cache/Textures/16/s2s52833x27337.jpg b/RWT_Cache/Textures/16/s2s52833x27337.jpg new file mode 100644 index 000000000..f4486a8ca Binary files /dev/null and b/RWT_Cache/Textures/16/s2s52833x27337.jpg differ diff --git a/RWT_Cache/Textures/16/s2s52833x27338.jpg b/RWT_Cache/Textures/16/s2s52833x27338.jpg new file mode 100644 index 000000000..0ac3644ce Binary files /dev/null and b/RWT_Cache/Textures/16/s2s52833x27338.jpg differ diff --git a/RWT_Cache/Textures/16/s2s52833x27339.jpg b/RWT_Cache/Textures/16/s2s52833x27339.jpg new file mode 100644 index 000000000..65152ae93 Binary files /dev/null and b/RWT_Cache/Textures/16/s2s52833x27339.jpg differ diff --git a/RWT_Cache/Textures/16/s2s52833x27340.jpg b/RWT_Cache/Textures/16/s2s52833x27340.jpg new file mode 100644 index 000000000..5438e2f95 Binary files /dev/null and b/RWT_Cache/Textures/16/s2s52833x27340.jpg differ diff --git a/RWT_Cache/Textures/16/s2s52834x27336.jpg b/RWT_Cache/Textures/16/s2s52834x27336.jpg new file mode 100644 index 000000000..1e8dbdbc1 Binary files /dev/null and b/RWT_Cache/Textures/16/s2s52834x27336.jpg differ diff --git a/RWT_Cache/Textures/16/s2s52834x27337.jpg b/RWT_Cache/Textures/16/s2s52834x27337.jpg new file mode 100644 index 000000000..de34b4566 Binary files /dev/null and b/RWT_Cache/Textures/16/s2s52834x27337.jpg differ diff --git a/RWT_Cache/Textures/16/s2s52834x27338.jpg b/RWT_Cache/Textures/16/s2s52834x27338.jpg new file mode 100644 index 000000000..bb98b61b6 Binary files /dev/null and b/RWT_Cache/Textures/16/s2s52834x27338.jpg differ diff --git a/RWT_Cache/Textures/16/s2s52834x27339.jpg b/RWT_Cache/Textures/16/s2s52834x27339.jpg new file mode 100644 index 000000000..9c0ce56c4 Binary files /dev/null and b/RWT_Cache/Textures/16/s2s52834x27339.jpg differ diff --git a/RWT_Cache/Textures/16/s2s52834x27340.jpg b/RWT_Cache/Textures/16/s2s52834x27340.jpg new file mode 100644 index 000000000..b8d201544 Binary files /dev/null and b/RWT_Cache/Textures/16/s2s52834x27340.jpg differ diff --git a/RWT_Cache/Textures/16/s2s52835x27336.jpg b/RWT_Cache/Textures/16/s2s52835x27336.jpg new file mode 100644 index 000000000..671aa2ad8 Binary files /dev/null and b/RWT_Cache/Textures/16/s2s52835x27336.jpg differ diff --git a/RWT_Cache/Textures/16/s2s52835x27337.jpg b/RWT_Cache/Textures/16/s2s52835x27337.jpg new file mode 100644 index 000000000..718769107 Binary files /dev/null and b/RWT_Cache/Textures/16/s2s52835x27337.jpg differ diff --git a/RWT_Cache/Textures/16/s2s52835x27338.jpg b/RWT_Cache/Textures/16/s2s52835x27338.jpg new file mode 100644 index 000000000..5e64e7486 Binary files /dev/null and b/RWT_Cache/Textures/16/s2s52835x27338.jpg differ diff --git a/RWT_Cache/Textures/16/s2s52835x27339.jpg b/RWT_Cache/Textures/16/s2s52835x27339.jpg new file mode 100644 index 000000000..28060ac43 Binary files /dev/null and b/RWT_Cache/Textures/16/s2s52835x27339.jpg differ diff --git a/RWT_Cache/Textures/16/s2s52835x27340.jpg b/RWT_Cache/Textures/16/s2s52835x27340.jpg new file mode 100644 index 000000000..1e2d5f9b6 Binary files /dev/null and b/RWT_Cache/Textures/16/s2s52835x27340.jpg differ diff --git a/RWT_Cache/Textures/17/ag105664x54673.jpg b/RWT_Cache/Textures/17/ag105664x54673.jpg new file mode 100644 index 000000000..f563d3843 Binary files /dev/null and b/RWT_Cache/Textures/17/ag105664x54673.jpg differ diff --git a/RWT_Cache/Textures/17/ag105664x54674.jpg b/RWT_Cache/Textures/17/ag105664x54674.jpg new file mode 100644 index 000000000..2d69a427e Binary files /dev/null and b/RWT_Cache/Textures/17/ag105664x54674.jpg differ diff --git a/RWT_Cache/Textures/17/ag105664x54675.jpg b/RWT_Cache/Textures/17/ag105664x54675.jpg new file mode 100644 index 000000000..ad436c3a3 Binary files /dev/null and b/RWT_Cache/Textures/17/ag105664x54675.jpg differ diff --git a/RWT_Cache/Textures/17/ag105664x54676.jpg b/RWT_Cache/Textures/17/ag105664x54676.jpg new file mode 100644 index 000000000..680992eb8 Binary files /dev/null and b/RWT_Cache/Textures/17/ag105664x54676.jpg differ diff --git a/RWT_Cache/Textures/17/ag105664x54677.jpg b/RWT_Cache/Textures/17/ag105664x54677.jpg new file mode 100644 index 000000000..e54e1a479 Binary files /dev/null and b/RWT_Cache/Textures/17/ag105664x54677.jpg differ diff --git a/RWT_Cache/Textures/17/ag105664x54678.jpg b/RWT_Cache/Textures/17/ag105664x54678.jpg new file mode 100644 index 000000000..46c2b5713 Binary files /dev/null and b/RWT_Cache/Textures/17/ag105664x54678.jpg differ diff --git a/RWT_Cache/Textures/17/ag105664x54679.jpg b/RWT_Cache/Textures/17/ag105664x54679.jpg new file mode 100644 index 000000000..e0abaf358 Binary files /dev/null and b/RWT_Cache/Textures/17/ag105664x54679.jpg differ diff --git a/RWT_Cache/Textures/17/ag105664x54680.jpg b/RWT_Cache/Textures/17/ag105664x54680.jpg new file mode 100644 index 000000000..e7b18f756 Binary files /dev/null and b/RWT_Cache/Textures/17/ag105664x54680.jpg differ diff --git a/RWT_Cache/Textures/17/ag105665x54673.jpg b/RWT_Cache/Textures/17/ag105665x54673.jpg new file mode 100644 index 000000000..89cb6d32e Binary files /dev/null and b/RWT_Cache/Textures/17/ag105665x54673.jpg differ diff --git a/RWT_Cache/Textures/17/ag105665x54674.jpg b/RWT_Cache/Textures/17/ag105665x54674.jpg new file mode 100644 index 000000000..79df15187 Binary files /dev/null and b/RWT_Cache/Textures/17/ag105665x54674.jpg differ diff --git a/RWT_Cache/Textures/17/ag105665x54675.jpg b/RWT_Cache/Textures/17/ag105665x54675.jpg new file mode 100644 index 000000000..5174ba6a9 Binary files /dev/null and b/RWT_Cache/Textures/17/ag105665x54675.jpg differ diff --git a/RWT_Cache/Textures/17/ag105665x54676.jpg b/RWT_Cache/Textures/17/ag105665x54676.jpg new file mode 100644 index 000000000..65dcbdbdb Binary files /dev/null and b/RWT_Cache/Textures/17/ag105665x54676.jpg differ diff --git a/RWT_Cache/Textures/17/ag105665x54677.jpg b/RWT_Cache/Textures/17/ag105665x54677.jpg new file mode 100644 index 000000000..b25dfc3e0 Binary files /dev/null and b/RWT_Cache/Textures/17/ag105665x54677.jpg differ diff --git a/RWT_Cache/Textures/17/ag105665x54678.jpg b/RWT_Cache/Textures/17/ag105665x54678.jpg new file mode 100644 index 000000000..e1639cf1a Binary files /dev/null and b/RWT_Cache/Textures/17/ag105665x54678.jpg differ diff --git a/RWT_Cache/Textures/17/ag105665x54679.jpg b/RWT_Cache/Textures/17/ag105665x54679.jpg new file mode 100644 index 000000000..ee76e8f7d Binary files /dev/null and b/RWT_Cache/Textures/17/ag105665x54679.jpg differ diff --git a/RWT_Cache/Textures/17/ag105665x54680.jpg b/RWT_Cache/Textures/17/ag105665x54680.jpg new file mode 100644 index 000000000..b2d68b3f5 Binary files /dev/null and b/RWT_Cache/Textures/17/ag105665x54680.jpg differ diff --git a/RWT_Cache/Textures/17/ag105666x54673.jpg b/RWT_Cache/Textures/17/ag105666x54673.jpg new file mode 100644 index 000000000..c371bf96f Binary files /dev/null and b/RWT_Cache/Textures/17/ag105666x54673.jpg differ diff --git a/RWT_Cache/Textures/17/ag105666x54674.jpg b/RWT_Cache/Textures/17/ag105666x54674.jpg new file mode 100644 index 000000000..26bddcf97 Binary files /dev/null and b/RWT_Cache/Textures/17/ag105666x54674.jpg differ diff --git a/RWT_Cache/Textures/17/ag105666x54675.jpg b/RWT_Cache/Textures/17/ag105666x54675.jpg new file mode 100644 index 000000000..ba9a9be1f Binary files /dev/null and b/RWT_Cache/Textures/17/ag105666x54675.jpg differ diff --git a/RWT_Cache/Textures/17/ag105666x54676.jpg b/RWT_Cache/Textures/17/ag105666x54676.jpg new file mode 100644 index 000000000..a4a1f5be2 Binary files /dev/null and b/RWT_Cache/Textures/17/ag105666x54676.jpg differ diff --git a/RWT_Cache/Textures/17/ag105666x54677.jpg b/RWT_Cache/Textures/17/ag105666x54677.jpg new file mode 100644 index 000000000..18aed9eac Binary files /dev/null and b/RWT_Cache/Textures/17/ag105666x54677.jpg differ diff --git a/RWT_Cache/Textures/17/ag105666x54678.jpg b/RWT_Cache/Textures/17/ag105666x54678.jpg new file mode 100644 index 000000000..30ea67207 Binary files /dev/null and b/RWT_Cache/Textures/17/ag105666x54678.jpg differ diff --git a/RWT_Cache/Textures/17/ag105666x54679.jpg b/RWT_Cache/Textures/17/ag105666x54679.jpg new file mode 100644 index 000000000..7a8ab4517 Binary files /dev/null and b/RWT_Cache/Textures/17/ag105666x54679.jpg differ diff --git a/RWT_Cache/Textures/17/ag105666x54680.jpg b/RWT_Cache/Textures/17/ag105666x54680.jpg new file mode 100644 index 000000000..cb78e6748 Binary files /dev/null and b/RWT_Cache/Textures/17/ag105666x54680.jpg differ diff --git a/RWT_Cache/Textures/17/ag105667x54673.jpg b/RWT_Cache/Textures/17/ag105667x54673.jpg new file mode 100644 index 000000000..fef9bbfbe Binary files /dev/null and b/RWT_Cache/Textures/17/ag105667x54673.jpg differ diff --git a/RWT_Cache/Textures/17/ag105667x54674.jpg b/RWT_Cache/Textures/17/ag105667x54674.jpg new file mode 100644 index 000000000..019cca49b Binary files /dev/null and b/RWT_Cache/Textures/17/ag105667x54674.jpg differ diff --git a/RWT_Cache/Textures/17/ag105667x54675.jpg b/RWT_Cache/Textures/17/ag105667x54675.jpg new file mode 100644 index 000000000..6444b80ea Binary files /dev/null and b/RWT_Cache/Textures/17/ag105667x54675.jpg differ diff --git a/RWT_Cache/Textures/17/ag105667x54676.jpg b/RWT_Cache/Textures/17/ag105667x54676.jpg new file mode 100644 index 000000000..59ff25f44 Binary files /dev/null and b/RWT_Cache/Textures/17/ag105667x54676.jpg differ diff --git a/RWT_Cache/Textures/17/ag105667x54677.jpg b/RWT_Cache/Textures/17/ag105667x54677.jpg new file mode 100644 index 000000000..702bd60cf Binary files /dev/null and b/RWT_Cache/Textures/17/ag105667x54677.jpg differ diff --git a/RWT_Cache/Textures/17/ag105667x54678.jpg b/RWT_Cache/Textures/17/ag105667x54678.jpg new file mode 100644 index 000000000..352e2c8ac Binary files /dev/null and b/RWT_Cache/Textures/17/ag105667x54678.jpg differ diff --git a/RWT_Cache/Textures/17/ag105667x54679.jpg b/RWT_Cache/Textures/17/ag105667x54679.jpg new file mode 100644 index 000000000..5c36d832d Binary files /dev/null and b/RWT_Cache/Textures/17/ag105667x54679.jpg differ diff --git a/RWT_Cache/Textures/17/ag105667x54680.jpg b/RWT_Cache/Textures/17/ag105667x54680.jpg new file mode 100644 index 000000000..058f89846 Binary files /dev/null and b/RWT_Cache/Textures/17/ag105667x54680.jpg differ diff --git a/RWT_Cache/Textures/17/ag105668x54673.jpg b/RWT_Cache/Textures/17/ag105668x54673.jpg new file mode 100644 index 000000000..41c657544 Binary files /dev/null and b/RWT_Cache/Textures/17/ag105668x54673.jpg differ diff --git a/RWT_Cache/Textures/17/ag105668x54674.jpg b/RWT_Cache/Textures/17/ag105668x54674.jpg new file mode 100644 index 000000000..33b95ea70 Binary files /dev/null and b/RWT_Cache/Textures/17/ag105668x54674.jpg differ diff --git a/RWT_Cache/Textures/17/ag105668x54675.jpg b/RWT_Cache/Textures/17/ag105668x54675.jpg new file mode 100644 index 000000000..d7fe73bf1 Binary files /dev/null and b/RWT_Cache/Textures/17/ag105668x54675.jpg differ diff --git a/RWT_Cache/Textures/17/ag105668x54676.jpg b/RWT_Cache/Textures/17/ag105668x54676.jpg new file mode 100644 index 000000000..0b89d735e Binary files /dev/null and b/RWT_Cache/Textures/17/ag105668x54676.jpg differ diff --git a/RWT_Cache/Textures/17/ag105668x54677.jpg b/RWT_Cache/Textures/17/ag105668x54677.jpg new file mode 100644 index 000000000..389fa029e Binary files /dev/null and b/RWT_Cache/Textures/17/ag105668x54677.jpg differ diff --git a/RWT_Cache/Textures/17/ag105668x54678.jpg b/RWT_Cache/Textures/17/ag105668x54678.jpg new file mode 100644 index 000000000..fbe6ffa65 Binary files /dev/null and b/RWT_Cache/Textures/17/ag105668x54678.jpg differ diff --git a/RWT_Cache/Textures/17/ag105668x54679.jpg b/RWT_Cache/Textures/17/ag105668x54679.jpg new file mode 100644 index 000000000..1dc954ffd Binary files /dev/null and b/RWT_Cache/Textures/17/ag105668x54679.jpg differ diff --git a/RWT_Cache/Textures/17/ag105668x54680.jpg b/RWT_Cache/Textures/17/ag105668x54680.jpg new file mode 100644 index 000000000..acbf77bbd Binary files /dev/null and b/RWT_Cache/Textures/17/ag105668x54680.jpg differ diff --git a/RWT_Cache/Textures/17/ag105669x54673.jpg b/RWT_Cache/Textures/17/ag105669x54673.jpg new file mode 100644 index 000000000..d09cdf093 Binary files /dev/null and b/RWT_Cache/Textures/17/ag105669x54673.jpg differ diff --git a/RWT_Cache/Textures/17/ag105669x54674.jpg b/RWT_Cache/Textures/17/ag105669x54674.jpg new file mode 100644 index 000000000..c2dc2775e Binary files /dev/null and b/RWT_Cache/Textures/17/ag105669x54674.jpg differ diff --git a/RWT_Cache/Textures/17/ag105669x54675.jpg b/RWT_Cache/Textures/17/ag105669x54675.jpg new file mode 100644 index 000000000..7dd115379 Binary files /dev/null and b/RWT_Cache/Textures/17/ag105669x54675.jpg differ diff --git a/RWT_Cache/Textures/17/ag105669x54676.jpg b/RWT_Cache/Textures/17/ag105669x54676.jpg new file mode 100644 index 000000000..44ee8357d Binary files /dev/null and b/RWT_Cache/Textures/17/ag105669x54676.jpg differ diff --git a/RWT_Cache/Textures/17/ag105669x54677.jpg b/RWT_Cache/Textures/17/ag105669x54677.jpg new file mode 100644 index 000000000..077fee268 Binary files /dev/null and b/RWT_Cache/Textures/17/ag105669x54677.jpg differ diff --git a/RWT_Cache/Textures/17/ag105669x54678.jpg b/RWT_Cache/Textures/17/ag105669x54678.jpg new file mode 100644 index 000000000..3469d5049 Binary files /dev/null and b/RWT_Cache/Textures/17/ag105669x54678.jpg differ diff --git a/RWT_Cache/Textures/17/ag105669x54679.jpg b/RWT_Cache/Textures/17/ag105669x54679.jpg new file mode 100644 index 000000000..9b16e9a25 Binary files /dev/null and b/RWT_Cache/Textures/17/ag105669x54679.jpg differ diff --git a/RWT_Cache/Textures/17/ag105669x54680.jpg b/RWT_Cache/Textures/17/ag105669x54680.jpg new file mode 100644 index 000000000..213a9a1e1 Binary files /dev/null and b/RWT_Cache/Textures/17/ag105669x54680.jpg differ diff --git a/RWT_Cache/Textures/17/ag105670x54673.jpg b/RWT_Cache/Textures/17/ag105670x54673.jpg new file mode 100644 index 000000000..00943596d Binary files /dev/null and b/RWT_Cache/Textures/17/ag105670x54673.jpg differ diff --git a/RWT_Cache/Textures/17/ag105670x54674.jpg b/RWT_Cache/Textures/17/ag105670x54674.jpg new file mode 100644 index 000000000..b866eef09 Binary files /dev/null and b/RWT_Cache/Textures/17/ag105670x54674.jpg differ diff --git a/RWT_Cache/Textures/17/ag105670x54675.jpg b/RWT_Cache/Textures/17/ag105670x54675.jpg new file mode 100644 index 000000000..9f3339e31 Binary files /dev/null and b/RWT_Cache/Textures/17/ag105670x54675.jpg differ diff --git a/RWT_Cache/Textures/17/ag105670x54676.jpg b/RWT_Cache/Textures/17/ag105670x54676.jpg new file mode 100644 index 000000000..4444dd80a Binary files /dev/null and b/RWT_Cache/Textures/17/ag105670x54676.jpg differ diff --git a/RWT_Cache/Textures/17/ag105670x54677.jpg b/RWT_Cache/Textures/17/ag105670x54677.jpg new file mode 100644 index 000000000..8665d442e Binary files /dev/null and b/RWT_Cache/Textures/17/ag105670x54677.jpg differ diff --git a/RWT_Cache/Textures/17/ag105670x54678.jpg b/RWT_Cache/Textures/17/ag105670x54678.jpg new file mode 100644 index 000000000..f933fca9c Binary files /dev/null and b/RWT_Cache/Textures/17/ag105670x54678.jpg differ diff --git a/RWT_Cache/Textures/17/ag105670x54679.jpg b/RWT_Cache/Textures/17/ag105670x54679.jpg new file mode 100644 index 000000000..6878d9c59 Binary files /dev/null and b/RWT_Cache/Textures/17/ag105670x54679.jpg differ diff --git a/RWT_Cache/Textures/17/ag105670x54680.jpg b/RWT_Cache/Textures/17/ag105670x54680.jpg new file mode 100644 index 000000000..62a527e54 Binary files /dev/null and b/RWT_Cache/Textures/17/ag105670x54680.jpg differ diff --git a/RWT_Cache/Textures/17/ag105671x54673.jpg b/RWT_Cache/Textures/17/ag105671x54673.jpg new file mode 100644 index 000000000..22975a4db Binary files /dev/null and b/RWT_Cache/Textures/17/ag105671x54673.jpg differ diff --git a/RWT_Cache/Textures/17/ag105671x54674.jpg b/RWT_Cache/Textures/17/ag105671x54674.jpg new file mode 100644 index 000000000..e2645503f Binary files /dev/null and b/RWT_Cache/Textures/17/ag105671x54674.jpg differ diff --git a/RWT_Cache/Textures/17/ag105671x54675.jpg b/RWT_Cache/Textures/17/ag105671x54675.jpg new file mode 100644 index 000000000..b2be33ab8 Binary files /dev/null and b/RWT_Cache/Textures/17/ag105671x54675.jpg differ diff --git a/RWT_Cache/Textures/17/ag105671x54676.jpg b/RWT_Cache/Textures/17/ag105671x54676.jpg new file mode 100644 index 000000000..3e13777e4 Binary files /dev/null and b/RWT_Cache/Textures/17/ag105671x54676.jpg differ diff --git a/RWT_Cache/Textures/17/ag105671x54677.jpg b/RWT_Cache/Textures/17/ag105671x54677.jpg new file mode 100644 index 000000000..efedf0887 Binary files /dev/null and b/RWT_Cache/Textures/17/ag105671x54677.jpg differ diff --git a/RWT_Cache/Textures/17/ag105671x54678.jpg b/RWT_Cache/Textures/17/ag105671x54678.jpg new file mode 100644 index 000000000..b2eac1d4a Binary files /dev/null and b/RWT_Cache/Textures/17/ag105671x54678.jpg differ diff --git a/RWT_Cache/Textures/17/ag105671x54679.jpg b/RWT_Cache/Textures/17/ag105671x54679.jpg new file mode 100644 index 000000000..8832ac002 Binary files /dev/null and b/RWT_Cache/Textures/17/ag105671x54679.jpg differ diff --git a/RWT_Cache/Textures/17/ag105671x54680.jpg b/RWT_Cache/Textures/17/ag105671x54680.jpg new file mode 100644 index 000000000..342812b87 Binary files /dev/null and b/RWT_Cache/Textures/17/ag105671x54680.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105664x54673.jpg b/RWT_Cache/Textures/17/mbs105664x54673.jpg new file mode 100644 index 000000000..6587c228f Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105664x54673.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105664x54674.jpg b/RWT_Cache/Textures/17/mbs105664x54674.jpg new file mode 100644 index 000000000..e5bcc3d11 Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105664x54674.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105664x54675.jpg b/RWT_Cache/Textures/17/mbs105664x54675.jpg new file mode 100644 index 000000000..8c06b1ac4 Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105664x54675.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105664x54676.jpg b/RWT_Cache/Textures/17/mbs105664x54676.jpg new file mode 100644 index 000000000..9a1ff5800 Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105664x54676.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105664x54677.jpg b/RWT_Cache/Textures/17/mbs105664x54677.jpg new file mode 100644 index 000000000..61886f746 Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105664x54677.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105664x54678.jpg b/RWT_Cache/Textures/17/mbs105664x54678.jpg new file mode 100644 index 000000000..61f16d21a Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105664x54678.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105664x54679.jpg b/RWT_Cache/Textures/17/mbs105664x54679.jpg new file mode 100644 index 000000000..1485eba83 Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105664x54679.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105664x54680.jpg b/RWT_Cache/Textures/17/mbs105664x54680.jpg new file mode 100644 index 000000000..47b85ebb6 Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105664x54680.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105665x54673.jpg b/RWT_Cache/Textures/17/mbs105665x54673.jpg new file mode 100644 index 000000000..30262e663 Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105665x54673.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105665x54674.jpg b/RWT_Cache/Textures/17/mbs105665x54674.jpg new file mode 100644 index 000000000..8d40e4cdb Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105665x54674.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105665x54675.jpg b/RWT_Cache/Textures/17/mbs105665x54675.jpg new file mode 100644 index 000000000..240495658 Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105665x54675.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105665x54676.jpg b/RWT_Cache/Textures/17/mbs105665x54676.jpg new file mode 100644 index 000000000..d4905730b Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105665x54676.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105665x54677.jpg b/RWT_Cache/Textures/17/mbs105665x54677.jpg new file mode 100644 index 000000000..f2b1f18ab Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105665x54677.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105665x54678.jpg b/RWT_Cache/Textures/17/mbs105665x54678.jpg new file mode 100644 index 000000000..58a2d024c Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105665x54678.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105665x54679.jpg b/RWT_Cache/Textures/17/mbs105665x54679.jpg new file mode 100644 index 000000000..d9546f98c Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105665x54679.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105665x54680.jpg b/RWT_Cache/Textures/17/mbs105665x54680.jpg new file mode 100644 index 000000000..1f3684be8 Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105665x54680.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105666x54673.jpg b/RWT_Cache/Textures/17/mbs105666x54673.jpg new file mode 100644 index 000000000..ed468819f Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105666x54673.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105666x54674.jpg b/RWT_Cache/Textures/17/mbs105666x54674.jpg new file mode 100644 index 000000000..a951ea99d Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105666x54674.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105666x54675.jpg b/RWT_Cache/Textures/17/mbs105666x54675.jpg new file mode 100644 index 000000000..67c7d6803 Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105666x54675.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105666x54676.jpg b/RWT_Cache/Textures/17/mbs105666x54676.jpg new file mode 100644 index 000000000..e895dfb62 Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105666x54676.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105666x54677.jpg b/RWT_Cache/Textures/17/mbs105666x54677.jpg new file mode 100644 index 000000000..da0a7a2c9 Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105666x54677.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105666x54678.jpg b/RWT_Cache/Textures/17/mbs105666x54678.jpg new file mode 100644 index 000000000..c87936f2f Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105666x54678.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105666x54679.jpg b/RWT_Cache/Textures/17/mbs105666x54679.jpg new file mode 100644 index 000000000..619be7f56 Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105666x54679.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105666x54680.jpg b/RWT_Cache/Textures/17/mbs105666x54680.jpg new file mode 100644 index 000000000..fe9915ba1 Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105666x54680.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105667x54673.jpg b/RWT_Cache/Textures/17/mbs105667x54673.jpg new file mode 100644 index 000000000..ce312ed87 Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105667x54673.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105667x54674.jpg b/RWT_Cache/Textures/17/mbs105667x54674.jpg new file mode 100644 index 000000000..e0e63b9a5 Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105667x54674.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105667x54675.jpg b/RWT_Cache/Textures/17/mbs105667x54675.jpg new file mode 100644 index 000000000..035f400bf Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105667x54675.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105667x54676.jpg b/RWT_Cache/Textures/17/mbs105667x54676.jpg new file mode 100644 index 000000000..880549765 Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105667x54676.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105667x54677.jpg b/RWT_Cache/Textures/17/mbs105667x54677.jpg new file mode 100644 index 000000000..c22f85e53 Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105667x54677.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105667x54678.jpg b/RWT_Cache/Textures/17/mbs105667x54678.jpg new file mode 100644 index 000000000..43abf7722 Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105667x54678.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105667x54679.jpg b/RWT_Cache/Textures/17/mbs105667x54679.jpg new file mode 100644 index 000000000..630b395a0 Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105667x54679.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105667x54680.jpg b/RWT_Cache/Textures/17/mbs105667x54680.jpg new file mode 100644 index 000000000..430e0910a Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105667x54680.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105668x54673.jpg b/RWT_Cache/Textures/17/mbs105668x54673.jpg new file mode 100644 index 000000000..e12d238a2 Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105668x54673.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105668x54674.jpg b/RWT_Cache/Textures/17/mbs105668x54674.jpg new file mode 100644 index 000000000..4a18933e2 Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105668x54674.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105668x54675.jpg b/RWT_Cache/Textures/17/mbs105668x54675.jpg new file mode 100644 index 000000000..25c60171e Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105668x54675.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105668x54676.jpg b/RWT_Cache/Textures/17/mbs105668x54676.jpg new file mode 100644 index 000000000..d125723af Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105668x54676.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105668x54677.jpg b/RWT_Cache/Textures/17/mbs105668x54677.jpg new file mode 100644 index 000000000..23f4198a2 Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105668x54677.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105668x54678.jpg b/RWT_Cache/Textures/17/mbs105668x54678.jpg new file mode 100644 index 000000000..1c7e231f8 Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105668x54678.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105668x54679.jpg b/RWT_Cache/Textures/17/mbs105668x54679.jpg new file mode 100644 index 000000000..48a5b9449 Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105668x54679.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105668x54680.jpg b/RWT_Cache/Textures/17/mbs105668x54680.jpg new file mode 100644 index 000000000..aa008dbcf Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105668x54680.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105669x54673.jpg b/RWT_Cache/Textures/17/mbs105669x54673.jpg new file mode 100644 index 000000000..7643d1901 Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105669x54673.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105669x54674.jpg b/RWT_Cache/Textures/17/mbs105669x54674.jpg new file mode 100644 index 000000000..860da87a8 Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105669x54674.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105669x54675.jpg b/RWT_Cache/Textures/17/mbs105669x54675.jpg new file mode 100644 index 000000000..0aa0ba1e8 Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105669x54675.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105669x54676.jpg b/RWT_Cache/Textures/17/mbs105669x54676.jpg new file mode 100644 index 000000000..0c8c3b88f Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105669x54676.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105669x54677.jpg b/RWT_Cache/Textures/17/mbs105669x54677.jpg new file mode 100644 index 000000000..28070c1f5 Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105669x54677.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105669x54678.jpg b/RWT_Cache/Textures/17/mbs105669x54678.jpg new file mode 100644 index 000000000..263a8df15 Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105669x54678.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105669x54679.jpg b/RWT_Cache/Textures/17/mbs105669x54679.jpg new file mode 100644 index 000000000..1c6fdd912 Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105669x54679.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105669x54680.jpg b/RWT_Cache/Textures/17/mbs105669x54680.jpg new file mode 100644 index 000000000..157cd7a61 Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105669x54680.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105670x54673.jpg b/RWT_Cache/Textures/17/mbs105670x54673.jpg new file mode 100644 index 000000000..57e4dc8f9 Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105670x54673.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105670x54674.jpg b/RWT_Cache/Textures/17/mbs105670x54674.jpg new file mode 100644 index 000000000..c6985d055 Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105670x54674.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105670x54675.jpg b/RWT_Cache/Textures/17/mbs105670x54675.jpg new file mode 100644 index 000000000..feaadf1a1 Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105670x54675.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105670x54676.jpg b/RWT_Cache/Textures/17/mbs105670x54676.jpg new file mode 100644 index 000000000..96b2c0d89 Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105670x54676.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105670x54677.jpg b/RWT_Cache/Textures/17/mbs105670x54677.jpg new file mode 100644 index 000000000..8010ce40b Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105670x54677.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105670x54678.jpg b/RWT_Cache/Textures/17/mbs105670x54678.jpg new file mode 100644 index 000000000..77c01996d Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105670x54678.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105670x54679.jpg b/RWT_Cache/Textures/17/mbs105670x54679.jpg new file mode 100644 index 000000000..b7424f07a Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105670x54679.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105670x54680.jpg b/RWT_Cache/Textures/17/mbs105670x54680.jpg new file mode 100644 index 000000000..aa30833a3 Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105670x54680.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105671x54673.jpg b/RWT_Cache/Textures/17/mbs105671x54673.jpg new file mode 100644 index 000000000..a2b6b9b52 Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105671x54673.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105671x54674.jpg b/RWT_Cache/Textures/17/mbs105671x54674.jpg new file mode 100644 index 000000000..a32eba164 Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105671x54674.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105671x54675.jpg b/RWT_Cache/Textures/17/mbs105671x54675.jpg new file mode 100644 index 000000000..d317699fb Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105671x54675.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105671x54676.jpg b/RWT_Cache/Textures/17/mbs105671x54676.jpg new file mode 100644 index 000000000..7162df4ff Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105671x54676.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105671x54677.jpg b/RWT_Cache/Textures/17/mbs105671x54677.jpg new file mode 100644 index 000000000..5c27f20d7 Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105671x54677.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105671x54678.jpg b/RWT_Cache/Textures/17/mbs105671x54678.jpg new file mode 100644 index 000000000..61dcf9ffd Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105671x54678.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105671x54679.jpg b/RWT_Cache/Textures/17/mbs105671x54679.jpg new file mode 100644 index 000000000..ca216d1db Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105671x54679.jpg differ diff --git a/RWT_Cache/Textures/17/mbs105671x54680.jpg b/RWT_Cache/Textures/17/mbs105671x54680.jpg new file mode 100644 index 000000000..88b9cc5c7 Binary files /dev/null and b/RWT_Cache/Textures/17/mbs105671x54680.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105664x54673.jpg b/RWT_Cache/Textures/17/s2s105664x54673.jpg new file mode 100644 index 000000000..3ed9963bb Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105664x54673.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105664x54674.jpg b/RWT_Cache/Textures/17/s2s105664x54674.jpg new file mode 100644 index 000000000..e554b0e6e Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105664x54674.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105664x54675.jpg b/RWT_Cache/Textures/17/s2s105664x54675.jpg new file mode 100644 index 000000000..56db1e4e8 Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105664x54675.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105664x54676.jpg b/RWT_Cache/Textures/17/s2s105664x54676.jpg new file mode 100644 index 000000000..e659af31d Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105664x54676.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105664x54677.jpg b/RWT_Cache/Textures/17/s2s105664x54677.jpg new file mode 100644 index 000000000..f8ca168b7 Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105664x54677.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105664x54678.jpg b/RWT_Cache/Textures/17/s2s105664x54678.jpg new file mode 100644 index 000000000..64a4567f4 Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105664x54678.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105664x54679.jpg b/RWT_Cache/Textures/17/s2s105664x54679.jpg new file mode 100644 index 000000000..ff2ee9e42 Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105664x54679.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105664x54680.jpg b/RWT_Cache/Textures/17/s2s105664x54680.jpg new file mode 100644 index 000000000..00db33271 Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105664x54680.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105665x54673.jpg b/RWT_Cache/Textures/17/s2s105665x54673.jpg new file mode 100644 index 000000000..748bf93d1 Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105665x54673.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105665x54674.jpg b/RWT_Cache/Textures/17/s2s105665x54674.jpg new file mode 100644 index 000000000..5a5ced499 Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105665x54674.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105665x54675.jpg b/RWT_Cache/Textures/17/s2s105665x54675.jpg new file mode 100644 index 000000000..1f281bb5c Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105665x54675.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105665x54676.jpg b/RWT_Cache/Textures/17/s2s105665x54676.jpg new file mode 100644 index 000000000..c984c0041 Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105665x54676.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105665x54677.jpg b/RWT_Cache/Textures/17/s2s105665x54677.jpg new file mode 100644 index 000000000..7633864be Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105665x54677.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105665x54678.jpg b/RWT_Cache/Textures/17/s2s105665x54678.jpg new file mode 100644 index 000000000..8fc13c14c Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105665x54678.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105665x54679.jpg b/RWT_Cache/Textures/17/s2s105665x54679.jpg new file mode 100644 index 000000000..7f35956f7 Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105665x54679.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105665x54680.jpg b/RWT_Cache/Textures/17/s2s105665x54680.jpg new file mode 100644 index 000000000..7ee54a942 Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105665x54680.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105666x54673.jpg b/RWT_Cache/Textures/17/s2s105666x54673.jpg new file mode 100644 index 000000000..8f4b23a03 Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105666x54673.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105666x54674.jpg b/RWT_Cache/Textures/17/s2s105666x54674.jpg new file mode 100644 index 000000000..f70179f7b Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105666x54674.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105666x54675.jpg b/RWT_Cache/Textures/17/s2s105666x54675.jpg new file mode 100644 index 000000000..0137e638d Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105666x54675.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105666x54676.jpg b/RWT_Cache/Textures/17/s2s105666x54676.jpg new file mode 100644 index 000000000..27527430b Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105666x54676.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105666x54677.jpg b/RWT_Cache/Textures/17/s2s105666x54677.jpg new file mode 100644 index 000000000..89892df5b Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105666x54677.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105666x54678.jpg b/RWT_Cache/Textures/17/s2s105666x54678.jpg new file mode 100644 index 000000000..3c3463dc8 Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105666x54678.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105666x54679.jpg b/RWT_Cache/Textures/17/s2s105666x54679.jpg new file mode 100644 index 000000000..baba10ba9 Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105666x54679.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105666x54680.jpg b/RWT_Cache/Textures/17/s2s105666x54680.jpg new file mode 100644 index 000000000..e4fcd5494 Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105666x54680.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105667x54673.jpg b/RWT_Cache/Textures/17/s2s105667x54673.jpg new file mode 100644 index 000000000..86696b6f5 Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105667x54673.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105667x54674.jpg b/RWT_Cache/Textures/17/s2s105667x54674.jpg new file mode 100644 index 000000000..d8327ae40 Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105667x54674.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105667x54675.jpg b/RWT_Cache/Textures/17/s2s105667x54675.jpg new file mode 100644 index 000000000..d95fadf46 Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105667x54675.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105667x54676.jpg b/RWT_Cache/Textures/17/s2s105667x54676.jpg new file mode 100644 index 000000000..3fbc0d73b Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105667x54676.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105667x54677.jpg b/RWT_Cache/Textures/17/s2s105667x54677.jpg new file mode 100644 index 000000000..2c4de4b6b Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105667x54677.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105667x54678.jpg b/RWT_Cache/Textures/17/s2s105667x54678.jpg new file mode 100644 index 000000000..32264c12f Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105667x54678.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105667x54679.jpg b/RWT_Cache/Textures/17/s2s105667x54679.jpg new file mode 100644 index 000000000..6282e3934 Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105667x54679.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105667x54680.jpg b/RWT_Cache/Textures/17/s2s105667x54680.jpg new file mode 100644 index 000000000..26d8435a7 Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105667x54680.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105668x54673.jpg b/RWT_Cache/Textures/17/s2s105668x54673.jpg new file mode 100644 index 000000000..f422e427f Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105668x54673.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105668x54674.jpg b/RWT_Cache/Textures/17/s2s105668x54674.jpg new file mode 100644 index 000000000..59b3dc2bb Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105668x54674.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105668x54675.jpg b/RWT_Cache/Textures/17/s2s105668x54675.jpg new file mode 100644 index 000000000..0a33860de Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105668x54675.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105668x54676.jpg b/RWT_Cache/Textures/17/s2s105668x54676.jpg new file mode 100644 index 000000000..47191b9ca Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105668x54676.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105668x54677.jpg b/RWT_Cache/Textures/17/s2s105668x54677.jpg new file mode 100644 index 000000000..672ff9700 Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105668x54677.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105668x54678.jpg b/RWT_Cache/Textures/17/s2s105668x54678.jpg new file mode 100644 index 000000000..2a2fd9334 Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105668x54678.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105668x54679.jpg b/RWT_Cache/Textures/17/s2s105668x54679.jpg new file mode 100644 index 000000000..6aa1e703b Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105668x54679.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105668x54680.jpg b/RWT_Cache/Textures/17/s2s105668x54680.jpg new file mode 100644 index 000000000..397a2c1c1 Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105668x54680.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105669x54673.jpg b/RWT_Cache/Textures/17/s2s105669x54673.jpg new file mode 100644 index 000000000..09345bdbb Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105669x54673.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105669x54674.jpg b/RWT_Cache/Textures/17/s2s105669x54674.jpg new file mode 100644 index 000000000..9749f6473 Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105669x54674.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105669x54675.jpg b/RWT_Cache/Textures/17/s2s105669x54675.jpg new file mode 100644 index 000000000..6595d9928 Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105669x54675.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105669x54676.jpg b/RWT_Cache/Textures/17/s2s105669x54676.jpg new file mode 100644 index 000000000..eab95cab2 Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105669x54676.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105669x54677.jpg b/RWT_Cache/Textures/17/s2s105669x54677.jpg new file mode 100644 index 000000000..60633482e Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105669x54677.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105669x54678.jpg b/RWT_Cache/Textures/17/s2s105669x54678.jpg new file mode 100644 index 000000000..1d99e224d Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105669x54678.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105669x54679.jpg b/RWT_Cache/Textures/17/s2s105669x54679.jpg new file mode 100644 index 000000000..055fdd940 Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105669x54679.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105669x54680.jpg b/RWT_Cache/Textures/17/s2s105669x54680.jpg new file mode 100644 index 000000000..913cebf7b Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105669x54680.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105670x54673.jpg b/RWT_Cache/Textures/17/s2s105670x54673.jpg new file mode 100644 index 000000000..094e50b69 Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105670x54673.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105670x54674.jpg b/RWT_Cache/Textures/17/s2s105670x54674.jpg new file mode 100644 index 000000000..e31bccace Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105670x54674.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105670x54675.jpg b/RWT_Cache/Textures/17/s2s105670x54675.jpg new file mode 100644 index 000000000..9dccc7876 Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105670x54675.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105670x54676.jpg b/RWT_Cache/Textures/17/s2s105670x54676.jpg new file mode 100644 index 000000000..af8310eaf Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105670x54676.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105670x54677.jpg b/RWT_Cache/Textures/17/s2s105670x54677.jpg new file mode 100644 index 000000000..13b144c8f Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105670x54677.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105670x54678.jpg b/RWT_Cache/Textures/17/s2s105670x54678.jpg new file mode 100644 index 000000000..84ab0f9a9 Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105670x54678.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105670x54679.jpg b/RWT_Cache/Textures/17/s2s105670x54679.jpg new file mode 100644 index 000000000..6fab1f879 Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105670x54679.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105670x54680.jpg b/RWT_Cache/Textures/17/s2s105670x54680.jpg new file mode 100644 index 000000000..ba214ba52 Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105670x54680.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105671x54673.jpg b/RWT_Cache/Textures/17/s2s105671x54673.jpg new file mode 100644 index 000000000..dec4aab9e Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105671x54673.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105671x54674.jpg b/RWT_Cache/Textures/17/s2s105671x54674.jpg new file mode 100644 index 000000000..5ed7afe3a Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105671x54674.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105671x54675.jpg b/RWT_Cache/Textures/17/s2s105671x54675.jpg new file mode 100644 index 000000000..1131630f2 Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105671x54675.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105671x54676.jpg b/RWT_Cache/Textures/17/s2s105671x54676.jpg new file mode 100644 index 000000000..a900ca517 Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105671x54676.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105671x54677.jpg b/RWT_Cache/Textures/17/s2s105671x54677.jpg new file mode 100644 index 000000000..867ad9163 Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105671x54677.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105671x54678.jpg b/RWT_Cache/Textures/17/s2s105671x54678.jpg new file mode 100644 index 000000000..db406f97e Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105671x54678.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105671x54679.jpg b/RWT_Cache/Textures/17/s2s105671x54679.jpg new file mode 100644 index 000000000..719fd03ee Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105671x54679.jpg differ diff --git a/RWT_Cache/Textures/17/s2s105671x54680.jpg b/RWT_Cache/Textures/17/s2s105671x54680.jpg new file mode 100644 index 000000000..8549a6949 Binary files /dev/null and b/RWT_Cache/Textures/17/s2s105671x54680.jpg differ diff --git a/RWT_Cache/Textures/18/ag211328x109347.jpg b/RWT_Cache/Textures/18/ag211328x109347.jpg new file mode 100644 index 000000000..4468b1826 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211328x109347.jpg differ diff --git a/RWT_Cache/Textures/18/ag211328x109348.jpg b/RWT_Cache/Textures/18/ag211328x109348.jpg new file mode 100644 index 000000000..ef6dcf768 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211328x109348.jpg differ diff --git a/RWT_Cache/Textures/18/ag211328x109349.jpg b/RWT_Cache/Textures/18/ag211328x109349.jpg new file mode 100644 index 000000000..0ad459ae6 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211328x109349.jpg differ diff --git a/RWT_Cache/Textures/18/ag211328x109350.jpg b/RWT_Cache/Textures/18/ag211328x109350.jpg new file mode 100644 index 000000000..bdc27a19d Binary files /dev/null and b/RWT_Cache/Textures/18/ag211328x109350.jpg differ diff --git a/RWT_Cache/Textures/18/ag211328x109351.jpg b/RWT_Cache/Textures/18/ag211328x109351.jpg new file mode 100644 index 000000000..d652dfb21 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211328x109351.jpg differ diff --git a/RWT_Cache/Textures/18/ag211328x109352.jpg b/RWT_Cache/Textures/18/ag211328x109352.jpg new file mode 100644 index 000000000..2e3c84986 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211328x109352.jpg differ diff --git a/RWT_Cache/Textures/18/ag211328x109353.jpg b/RWT_Cache/Textures/18/ag211328x109353.jpg new file mode 100644 index 000000000..380671e37 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211328x109353.jpg differ diff --git a/RWT_Cache/Textures/18/ag211328x109354.jpg b/RWT_Cache/Textures/18/ag211328x109354.jpg new file mode 100644 index 000000000..e93840d0d Binary files /dev/null and b/RWT_Cache/Textures/18/ag211328x109354.jpg differ diff --git a/RWT_Cache/Textures/18/ag211328x109355.jpg b/RWT_Cache/Textures/18/ag211328x109355.jpg new file mode 100644 index 000000000..3027e6e27 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211328x109355.jpg differ diff --git a/RWT_Cache/Textures/18/ag211328x109356.jpg b/RWT_Cache/Textures/18/ag211328x109356.jpg new file mode 100644 index 000000000..3ef88df63 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211328x109356.jpg differ diff --git a/RWT_Cache/Textures/18/ag211328x109357.jpg b/RWT_Cache/Textures/18/ag211328x109357.jpg new file mode 100644 index 000000000..45c591e63 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211328x109357.jpg differ diff --git a/RWT_Cache/Textures/18/ag211328x109358.jpg b/RWT_Cache/Textures/18/ag211328x109358.jpg new file mode 100644 index 000000000..3b1ddbf50 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211328x109358.jpg differ diff --git a/RWT_Cache/Textures/18/ag211328x109359.jpg b/RWT_Cache/Textures/18/ag211328x109359.jpg new file mode 100644 index 000000000..390358d11 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211328x109359.jpg differ diff --git a/RWT_Cache/Textures/18/ag211328x109360.jpg b/RWT_Cache/Textures/18/ag211328x109360.jpg new file mode 100644 index 000000000..e7fb1f53a Binary files /dev/null and b/RWT_Cache/Textures/18/ag211328x109360.jpg differ diff --git a/RWT_Cache/Textures/18/ag211328x109361.jpg b/RWT_Cache/Textures/18/ag211328x109361.jpg new file mode 100644 index 000000000..84fccf696 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211328x109361.jpg differ diff --git a/RWT_Cache/Textures/18/ag211329x109347.jpg b/RWT_Cache/Textures/18/ag211329x109347.jpg new file mode 100644 index 000000000..e439dfcec Binary files /dev/null and b/RWT_Cache/Textures/18/ag211329x109347.jpg differ diff --git a/RWT_Cache/Textures/18/ag211329x109348.jpg b/RWT_Cache/Textures/18/ag211329x109348.jpg new file mode 100644 index 000000000..d309165a7 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211329x109348.jpg differ diff --git a/RWT_Cache/Textures/18/ag211329x109349.jpg b/RWT_Cache/Textures/18/ag211329x109349.jpg new file mode 100644 index 000000000..3a3c30391 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211329x109349.jpg differ diff --git a/RWT_Cache/Textures/18/ag211329x109350.jpg b/RWT_Cache/Textures/18/ag211329x109350.jpg new file mode 100644 index 000000000..ac9c597a5 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211329x109350.jpg differ diff --git a/RWT_Cache/Textures/18/ag211329x109351.jpg b/RWT_Cache/Textures/18/ag211329x109351.jpg new file mode 100644 index 000000000..c68aa528e Binary files /dev/null and b/RWT_Cache/Textures/18/ag211329x109351.jpg differ diff --git a/RWT_Cache/Textures/18/ag211329x109352.jpg b/RWT_Cache/Textures/18/ag211329x109352.jpg new file mode 100644 index 000000000..6512621a7 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211329x109352.jpg differ diff --git a/RWT_Cache/Textures/18/ag211329x109353.jpg b/RWT_Cache/Textures/18/ag211329x109353.jpg new file mode 100644 index 000000000..2b901c26f Binary files /dev/null and b/RWT_Cache/Textures/18/ag211329x109353.jpg differ diff --git a/RWT_Cache/Textures/18/ag211329x109354.jpg b/RWT_Cache/Textures/18/ag211329x109354.jpg new file mode 100644 index 000000000..852e797fa Binary files /dev/null and b/RWT_Cache/Textures/18/ag211329x109354.jpg differ diff --git a/RWT_Cache/Textures/18/ag211329x109355.jpg b/RWT_Cache/Textures/18/ag211329x109355.jpg new file mode 100644 index 000000000..85257bdd8 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211329x109355.jpg differ diff --git a/RWT_Cache/Textures/18/ag211329x109356.jpg b/RWT_Cache/Textures/18/ag211329x109356.jpg new file mode 100644 index 000000000..f6473f033 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211329x109356.jpg differ diff --git a/RWT_Cache/Textures/18/ag211329x109357.jpg b/RWT_Cache/Textures/18/ag211329x109357.jpg new file mode 100644 index 000000000..27cd79694 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211329x109357.jpg differ diff --git a/RWT_Cache/Textures/18/ag211329x109358.jpg b/RWT_Cache/Textures/18/ag211329x109358.jpg new file mode 100644 index 000000000..ec6f2ef0f Binary files /dev/null and b/RWT_Cache/Textures/18/ag211329x109358.jpg differ diff --git a/RWT_Cache/Textures/18/ag211329x109359.jpg b/RWT_Cache/Textures/18/ag211329x109359.jpg new file mode 100644 index 000000000..430641c30 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211329x109359.jpg differ diff --git a/RWT_Cache/Textures/18/ag211329x109360.jpg b/RWT_Cache/Textures/18/ag211329x109360.jpg new file mode 100644 index 000000000..8c946a377 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211329x109360.jpg differ diff --git a/RWT_Cache/Textures/18/ag211329x109361.jpg b/RWT_Cache/Textures/18/ag211329x109361.jpg new file mode 100644 index 000000000..3d98dbb45 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211329x109361.jpg differ diff --git a/RWT_Cache/Textures/18/ag211330x109347.jpg b/RWT_Cache/Textures/18/ag211330x109347.jpg new file mode 100644 index 000000000..35c7c65e9 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211330x109347.jpg differ diff --git a/RWT_Cache/Textures/18/ag211330x109348.jpg b/RWT_Cache/Textures/18/ag211330x109348.jpg new file mode 100644 index 000000000..9b2853111 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211330x109348.jpg differ diff --git a/RWT_Cache/Textures/18/ag211330x109349.jpg b/RWT_Cache/Textures/18/ag211330x109349.jpg new file mode 100644 index 000000000..5f2a5c4f8 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211330x109349.jpg differ diff --git a/RWT_Cache/Textures/18/ag211330x109350.jpg b/RWT_Cache/Textures/18/ag211330x109350.jpg new file mode 100644 index 000000000..2f039517e Binary files /dev/null and b/RWT_Cache/Textures/18/ag211330x109350.jpg differ diff --git a/RWT_Cache/Textures/18/ag211330x109351.jpg b/RWT_Cache/Textures/18/ag211330x109351.jpg new file mode 100644 index 000000000..8fc506214 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211330x109351.jpg differ diff --git a/RWT_Cache/Textures/18/ag211330x109352.jpg b/RWT_Cache/Textures/18/ag211330x109352.jpg new file mode 100644 index 000000000..fda522874 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211330x109352.jpg differ diff --git a/RWT_Cache/Textures/18/ag211330x109353.jpg b/RWT_Cache/Textures/18/ag211330x109353.jpg new file mode 100644 index 000000000..0ae72933f Binary files /dev/null and b/RWT_Cache/Textures/18/ag211330x109353.jpg differ diff --git a/RWT_Cache/Textures/18/ag211330x109354.jpg b/RWT_Cache/Textures/18/ag211330x109354.jpg new file mode 100644 index 000000000..1ed2f3b6a Binary files /dev/null and b/RWT_Cache/Textures/18/ag211330x109354.jpg differ diff --git a/RWT_Cache/Textures/18/ag211330x109355.jpg b/RWT_Cache/Textures/18/ag211330x109355.jpg new file mode 100644 index 000000000..523c918c2 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211330x109355.jpg differ diff --git a/RWT_Cache/Textures/18/ag211330x109356.jpg b/RWT_Cache/Textures/18/ag211330x109356.jpg new file mode 100644 index 000000000..73167c147 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211330x109356.jpg differ diff --git a/RWT_Cache/Textures/18/ag211330x109357.jpg b/RWT_Cache/Textures/18/ag211330x109357.jpg new file mode 100644 index 000000000..067dfa9b3 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211330x109357.jpg differ diff --git a/RWT_Cache/Textures/18/ag211330x109358.jpg b/RWT_Cache/Textures/18/ag211330x109358.jpg new file mode 100644 index 000000000..359421325 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211330x109358.jpg differ diff --git a/RWT_Cache/Textures/18/ag211330x109359.jpg b/RWT_Cache/Textures/18/ag211330x109359.jpg new file mode 100644 index 000000000..d4c15b2b9 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211330x109359.jpg differ diff --git a/RWT_Cache/Textures/18/ag211330x109360.jpg b/RWT_Cache/Textures/18/ag211330x109360.jpg new file mode 100644 index 000000000..99c1c402b Binary files /dev/null and b/RWT_Cache/Textures/18/ag211330x109360.jpg differ diff --git a/RWT_Cache/Textures/18/ag211330x109361.jpg b/RWT_Cache/Textures/18/ag211330x109361.jpg new file mode 100644 index 000000000..42dab28f6 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211330x109361.jpg differ diff --git a/RWT_Cache/Textures/18/ag211331x109347.jpg b/RWT_Cache/Textures/18/ag211331x109347.jpg new file mode 100644 index 000000000..e876fddc8 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211331x109347.jpg differ diff --git a/RWT_Cache/Textures/18/ag211331x109348.jpg b/RWT_Cache/Textures/18/ag211331x109348.jpg new file mode 100644 index 000000000..85caace8d Binary files /dev/null and b/RWT_Cache/Textures/18/ag211331x109348.jpg differ diff --git a/RWT_Cache/Textures/18/ag211331x109349.jpg b/RWT_Cache/Textures/18/ag211331x109349.jpg new file mode 100644 index 000000000..1c3a208c0 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211331x109349.jpg differ diff --git a/RWT_Cache/Textures/18/ag211331x109350.jpg b/RWT_Cache/Textures/18/ag211331x109350.jpg new file mode 100644 index 000000000..21159510f Binary files /dev/null and b/RWT_Cache/Textures/18/ag211331x109350.jpg differ diff --git a/RWT_Cache/Textures/18/ag211331x109351.jpg b/RWT_Cache/Textures/18/ag211331x109351.jpg new file mode 100644 index 000000000..8beb345d6 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211331x109351.jpg differ diff --git a/RWT_Cache/Textures/18/ag211331x109352.jpg b/RWT_Cache/Textures/18/ag211331x109352.jpg new file mode 100644 index 000000000..d7b90ceef Binary files /dev/null and b/RWT_Cache/Textures/18/ag211331x109352.jpg differ diff --git a/RWT_Cache/Textures/18/ag211331x109353.jpg b/RWT_Cache/Textures/18/ag211331x109353.jpg new file mode 100644 index 000000000..c80e95c06 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211331x109353.jpg differ diff --git a/RWT_Cache/Textures/18/ag211331x109354.jpg b/RWT_Cache/Textures/18/ag211331x109354.jpg new file mode 100644 index 000000000..d27c20e60 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211331x109354.jpg differ diff --git a/RWT_Cache/Textures/18/ag211331x109355.jpg b/RWT_Cache/Textures/18/ag211331x109355.jpg new file mode 100644 index 000000000..073438a7a Binary files /dev/null and b/RWT_Cache/Textures/18/ag211331x109355.jpg differ diff --git a/RWT_Cache/Textures/18/ag211331x109356.jpg b/RWT_Cache/Textures/18/ag211331x109356.jpg new file mode 100644 index 000000000..dd514f62f Binary files /dev/null and b/RWT_Cache/Textures/18/ag211331x109356.jpg differ diff --git a/RWT_Cache/Textures/18/ag211331x109357.jpg b/RWT_Cache/Textures/18/ag211331x109357.jpg new file mode 100644 index 000000000..100fa6cc1 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211331x109357.jpg differ diff --git a/RWT_Cache/Textures/18/ag211331x109358.jpg b/RWT_Cache/Textures/18/ag211331x109358.jpg new file mode 100644 index 000000000..ea307534a Binary files /dev/null and b/RWT_Cache/Textures/18/ag211331x109358.jpg differ diff --git a/RWT_Cache/Textures/18/ag211331x109359.jpg b/RWT_Cache/Textures/18/ag211331x109359.jpg new file mode 100644 index 000000000..51503beaa Binary files /dev/null and b/RWT_Cache/Textures/18/ag211331x109359.jpg differ diff --git a/RWT_Cache/Textures/18/ag211331x109360.jpg b/RWT_Cache/Textures/18/ag211331x109360.jpg new file mode 100644 index 000000000..bdd94179f Binary files /dev/null and b/RWT_Cache/Textures/18/ag211331x109360.jpg differ diff --git a/RWT_Cache/Textures/18/ag211331x109361.jpg b/RWT_Cache/Textures/18/ag211331x109361.jpg new file mode 100644 index 000000000..af5605cfe Binary files /dev/null and b/RWT_Cache/Textures/18/ag211331x109361.jpg differ diff --git a/RWT_Cache/Textures/18/ag211332x109347.jpg b/RWT_Cache/Textures/18/ag211332x109347.jpg new file mode 100644 index 000000000..f72f45b34 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211332x109347.jpg differ diff --git a/RWT_Cache/Textures/18/ag211332x109348.jpg b/RWT_Cache/Textures/18/ag211332x109348.jpg new file mode 100644 index 000000000..0d207f6fd Binary files /dev/null and b/RWT_Cache/Textures/18/ag211332x109348.jpg differ diff --git a/RWT_Cache/Textures/18/ag211332x109349.jpg b/RWT_Cache/Textures/18/ag211332x109349.jpg new file mode 100644 index 000000000..f0b73514e Binary files /dev/null and b/RWT_Cache/Textures/18/ag211332x109349.jpg differ diff --git a/RWT_Cache/Textures/18/ag211332x109350.jpg b/RWT_Cache/Textures/18/ag211332x109350.jpg new file mode 100644 index 000000000..736fe1a51 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211332x109350.jpg differ diff --git a/RWT_Cache/Textures/18/ag211332x109351.jpg b/RWT_Cache/Textures/18/ag211332x109351.jpg new file mode 100644 index 000000000..bbe7e1610 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211332x109351.jpg differ diff --git a/RWT_Cache/Textures/18/ag211332x109352.jpg b/RWT_Cache/Textures/18/ag211332x109352.jpg new file mode 100644 index 000000000..095be3592 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211332x109352.jpg differ diff --git a/RWT_Cache/Textures/18/ag211332x109353.jpg b/RWT_Cache/Textures/18/ag211332x109353.jpg new file mode 100644 index 000000000..08a55730f Binary files /dev/null and b/RWT_Cache/Textures/18/ag211332x109353.jpg differ diff --git a/RWT_Cache/Textures/18/ag211332x109354.jpg b/RWT_Cache/Textures/18/ag211332x109354.jpg new file mode 100644 index 000000000..988b0a7b2 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211332x109354.jpg differ diff --git a/RWT_Cache/Textures/18/ag211332x109355.jpg b/RWT_Cache/Textures/18/ag211332x109355.jpg new file mode 100644 index 000000000..3cc8c6f21 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211332x109355.jpg differ diff --git a/RWT_Cache/Textures/18/ag211332x109356.jpg b/RWT_Cache/Textures/18/ag211332x109356.jpg new file mode 100644 index 000000000..c1de1913c Binary files /dev/null and b/RWT_Cache/Textures/18/ag211332x109356.jpg differ diff --git a/RWT_Cache/Textures/18/ag211332x109357.jpg b/RWT_Cache/Textures/18/ag211332x109357.jpg new file mode 100644 index 000000000..1577cb11c Binary files /dev/null and b/RWT_Cache/Textures/18/ag211332x109357.jpg differ diff --git a/RWT_Cache/Textures/18/ag211332x109358.jpg b/RWT_Cache/Textures/18/ag211332x109358.jpg new file mode 100644 index 000000000..1419ce35f Binary files /dev/null and b/RWT_Cache/Textures/18/ag211332x109358.jpg differ diff --git a/RWT_Cache/Textures/18/ag211332x109359.jpg b/RWT_Cache/Textures/18/ag211332x109359.jpg new file mode 100644 index 000000000..aa5bb58f2 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211332x109359.jpg differ diff --git a/RWT_Cache/Textures/18/ag211332x109360.jpg b/RWT_Cache/Textures/18/ag211332x109360.jpg new file mode 100644 index 000000000..5e91ad8d5 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211332x109360.jpg differ diff --git a/RWT_Cache/Textures/18/ag211332x109361.jpg b/RWT_Cache/Textures/18/ag211332x109361.jpg new file mode 100644 index 000000000..56313c578 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211332x109361.jpg differ diff --git a/RWT_Cache/Textures/18/ag211333x109347.jpg b/RWT_Cache/Textures/18/ag211333x109347.jpg new file mode 100644 index 000000000..800fb70f4 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211333x109347.jpg differ diff --git a/RWT_Cache/Textures/18/ag211333x109348.jpg b/RWT_Cache/Textures/18/ag211333x109348.jpg new file mode 100644 index 000000000..fddc42fd3 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211333x109348.jpg differ diff --git a/RWT_Cache/Textures/18/ag211333x109349.jpg b/RWT_Cache/Textures/18/ag211333x109349.jpg new file mode 100644 index 000000000..aef93f730 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211333x109349.jpg differ diff --git a/RWT_Cache/Textures/18/ag211333x109350.jpg b/RWT_Cache/Textures/18/ag211333x109350.jpg new file mode 100644 index 000000000..849241bf3 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211333x109350.jpg differ diff --git a/RWT_Cache/Textures/18/ag211333x109351.jpg b/RWT_Cache/Textures/18/ag211333x109351.jpg new file mode 100644 index 000000000..00f009010 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211333x109351.jpg differ diff --git a/RWT_Cache/Textures/18/ag211333x109352.jpg b/RWT_Cache/Textures/18/ag211333x109352.jpg new file mode 100644 index 000000000..904a39913 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211333x109352.jpg differ diff --git a/RWT_Cache/Textures/18/ag211333x109353.jpg b/RWT_Cache/Textures/18/ag211333x109353.jpg new file mode 100644 index 000000000..8abc31d25 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211333x109353.jpg differ diff --git a/RWT_Cache/Textures/18/ag211333x109354.jpg b/RWT_Cache/Textures/18/ag211333x109354.jpg new file mode 100644 index 000000000..9594cdb8e Binary files /dev/null and b/RWT_Cache/Textures/18/ag211333x109354.jpg differ diff --git a/RWT_Cache/Textures/18/ag211333x109355.jpg b/RWT_Cache/Textures/18/ag211333x109355.jpg new file mode 100644 index 000000000..47e259b2f Binary files /dev/null and b/RWT_Cache/Textures/18/ag211333x109355.jpg differ diff --git a/RWT_Cache/Textures/18/ag211333x109356.jpg b/RWT_Cache/Textures/18/ag211333x109356.jpg new file mode 100644 index 000000000..b25991496 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211333x109356.jpg differ diff --git a/RWT_Cache/Textures/18/ag211333x109357.jpg b/RWT_Cache/Textures/18/ag211333x109357.jpg new file mode 100644 index 000000000..7921330df Binary files /dev/null and b/RWT_Cache/Textures/18/ag211333x109357.jpg differ diff --git a/RWT_Cache/Textures/18/ag211333x109358.jpg b/RWT_Cache/Textures/18/ag211333x109358.jpg new file mode 100644 index 000000000..49dcaf004 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211333x109358.jpg differ diff --git a/RWT_Cache/Textures/18/ag211333x109359.jpg b/RWT_Cache/Textures/18/ag211333x109359.jpg new file mode 100644 index 000000000..8237d0e13 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211333x109359.jpg differ diff --git a/RWT_Cache/Textures/18/ag211333x109360.jpg b/RWT_Cache/Textures/18/ag211333x109360.jpg new file mode 100644 index 000000000..bced51f72 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211333x109360.jpg differ diff --git a/RWT_Cache/Textures/18/ag211333x109361.jpg b/RWT_Cache/Textures/18/ag211333x109361.jpg new file mode 100644 index 000000000..329c508f2 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211333x109361.jpg differ diff --git a/RWT_Cache/Textures/18/ag211334x109347.jpg b/RWT_Cache/Textures/18/ag211334x109347.jpg new file mode 100644 index 000000000..6f43ab000 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211334x109347.jpg differ diff --git a/RWT_Cache/Textures/18/ag211334x109348.jpg b/RWT_Cache/Textures/18/ag211334x109348.jpg new file mode 100644 index 000000000..db2d26355 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211334x109348.jpg differ diff --git a/RWT_Cache/Textures/18/ag211334x109349.jpg b/RWT_Cache/Textures/18/ag211334x109349.jpg new file mode 100644 index 000000000..371152360 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211334x109349.jpg differ diff --git a/RWT_Cache/Textures/18/ag211334x109350.jpg b/RWT_Cache/Textures/18/ag211334x109350.jpg new file mode 100644 index 000000000..5dfae0d22 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211334x109350.jpg differ diff --git a/RWT_Cache/Textures/18/ag211334x109351.jpg b/RWT_Cache/Textures/18/ag211334x109351.jpg new file mode 100644 index 000000000..ac39cb637 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211334x109351.jpg differ diff --git a/RWT_Cache/Textures/18/ag211334x109352.jpg b/RWT_Cache/Textures/18/ag211334x109352.jpg new file mode 100644 index 000000000..1d5be31ed Binary files /dev/null and b/RWT_Cache/Textures/18/ag211334x109352.jpg differ diff --git a/RWT_Cache/Textures/18/ag211334x109353.jpg b/RWT_Cache/Textures/18/ag211334x109353.jpg new file mode 100644 index 000000000..531245444 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211334x109353.jpg differ diff --git a/RWT_Cache/Textures/18/ag211334x109354.jpg b/RWT_Cache/Textures/18/ag211334x109354.jpg new file mode 100644 index 000000000..fd87d8479 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211334x109354.jpg differ diff --git a/RWT_Cache/Textures/18/ag211334x109355.jpg b/RWT_Cache/Textures/18/ag211334x109355.jpg new file mode 100644 index 000000000..e77f141f4 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211334x109355.jpg differ diff --git a/RWT_Cache/Textures/18/ag211334x109356.jpg b/RWT_Cache/Textures/18/ag211334x109356.jpg new file mode 100644 index 000000000..4fa00f502 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211334x109356.jpg differ diff --git a/RWT_Cache/Textures/18/ag211334x109357.jpg b/RWT_Cache/Textures/18/ag211334x109357.jpg new file mode 100644 index 000000000..2692b3ae5 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211334x109357.jpg differ diff --git a/RWT_Cache/Textures/18/ag211334x109358.jpg b/RWT_Cache/Textures/18/ag211334x109358.jpg new file mode 100644 index 000000000..916cad72a Binary files /dev/null and b/RWT_Cache/Textures/18/ag211334x109358.jpg differ diff --git a/RWT_Cache/Textures/18/ag211334x109359.jpg b/RWT_Cache/Textures/18/ag211334x109359.jpg new file mode 100644 index 000000000..50a3b4062 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211334x109359.jpg differ diff --git a/RWT_Cache/Textures/18/ag211334x109360.jpg b/RWT_Cache/Textures/18/ag211334x109360.jpg new file mode 100644 index 000000000..a3c71b90d Binary files /dev/null and b/RWT_Cache/Textures/18/ag211334x109360.jpg differ diff --git a/RWT_Cache/Textures/18/ag211334x109361.jpg b/RWT_Cache/Textures/18/ag211334x109361.jpg new file mode 100644 index 000000000..1cc64a3c0 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211334x109361.jpg differ diff --git a/RWT_Cache/Textures/18/ag211335x109347.jpg b/RWT_Cache/Textures/18/ag211335x109347.jpg new file mode 100644 index 000000000..405fcf048 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211335x109347.jpg differ diff --git a/RWT_Cache/Textures/18/ag211335x109348.jpg b/RWT_Cache/Textures/18/ag211335x109348.jpg new file mode 100644 index 000000000..026eb5200 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211335x109348.jpg differ diff --git a/RWT_Cache/Textures/18/ag211335x109349.jpg b/RWT_Cache/Textures/18/ag211335x109349.jpg new file mode 100644 index 000000000..f76a6f2a4 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211335x109349.jpg differ diff --git a/RWT_Cache/Textures/18/ag211335x109350.jpg b/RWT_Cache/Textures/18/ag211335x109350.jpg new file mode 100644 index 000000000..967c26a03 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211335x109350.jpg differ diff --git a/RWT_Cache/Textures/18/ag211335x109351.jpg b/RWT_Cache/Textures/18/ag211335x109351.jpg new file mode 100644 index 000000000..100243096 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211335x109351.jpg differ diff --git a/RWT_Cache/Textures/18/ag211335x109352.jpg b/RWT_Cache/Textures/18/ag211335x109352.jpg new file mode 100644 index 000000000..cb35b1b06 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211335x109352.jpg differ diff --git a/RWT_Cache/Textures/18/ag211335x109353.jpg b/RWT_Cache/Textures/18/ag211335x109353.jpg new file mode 100644 index 000000000..0c1fdbbc6 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211335x109353.jpg differ diff --git a/RWT_Cache/Textures/18/ag211335x109354.jpg b/RWT_Cache/Textures/18/ag211335x109354.jpg new file mode 100644 index 000000000..95ff2b70f Binary files /dev/null and b/RWT_Cache/Textures/18/ag211335x109354.jpg differ diff --git a/RWT_Cache/Textures/18/ag211335x109355.jpg b/RWT_Cache/Textures/18/ag211335x109355.jpg new file mode 100644 index 000000000..32451f98b Binary files /dev/null and b/RWT_Cache/Textures/18/ag211335x109355.jpg differ diff --git a/RWT_Cache/Textures/18/ag211335x109356.jpg b/RWT_Cache/Textures/18/ag211335x109356.jpg new file mode 100644 index 000000000..63715f969 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211335x109356.jpg differ diff --git a/RWT_Cache/Textures/18/ag211335x109357.jpg b/RWT_Cache/Textures/18/ag211335x109357.jpg new file mode 100644 index 000000000..94171c699 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211335x109357.jpg differ diff --git a/RWT_Cache/Textures/18/ag211335x109358.jpg b/RWT_Cache/Textures/18/ag211335x109358.jpg new file mode 100644 index 000000000..4dc4dc9d7 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211335x109358.jpg differ diff --git a/RWT_Cache/Textures/18/ag211335x109359.jpg b/RWT_Cache/Textures/18/ag211335x109359.jpg new file mode 100644 index 000000000..0e91c48dc Binary files /dev/null and b/RWT_Cache/Textures/18/ag211335x109359.jpg differ diff --git a/RWT_Cache/Textures/18/ag211335x109360.jpg b/RWT_Cache/Textures/18/ag211335x109360.jpg new file mode 100644 index 000000000..cd3c16ea0 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211335x109360.jpg differ diff --git a/RWT_Cache/Textures/18/ag211335x109361.jpg b/RWT_Cache/Textures/18/ag211335x109361.jpg new file mode 100644 index 000000000..351bf58e3 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211335x109361.jpg differ diff --git a/RWT_Cache/Textures/18/ag211336x109347.jpg b/RWT_Cache/Textures/18/ag211336x109347.jpg new file mode 100644 index 000000000..525615039 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211336x109347.jpg differ diff --git a/RWT_Cache/Textures/18/ag211336x109348.jpg b/RWT_Cache/Textures/18/ag211336x109348.jpg new file mode 100644 index 000000000..012d0b3f2 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211336x109348.jpg differ diff --git a/RWT_Cache/Textures/18/ag211336x109349.jpg b/RWT_Cache/Textures/18/ag211336x109349.jpg new file mode 100644 index 000000000..7cb84ce19 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211336x109349.jpg differ diff --git a/RWT_Cache/Textures/18/ag211336x109350.jpg b/RWT_Cache/Textures/18/ag211336x109350.jpg new file mode 100644 index 000000000..813757b47 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211336x109350.jpg differ diff --git a/RWT_Cache/Textures/18/ag211336x109351.jpg b/RWT_Cache/Textures/18/ag211336x109351.jpg new file mode 100644 index 000000000..ead3df228 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211336x109351.jpg differ diff --git a/RWT_Cache/Textures/18/ag211336x109352.jpg b/RWT_Cache/Textures/18/ag211336x109352.jpg new file mode 100644 index 000000000..5283bc7ae Binary files /dev/null and b/RWT_Cache/Textures/18/ag211336x109352.jpg differ diff --git a/RWT_Cache/Textures/18/ag211336x109353.jpg b/RWT_Cache/Textures/18/ag211336x109353.jpg new file mode 100644 index 000000000..f6d202fc7 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211336x109353.jpg differ diff --git a/RWT_Cache/Textures/18/ag211336x109354.jpg b/RWT_Cache/Textures/18/ag211336x109354.jpg new file mode 100644 index 000000000..c3b197585 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211336x109354.jpg differ diff --git a/RWT_Cache/Textures/18/ag211336x109355.jpg b/RWT_Cache/Textures/18/ag211336x109355.jpg new file mode 100644 index 000000000..709cca691 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211336x109355.jpg differ diff --git a/RWT_Cache/Textures/18/ag211336x109356.jpg b/RWT_Cache/Textures/18/ag211336x109356.jpg new file mode 100644 index 000000000..3ec9748f6 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211336x109356.jpg differ diff --git a/RWT_Cache/Textures/18/ag211336x109357.jpg b/RWT_Cache/Textures/18/ag211336x109357.jpg new file mode 100644 index 000000000..52e5459a4 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211336x109357.jpg differ diff --git a/RWT_Cache/Textures/18/ag211336x109358.jpg b/RWT_Cache/Textures/18/ag211336x109358.jpg new file mode 100644 index 000000000..d00d096bc Binary files /dev/null and b/RWT_Cache/Textures/18/ag211336x109358.jpg differ diff --git a/RWT_Cache/Textures/18/ag211336x109359.jpg b/RWT_Cache/Textures/18/ag211336x109359.jpg new file mode 100644 index 000000000..8210ccdbb Binary files /dev/null and b/RWT_Cache/Textures/18/ag211336x109359.jpg differ diff --git a/RWT_Cache/Textures/18/ag211336x109360.jpg b/RWT_Cache/Textures/18/ag211336x109360.jpg new file mode 100644 index 000000000..d7575c4b9 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211336x109360.jpg differ diff --git a/RWT_Cache/Textures/18/ag211336x109361.jpg b/RWT_Cache/Textures/18/ag211336x109361.jpg new file mode 100644 index 000000000..b852ce137 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211336x109361.jpg differ diff --git a/RWT_Cache/Textures/18/ag211337x109347.jpg b/RWT_Cache/Textures/18/ag211337x109347.jpg new file mode 100644 index 000000000..f0d577403 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211337x109347.jpg differ diff --git a/RWT_Cache/Textures/18/ag211337x109348.jpg b/RWT_Cache/Textures/18/ag211337x109348.jpg new file mode 100644 index 000000000..fd05663bd Binary files /dev/null and b/RWT_Cache/Textures/18/ag211337x109348.jpg differ diff --git a/RWT_Cache/Textures/18/ag211337x109349.jpg b/RWT_Cache/Textures/18/ag211337x109349.jpg new file mode 100644 index 000000000..9ff689baa Binary files /dev/null and b/RWT_Cache/Textures/18/ag211337x109349.jpg differ diff --git a/RWT_Cache/Textures/18/ag211337x109350.jpg b/RWT_Cache/Textures/18/ag211337x109350.jpg new file mode 100644 index 000000000..6c6c7c06f Binary files /dev/null and b/RWT_Cache/Textures/18/ag211337x109350.jpg differ diff --git a/RWT_Cache/Textures/18/ag211337x109351.jpg b/RWT_Cache/Textures/18/ag211337x109351.jpg new file mode 100644 index 000000000..e14605390 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211337x109351.jpg differ diff --git a/RWT_Cache/Textures/18/ag211337x109352.jpg b/RWT_Cache/Textures/18/ag211337x109352.jpg new file mode 100644 index 000000000..07f34d887 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211337x109352.jpg differ diff --git a/RWT_Cache/Textures/18/ag211337x109353.jpg b/RWT_Cache/Textures/18/ag211337x109353.jpg new file mode 100644 index 000000000..0b9a5caf5 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211337x109353.jpg differ diff --git a/RWT_Cache/Textures/18/ag211337x109354.jpg b/RWT_Cache/Textures/18/ag211337x109354.jpg new file mode 100644 index 000000000..ad9358a28 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211337x109354.jpg differ diff --git a/RWT_Cache/Textures/18/ag211337x109355.jpg b/RWT_Cache/Textures/18/ag211337x109355.jpg new file mode 100644 index 000000000..57bd6e83b Binary files /dev/null and b/RWT_Cache/Textures/18/ag211337x109355.jpg differ diff --git a/RWT_Cache/Textures/18/ag211337x109356.jpg b/RWT_Cache/Textures/18/ag211337x109356.jpg new file mode 100644 index 000000000..548971cfa Binary files /dev/null and b/RWT_Cache/Textures/18/ag211337x109356.jpg differ diff --git a/RWT_Cache/Textures/18/ag211337x109357.jpg b/RWT_Cache/Textures/18/ag211337x109357.jpg new file mode 100644 index 000000000..da4508029 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211337x109357.jpg differ diff --git a/RWT_Cache/Textures/18/ag211337x109358.jpg b/RWT_Cache/Textures/18/ag211337x109358.jpg new file mode 100644 index 000000000..e20ec1ba3 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211337x109358.jpg differ diff --git a/RWT_Cache/Textures/18/ag211337x109359.jpg b/RWT_Cache/Textures/18/ag211337x109359.jpg new file mode 100644 index 000000000..3c31bb8da Binary files /dev/null and b/RWT_Cache/Textures/18/ag211337x109359.jpg differ diff --git a/RWT_Cache/Textures/18/ag211337x109360.jpg b/RWT_Cache/Textures/18/ag211337x109360.jpg new file mode 100644 index 000000000..cb4c131ae Binary files /dev/null and b/RWT_Cache/Textures/18/ag211337x109360.jpg differ diff --git a/RWT_Cache/Textures/18/ag211337x109361.jpg b/RWT_Cache/Textures/18/ag211337x109361.jpg new file mode 100644 index 000000000..aad5a52df Binary files /dev/null and b/RWT_Cache/Textures/18/ag211337x109361.jpg differ diff --git a/RWT_Cache/Textures/18/ag211338x109347.jpg b/RWT_Cache/Textures/18/ag211338x109347.jpg new file mode 100644 index 000000000..cdf4d1231 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211338x109347.jpg differ diff --git a/RWT_Cache/Textures/18/ag211338x109348.jpg b/RWT_Cache/Textures/18/ag211338x109348.jpg new file mode 100644 index 000000000..ecf51e7ce Binary files /dev/null and b/RWT_Cache/Textures/18/ag211338x109348.jpg differ diff --git a/RWT_Cache/Textures/18/ag211338x109349.jpg b/RWT_Cache/Textures/18/ag211338x109349.jpg new file mode 100644 index 000000000..7eeea1b05 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211338x109349.jpg differ diff --git a/RWT_Cache/Textures/18/ag211338x109350.jpg b/RWT_Cache/Textures/18/ag211338x109350.jpg new file mode 100644 index 000000000..28f90a9ab Binary files /dev/null and b/RWT_Cache/Textures/18/ag211338x109350.jpg differ diff --git a/RWT_Cache/Textures/18/ag211338x109351.jpg b/RWT_Cache/Textures/18/ag211338x109351.jpg new file mode 100644 index 000000000..2b21f0105 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211338x109351.jpg differ diff --git a/RWT_Cache/Textures/18/ag211338x109352.jpg b/RWT_Cache/Textures/18/ag211338x109352.jpg new file mode 100644 index 000000000..49b2e4362 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211338x109352.jpg differ diff --git a/RWT_Cache/Textures/18/ag211338x109353.jpg b/RWT_Cache/Textures/18/ag211338x109353.jpg new file mode 100644 index 000000000..5c896a973 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211338x109353.jpg differ diff --git a/RWT_Cache/Textures/18/ag211338x109354.jpg b/RWT_Cache/Textures/18/ag211338x109354.jpg new file mode 100644 index 000000000..44f07db18 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211338x109354.jpg differ diff --git a/RWT_Cache/Textures/18/ag211338x109355.jpg b/RWT_Cache/Textures/18/ag211338x109355.jpg new file mode 100644 index 000000000..2a5794378 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211338x109355.jpg differ diff --git a/RWT_Cache/Textures/18/ag211338x109356.jpg b/RWT_Cache/Textures/18/ag211338x109356.jpg new file mode 100644 index 000000000..c273bcf76 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211338x109356.jpg differ diff --git a/RWT_Cache/Textures/18/ag211338x109357.jpg b/RWT_Cache/Textures/18/ag211338x109357.jpg new file mode 100644 index 000000000..eedbabdd5 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211338x109357.jpg differ diff --git a/RWT_Cache/Textures/18/ag211338x109358.jpg b/RWT_Cache/Textures/18/ag211338x109358.jpg new file mode 100644 index 000000000..1d23b8cd8 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211338x109358.jpg differ diff --git a/RWT_Cache/Textures/18/ag211338x109359.jpg b/RWT_Cache/Textures/18/ag211338x109359.jpg new file mode 100644 index 000000000..6b81b5f1c Binary files /dev/null and b/RWT_Cache/Textures/18/ag211338x109359.jpg differ diff --git a/RWT_Cache/Textures/18/ag211338x109360.jpg b/RWT_Cache/Textures/18/ag211338x109360.jpg new file mode 100644 index 000000000..6e9e13cd2 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211338x109360.jpg differ diff --git a/RWT_Cache/Textures/18/ag211338x109361.jpg b/RWT_Cache/Textures/18/ag211338x109361.jpg new file mode 100644 index 000000000..88105b146 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211338x109361.jpg differ diff --git a/RWT_Cache/Textures/18/ag211339x109347.jpg b/RWT_Cache/Textures/18/ag211339x109347.jpg new file mode 100644 index 000000000..75c15fc7b Binary files /dev/null and b/RWT_Cache/Textures/18/ag211339x109347.jpg differ diff --git a/RWT_Cache/Textures/18/ag211339x109348.jpg b/RWT_Cache/Textures/18/ag211339x109348.jpg new file mode 100644 index 000000000..0c19d1119 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211339x109348.jpg differ diff --git a/RWT_Cache/Textures/18/ag211339x109349.jpg b/RWT_Cache/Textures/18/ag211339x109349.jpg new file mode 100644 index 000000000..67575faab Binary files /dev/null and b/RWT_Cache/Textures/18/ag211339x109349.jpg differ diff --git a/RWT_Cache/Textures/18/ag211339x109350.jpg b/RWT_Cache/Textures/18/ag211339x109350.jpg new file mode 100644 index 000000000..e43c03fc8 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211339x109350.jpg differ diff --git a/RWT_Cache/Textures/18/ag211339x109351.jpg b/RWT_Cache/Textures/18/ag211339x109351.jpg new file mode 100644 index 000000000..09fd02b63 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211339x109351.jpg differ diff --git a/RWT_Cache/Textures/18/ag211339x109352.jpg b/RWT_Cache/Textures/18/ag211339x109352.jpg new file mode 100644 index 000000000..a3b0c0c88 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211339x109352.jpg differ diff --git a/RWT_Cache/Textures/18/ag211339x109353.jpg b/RWT_Cache/Textures/18/ag211339x109353.jpg new file mode 100644 index 000000000..6085d7180 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211339x109353.jpg differ diff --git a/RWT_Cache/Textures/18/ag211339x109354.jpg b/RWT_Cache/Textures/18/ag211339x109354.jpg new file mode 100644 index 000000000..72c0a0475 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211339x109354.jpg differ diff --git a/RWT_Cache/Textures/18/ag211339x109355.jpg b/RWT_Cache/Textures/18/ag211339x109355.jpg new file mode 100644 index 000000000..79717ea4a Binary files /dev/null and b/RWT_Cache/Textures/18/ag211339x109355.jpg differ diff --git a/RWT_Cache/Textures/18/ag211339x109356.jpg b/RWT_Cache/Textures/18/ag211339x109356.jpg new file mode 100644 index 000000000..191848f35 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211339x109356.jpg differ diff --git a/RWT_Cache/Textures/18/ag211339x109357.jpg b/RWT_Cache/Textures/18/ag211339x109357.jpg new file mode 100644 index 000000000..ee9cae70b Binary files /dev/null and b/RWT_Cache/Textures/18/ag211339x109357.jpg differ diff --git a/RWT_Cache/Textures/18/ag211339x109358.jpg b/RWT_Cache/Textures/18/ag211339x109358.jpg new file mode 100644 index 000000000..81fcb1246 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211339x109358.jpg differ diff --git a/RWT_Cache/Textures/18/ag211339x109359.jpg b/RWT_Cache/Textures/18/ag211339x109359.jpg new file mode 100644 index 000000000..2730ada49 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211339x109359.jpg differ diff --git a/RWT_Cache/Textures/18/ag211339x109360.jpg b/RWT_Cache/Textures/18/ag211339x109360.jpg new file mode 100644 index 000000000..bb9f38b9a Binary files /dev/null and b/RWT_Cache/Textures/18/ag211339x109360.jpg differ diff --git a/RWT_Cache/Textures/18/ag211339x109361.jpg b/RWT_Cache/Textures/18/ag211339x109361.jpg new file mode 100644 index 000000000..2eeb2e761 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211339x109361.jpg differ diff --git a/RWT_Cache/Textures/18/ag211340x109347.jpg b/RWT_Cache/Textures/18/ag211340x109347.jpg new file mode 100644 index 000000000..b10efbbd8 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211340x109347.jpg differ diff --git a/RWT_Cache/Textures/18/ag211340x109348.jpg b/RWT_Cache/Textures/18/ag211340x109348.jpg new file mode 100644 index 000000000..e73a42d70 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211340x109348.jpg differ diff --git a/RWT_Cache/Textures/18/ag211340x109349.jpg b/RWT_Cache/Textures/18/ag211340x109349.jpg new file mode 100644 index 000000000..3e93665e7 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211340x109349.jpg differ diff --git a/RWT_Cache/Textures/18/ag211340x109350.jpg b/RWT_Cache/Textures/18/ag211340x109350.jpg new file mode 100644 index 000000000..6b68eabd9 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211340x109350.jpg differ diff --git a/RWT_Cache/Textures/18/ag211340x109351.jpg b/RWT_Cache/Textures/18/ag211340x109351.jpg new file mode 100644 index 000000000..eaf7a18c7 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211340x109351.jpg differ diff --git a/RWT_Cache/Textures/18/ag211340x109352.jpg b/RWT_Cache/Textures/18/ag211340x109352.jpg new file mode 100644 index 000000000..18bca3268 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211340x109352.jpg differ diff --git a/RWT_Cache/Textures/18/ag211340x109353.jpg b/RWT_Cache/Textures/18/ag211340x109353.jpg new file mode 100644 index 000000000..f79b2d6c1 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211340x109353.jpg differ diff --git a/RWT_Cache/Textures/18/ag211340x109354.jpg b/RWT_Cache/Textures/18/ag211340x109354.jpg new file mode 100644 index 000000000..87aeca05c Binary files /dev/null and b/RWT_Cache/Textures/18/ag211340x109354.jpg differ diff --git a/RWT_Cache/Textures/18/ag211340x109355.jpg b/RWT_Cache/Textures/18/ag211340x109355.jpg new file mode 100644 index 000000000..6f323cab1 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211340x109355.jpg differ diff --git a/RWT_Cache/Textures/18/ag211340x109356.jpg b/RWT_Cache/Textures/18/ag211340x109356.jpg new file mode 100644 index 000000000..425922ee1 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211340x109356.jpg differ diff --git a/RWT_Cache/Textures/18/ag211340x109357.jpg b/RWT_Cache/Textures/18/ag211340x109357.jpg new file mode 100644 index 000000000..23df99a5b Binary files /dev/null and b/RWT_Cache/Textures/18/ag211340x109357.jpg differ diff --git a/RWT_Cache/Textures/18/ag211340x109358.jpg b/RWT_Cache/Textures/18/ag211340x109358.jpg new file mode 100644 index 000000000..f1041cd46 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211340x109358.jpg differ diff --git a/RWT_Cache/Textures/18/ag211340x109359.jpg b/RWT_Cache/Textures/18/ag211340x109359.jpg new file mode 100644 index 000000000..349f2ce20 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211340x109359.jpg differ diff --git a/RWT_Cache/Textures/18/ag211340x109360.jpg b/RWT_Cache/Textures/18/ag211340x109360.jpg new file mode 100644 index 000000000..ee504b71b Binary files /dev/null and b/RWT_Cache/Textures/18/ag211340x109360.jpg differ diff --git a/RWT_Cache/Textures/18/ag211340x109361.jpg b/RWT_Cache/Textures/18/ag211340x109361.jpg new file mode 100644 index 000000000..10d8a13fa Binary files /dev/null and b/RWT_Cache/Textures/18/ag211340x109361.jpg differ diff --git a/RWT_Cache/Textures/18/ag211341x109347.jpg b/RWT_Cache/Textures/18/ag211341x109347.jpg new file mode 100644 index 000000000..a3979cc15 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211341x109347.jpg differ diff --git a/RWT_Cache/Textures/18/ag211341x109348.jpg b/RWT_Cache/Textures/18/ag211341x109348.jpg new file mode 100644 index 000000000..875ec8ea8 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211341x109348.jpg differ diff --git a/RWT_Cache/Textures/18/ag211341x109349.jpg b/RWT_Cache/Textures/18/ag211341x109349.jpg new file mode 100644 index 000000000..e761be399 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211341x109349.jpg differ diff --git a/RWT_Cache/Textures/18/ag211341x109350.jpg b/RWT_Cache/Textures/18/ag211341x109350.jpg new file mode 100644 index 000000000..b9b2b937f Binary files /dev/null and b/RWT_Cache/Textures/18/ag211341x109350.jpg differ diff --git a/RWT_Cache/Textures/18/ag211341x109351.jpg b/RWT_Cache/Textures/18/ag211341x109351.jpg new file mode 100644 index 000000000..1405cc585 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211341x109351.jpg differ diff --git a/RWT_Cache/Textures/18/ag211341x109352.jpg b/RWT_Cache/Textures/18/ag211341x109352.jpg new file mode 100644 index 000000000..b1ce1ceff Binary files /dev/null and b/RWT_Cache/Textures/18/ag211341x109352.jpg differ diff --git a/RWT_Cache/Textures/18/ag211341x109353.jpg b/RWT_Cache/Textures/18/ag211341x109353.jpg new file mode 100644 index 000000000..be104912b Binary files /dev/null and b/RWT_Cache/Textures/18/ag211341x109353.jpg differ diff --git a/RWT_Cache/Textures/18/ag211341x109354.jpg b/RWT_Cache/Textures/18/ag211341x109354.jpg new file mode 100644 index 000000000..d2d1a3878 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211341x109354.jpg differ diff --git a/RWT_Cache/Textures/18/ag211341x109355.jpg b/RWT_Cache/Textures/18/ag211341x109355.jpg new file mode 100644 index 000000000..5c4e558a3 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211341x109355.jpg differ diff --git a/RWT_Cache/Textures/18/ag211341x109356.jpg b/RWT_Cache/Textures/18/ag211341x109356.jpg new file mode 100644 index 000000000..02f4e2b37 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211341x109356.jpg differ diff --git a/RWT_Cache/Textures/18/ag211341x109357.jpg b/RWT_Cache/Textures/18/ag211341x109357.jpg new file mode 100644 index 000000000..f6997dc7e Binary files /dev/null and b/RWT_Cache/Textures/18/ag211341x109357.jpg differ diff --git a/RWT_Cache/Textures/18/ag211341x109358.jpg b/RWT_Cache/Textures/18/ag211341x109358.jpg new file mode 100644 index 000000000..6535e09e8 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211341x109358.jpg differ diff --git a/RWT_Cache/Textures/18/ag211341x109359.jpg b/RWT_Cache/Textures/18/ag211341x109359.jpg new file mode 100644 index 000000000..0044ef00d Binary files /dev/null and b/RWT_Cache/Textures/18/ag211341x109359.jpg differ diff --git a/RWT_Cache/Textures/18/ag211341x109360.jpg b/RWT_Cache/Textures/18/ag211341x109360.jpg new file mode 100644 index 000000000..9e029e404 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211341x109360.jpg differ diff --git a/RWT_Cache/Textures/18/ag211341x109361.jpg b/RWT_Cache/Textures/18/ag211341x109361.jpg new file mode 100644 index 000000000..81d508456 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211341x109361.jpg differ diff --git a/RWT_Cache/Textures/18/ag211342x109347.jpg b/RWT_Cache/Textures/18/ag211342x109347.jpg new file mode 100644 index 000000000..1da1f6452 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211342x109347.jpg differ diff --git a/RWT_Cache/Textures/18/ag211342x109348.jpg b/RWT_Cache/Textures/18/ag211342x109348.jpg new file mode 100644 index 000000000..0728d8bc6 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211342x109348.jpg differ diff --git a/RWT_Cache/Textures/18/ag211342x109349.jpg b/RWT_Cache/Textures/18/ag211342x109349.jpg new file mode 100644 index 000000000..66998c4cb Binary files /dev/null and b/RWT_Cache/Textures/18/ag211342x109349.jpg differ diff --git a/RWT_Cache/Textures/18/ag211342x109350.jpg b/RWT_Cache/Textures/18/ag211342x109350.jpg new file mode 100644 index 000000000..227900cc7 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211342x109350.jpg differ diff --git a/RWT_Cache/Textures/18/ag211342x109351.jpg b/RWT_Cache/Textures/18/ag211342x109351.jpg new file mode 100644 index 000000000..bacfd2b92 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211342x109351.jpg differ diff --git a/RWT_Cache/Textures/18/ag211342x109352.jpg b/RWT_Cache/Textures/18/ag211342x109352.jpg new file mode 100644 index 000000000..1b2b7f186 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211342x109352.jpg differ diff --git a/RWT_Cache/Textures/18/ag211342x109353.jpg b/RWT_Cache/Textures/18/ag211342x109353.jpg new file mode 100644 index 000000000..85bd5d25a Binary files /dev/null and b/RWT_Cache/Textures/18/ag211342x109353.jpg differ diff --git a/RWT_Cache/Textures/18/ag211342x109354.jpg b/RWT_Cache/Textures/18/ag211342x109354.jpg new file mode 100644 index 000000000..b5ab56177 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211342x109354.jpg differ diff --git a/RWT_Cache/Textures/18/ag211342x109355.jpg b/RWT_Cache/Textures/18/ag211342x109355.jpg new file mode 100644 index 000000000..0803fa409 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211342x109355.jpg differ diff --git a/RWT_Cache/Textures/18/ag211342x109356.jpg b/RWT_Cache/Textures/18/ag211342x109356.jpg new file mode 100644 index 000000000..884a2bd14 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211342x109356.jpg differ diff --git a/RWT_Cache/Textures/18/ag211342x109357.jpg b/RWT_Cache/Textures/18/ag211342x109357.jpg new file mode 100644 index 000000000..05d9641a4 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211342x109357.jpg differ diff --git a/RWT_Cache/Textures/18/ag211342x109358.jpg b/RWT_Cache/Textures/18/ag211342x109358.jpg new file mode 100644 index 000000000..b242fc51a Binary files /dev/null and b/RWT_Cache/Textures/18/ag211342x109358.jpg differ diff --git a/RWT_Cache/Textures/18/ag211342x109359.jpg b/RWT_Cache/Textures/18/ag211342x109359.jpg new file mode 100644 index 000000000..82b8d46c4 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211342x109359.jpg differ diff --git a/RWT_Cache/Textures/18/ag211342x109360.jpg b/RWT_Cache/Textures/18/ag211342x109360.jpg new file mode 100644 index 000000000..dbbaf7773 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211342x109360.jpg differ diff --git a/RWT_Cache/Textures/18/ag211342x109361.jpg b/RWT_Cache/Textures/18/ag211342x109361.jpg new file mode 100644 index 000000000..db1de06b5 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211342x109361.jpg differ diff --git a/RWT_Cache/Textures/18/ag211343x109347.jpg b/RWT_Cache/Textures/18/ag211343x109347.jpg new file mode 100644 index 000000000..3843dc789 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211343x109347.jpg differ diff --git a/RWT_Cache/Textures/18/ag211343x109348.jpg b/RWT_Cache/Textures/18/ag211343x109348.jpg new file mode 100644 index 000000000..8fe878371 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211343x109348.jpg differ diff --git a/RWT_Cache/Textures/18/ag211343x109349.jpg b/RWT_Cache/Textures/18/ag211343x109349.jpg new file mode 100644 index 000000000..28ea60c2d Binary files /dev/null and b/RWT_Cache/Textures/18/ag211343x109349.jpg differ diff --git a/RWT_Cache/Textures/18/ag211343x109350.jpg b/RWT_Cache/Textures/18/ag211343x109350.jpg new file mode 100644 index 000000000..0cb96b497 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211343x109350.jpg differ diff --git a/RWT_Cache/Textures/18/ag211343x109351.jpg b/RWT_Cache/Textures/18/ag211343x109351.jpg new file mode 100644 index 000000000..a0878b7d3 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211343x109351.jpg differ diff --git a/RWT_Cache/Textures/18/ag211343x109352.jpg b/RWT_Cache/Textures/18/ag211343x109352.jpg new file mode 100644 index 000000000..aca2d9ea3 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211343x109352.jpg differ diff --git a/RWT_Cache/Textures/18/ag211343x109353.jpg b/RWT_Cache/Textures/18/ag211343x109353.jpg new file mode 100644 index 000000000..39341b2a7 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211343x109353.jpg differ diff --git a/RWT_Cache/Textures/18/ag211343x109354.jpg b/RWT_Cache/Textures/18/ag211343x109354.jpg new file mode 100644 index 000000000..2de6737a6 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211343x109354.jpg differ diff --git a/RWT_Cache/Textures/18/ag211343x109355.jpg b/RWT_Cache/Textures/18/ag211343x109355.jpg new file mode 100644 index 000000000..299e89e7c Binary files /dev/null and b/RWT_Cache/Textures/18/ag211343x109355.jpg differ diff --git a/RWT_Cache/Textures/18/ag211343x109356.jpg b/RWT_Cache/Textures/18/ag211343x109356.jpg new file mode 100644 index 000000000..e52edb657 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211343x109356.jpg differ diff --git a/RWT_Cache/Textures/18/ag211343x109357.jpg b/RWT_Cache/Textures/18/ag211343x109357.jpg new file mode 100644 index 000000000..8a0eec6f0 Binary files /dev/null and b/RWT_Cache/Textures/18/ag211343x109357.jpg differ diff --git a/RWT_Cache/Textures/18/ag211343x109358.jpg b/RWT_Cache/Textures/18/ag211343x109358.jpg new file mode 100644 index 000000000..92bbc4eff Binary files /dev/null and b/RWT_Cache/Textures/18/ag211343x109358.jpg differ diff --git a/RWT_Cache/Textures/18/ag211343x109359.jpg b/RWT_Cache/Textures/18/ag211343x109359.jpg new file mode 100644 index 000000000..3af9b309c Binary files /dev/null and b/RWT_Cache/Textures/18/ag211343x109359.jpg differ diff --git a/RWT_Cache/Textures/18/ag211343x109360.jpg b/RWT_Cache/Textures/18/ag211343x109360.jpg new file mode 100644 index 000000000..2fe235e9e Binary files /dev/null and b/RWT_Cache/Textures/18/ag211343x109360.jpg differ diff --git a/RWT_Cache/Textures/18/ag211343x109361.jpg b/RWT_Cache/Textures/18/ag211343x109361.jpg new file mode 100644 index 000000000..d7935b77b Binary files /dev/null and b/RWT_Cache/Textures/18/ag211343x109361.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211328x109347.jpg b/RWT_Cache/Textures/18/mbs211328x109347.jpg new file mode 100644 index 000000000..e912830d3 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211328x109347.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211328x109348.jpg b/RWT_Cache/Textures/18/mbs211328x109348.jpg new file mode 100644 index 000000000..3e63f9b6a Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211328x109348.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211328x109349.jpg b/RWT_Cache/Textures/18/mbs211328x109349.jpg new file mode 100644 index 000000000..9d5eab484 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211328x109349.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211328x109350.jpg b/RWT_Cache/Textures/18/mbs211328x109350.jpg new file mode 100644 index 000000000..77760aa12 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211328x109350.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211328x109351.jpg b/RWT_Cache/Textures/18/mbs211328x109351.jpg new file mode 100644 index 000000000..9873f98a6 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211328x109351.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211328x109352.jpg b/RWT_Cache/Textures/18/mbs211328x109352.jpg new file mode 100644 index 000000000..28eee1716 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211328x109352.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211328x109353.jpg b/RWT_Cache/Textures/18/mbs211328x109353.jpg new file mode 100644 index 000000000..94ed725e2 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211328x109353.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211328x109354.jpg b/RWT_Cache/Textures/18/mbs211328x109354.jpg new file mode 100644 index 000000000..aef942021 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211328x109354.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211328x109355.jpg b/RWT_Cache/Textures/18/mbs211328x109355.jpg new file mode 100644 index 000000000..7dc844145 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211328x109355.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211328x109356.jpg b/RWT_Cache/Textures/18/mbs211328x109356.jpg new file mode 100644 index 000000000..f8227340c Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211328x109356.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211328x109357.jpg b/RWT_Cache/Textures/18/mbs211328x109357.jpg new file mode 100644 index 000000000..8a31c36ee Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211328x109357.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211328x109358.jpg b/RWT_Cache/Textures/18/mbs211328x109358.jpg new file mode 100644 index 000000000..6302785fb Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211328x109358.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211328x109359.jpg b/RWT_Cache/Textures/18/mbs211328x109359.jpg new file mode 100644 index 000000000..d7541019c Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211328x109359.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211328x109360.jpg b/RWT_Cache/Textures/18/mbs211328x109360.jpg new file mode 100644 index 000000000..34fef5353 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211328x109360.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211328x109361.jpg b/RWT_Cache/Textures/18/mbs211328x109361.jpg new file mode 100644 index 000000000..bdfa8b01f Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211328x109361.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211329x109347.jpg b/RWT_Cache/Textures/18/mbs211329x109347.jpg new file mode 100644 index 000000000..44b4fb3f8 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211329x109347.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211329x109348.jpg b/RWT_Cache/Textures/18/mbs211329x109348.jpg new file mode 100644 index 000000000..f244efd9f Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211329x109348.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211329x109349.jpg b/RWT_Cache/Textures/18/mbs211329x109349.jpg new file mode 100644 index 000000000..fd10219f0 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211329x109349.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211329x109350.jpg b/RWT_Cache/Textures/18/mbs211329x109350.jpg new file mode 100644 index 000000000..26801d506 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211329x109350.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211329x109351.jpg b/RWT_Cache/Textures/18/mbs211329x109351.jpg new file mode 100644 index 000000000..79ef39c0f Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211329x109351.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211329x109352.jpg b/RWT_Cache/Textures/18/mbs211329x109352.jpg new file mode 100644 index 000000000..82539711d Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211329x109352.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211329x109353.jpg b/RWT_Cache/Textures/18/mbs211329x109353.jpg new file mode 100644 index 000000000..dc9246c96 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211329x109353.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211329x109354.jpg b/RWT_Cache/Textures/18/mbs211329x109354.jpg new file mode 100644 index 000000000..c40f79915 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211329x109354.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211329x109355.jpg b/RWT_Cache/Textures/18/mbs211329x109355.jpg new file mode 100644 index 000000000..fdd597e79 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211329x109355.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211329x109356.jpg b/RWT_Cache/Textures/18/mbs211329x109356.jpg new file mode 100644 index 000000000..2320c7c15 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211329x109356.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211329x109357.jpg b/RWT_Cache/Textures/18/mbs211329x109357.jpg new file mode 100644 index 000000000..40c3932e2 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211329x109357.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211329x109358.jpg b/RWT_Cache/Textures/18/mbs211329x109358.jpg new file mode 100644 index 000000000..2c2538713 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211329x109358.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211329x109359.jpg b/RWT_Cache/Textures/18/mbs211329x109359.jpg new file mode 100644 index 000000000..b87e83228 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211329x109359.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211329x109360.jpg b/RWT_Cache/Textures/18/mbs211329x109360.jpg new file mode 100644 index 000000000..f3e4f13b6 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211329x109360.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211329x109361.jpg b/RWT_Cache/Textures/18/mbs211329x109361.jpg new file mode 100644 index 000000000..394954914 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211329x109361.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211330x109347.jpg b/RWT_Cache/Textures/18/mbs211330x109347.jpg new file mode 100644 index 000000000..fd9e2fa4b Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211330x109347.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211330x109348.jpg b/RWT_Cache/Textures/18/mbs211330x109348.jpg new file mode 100644 index 000000000..431ab3c33 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211330x109348.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211330x109349.jpg b/RWT_Cache/Textures/18/mbs211330x109349.jpg new file mode 100644 index 000000000..3823f0bd1 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211330x109349.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211330x109350.jpg b/RWT_Cache/Textures/18/mbs211330x109350.jpg new file mode 100644 index 000000000..7bcba1ed1 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211330x109350.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211330x109351.jpg b/RWT_Cache/Textures/18/mbs211330x109351.jpg new file mode 100644 index 000000000..b44f4435c Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211330x109351.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211330x109352.jpg b/RWT_Cache/Textures/18/mbs211330x109352.jpg new file mode 100644 index 000000000..7c3575fa1 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211330x109352.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211330x109353.jpg b/RWT_Cache/Textures/18/mbs211330x109353.jpg new file mode 100644 index 000000000..11d3f363c Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211330x109353.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211330x109354.jpg b/RWT_Cache/Textures/18/mbs211330x109354.jpg new file mode 100644 index 000000000..0af7090f7 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211330x109354.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211330x109355.jpg b/RWT_Cache/Textures/18/mbs211330x109355.jpg new file mode 100644 index 000000000..7211a326d Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211330x109355.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211330x109356.jpg b/RWT_Cache/Textures/18/mbs211330x109356.jpg new file mode 100644 index 000000000..0ad11a943 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211330x109356.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211330x109357.jpg b/RWT_Cache/Textures/18/mbs211330x109357.jpg new file mode 100644 index 000000000..9183bd9ab Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211330x109357.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211330x109358.jpg b/RWT_Cache/Textures/18/mbs211330x109358.jpg new file mode 100644 index 000000000..9ba2e8925 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211330x109358.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211330x109359.jpg b/RWT_Cache/Textures/18/mbs211330x109359.jpg new file mode 100644 index 000000000..841db887c Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211330x109359.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211330x109360.jpg b/RWT_Cache/Textures/18/mbs211330x109360.jpg new file mode 100644 index 000000000..8f8211e8f Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211330x109360.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211330x109361.jpg b/RWT_Cache/Textures/18/mbs211330x109361.jpg new file mode 100644 index 000000000..560fd7af8 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211330x109361.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211331x109347.jpg b/RWT_Cache/Textures/18/mbs211331x109347.jpg new file mode 100644 index 000000000..acde834e1 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211331x109347.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211331x109348.jpg b/RWT_Cache/Textures/18/mbs211331x109348.jpg new file mode 100644 index 000000000..7c382f21b Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211331x109348.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211331x109349.jpg b/RWT_Cache/Textures/18/mbs211331x109349.jpg new file mode 100644 index 000000000..8fed41c7b Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211331x109349.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211331x109350.jpg b/RWT_Cache/Textures/18/mbs211331x109350.jpg new file mode 100644 index 000000000..1b0a70b5a Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211331x109350.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211331x109351.jpg b/RWT_Cache/Textures/18/mbs211331x109351.jpg new file mode 100644 index 000000000..e160965e4 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211331x109351.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211331x109352.jpg b/RWT_Cache/Textures/18/mbs211331x109352.jpg new file mode 100644 index 000000000..3e9d07dc8 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211331x109352.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211331x109353.jpg b/RWT_Cache/Textures/18/mbs211331x109353.jpg new file mode 100644 index 000000000..e7fe5e01d Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211331x109353.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211331x109354.jpg b/RWT_Cache/Textures/18/mbs211331x109354.jpg new file mode 100644 index 000000000..904cc9e1f Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211331x109354.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211331x109355.jpg b/RWT_Cache/Textures/18/mbs211331x109355.jpg new file mode 100644 index 000000000..c2f3957f0 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211331x109355.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211331x109356.jpg b/RWT_Cache/Textures/18/mbs211331x109356.jpg new file mode 100644 index 000000000..bb101fde2 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211331x109356.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211331x109357.jpg b/RWT_Cache/Textures/18/mbs211331x109357.jpg new file mode 100644 index 000000000..eda4edc76 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211331x109357.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211331x109358.jpg b/RWT_Cache/Textures/18/mbs211331x109358.jpg new file mode 100644 index 000000000..2a83ccc33 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211331x109358.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211331x109359.jpg b/RWT_Cache/Textures/18/mbs211331x109359.jpg new file mode 100644 index 000000000..48c333d89 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211331x109359.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211331x109360.jpg b/RWT_Cache/Textures/18/mbs211331x109360.jpg new file mode 100644 index 000000000..0c104dcc1 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211331x109360.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211331x109361.jpg b/RWT_Cache/Textures/18/mbs211331x109361.jpg new file mode 100644 index 000000000..30f0c584c Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211331x109361.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211332x109347.jpg b/RWT_Cache/Textures/18/mbs211332x109347.jpg new file mode 100644 index 000000000..cc5382c5d Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211332x109347.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211332x109348.jpg b/RWT_Cache/Textures/18/mbs211332x109348.jpg new file mode 100644 index 000000000..56d2f2a0c Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211332x109348.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211332x109349.jpg b/RWT_Cache/Textures/18/mbs211332x109349.jpg new file mode 100644 index 000000000..f293e1977 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211332x109349.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211332x109350.jpg b/RWT_Cache/Textures/18/mbs211332x109350.jpg new file mode 100644 index 000000000..7fafa9c04 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211332x109350.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211332x109351.jpg b/RWT_Cache/Textures/18/mbs211332x109351.jpg new file mode 100644 index 000000000..cd8ce31c1 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211332x109351.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211332x109352.jpg b/RWT_Cache/Textures/18/mbs211332x109352.jpg new file mode 100644 index 000000000..9bd80a13a Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211332x109352.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211332x109353.jpg b/RWT_Cache/Textures/18/mbs211332x109353.jpg new file mode 100644 index 000000000..e468d16b7 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211332x109353.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211332x109354.jpg b/RWT_Cache/Textures/18/mbs211332x109354.jpg new file mode 100644 index 000000000..c5495a0ae Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211332x109354.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211332x109355.jpg b/RWT_Cache/Textures/18/mbs211332x109355.jpg new file mode 100644 index 000000000..6292d3964 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211332x109355.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211332x109356.jpg b/RWT_Cache/Textures/18/mbs211332x109356.jpg new file mode 100644 index 000000000..0ad5ca6a6 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211332x109356.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211332x109357.jpg b/RWT_Cache/Textures/18/mbs211332x109357.jpg new file mode 100644 index 000000000..c19d832d7 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211332x109357.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211332x109358.jpg b/RWT_Cache/Textures/18/mbs211332x109358.jpg new file mode 100644 index 000000000..e8b5427d6 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211332x109358.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211332x109359.jpg b/RWT_Cache/Textures/18/mbs211332x109359.jpg new file mode 100644 index 000000000..89a8ba5df Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211332x109359.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211332x109360.jpg b/RWT_Cache/Textures/18/mbs211332x109360.jpg new file mode 100644 index 000000000..76791ca51 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211332x109360.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211332x109361.jpg b/RWT_Cache/Textures/18/mbs211332x109361.jpg new file mode 100644 index 000000000..5398d5158 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211332x109361.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211333x109347.jpg b/RWT_Cache/Textures/18/mbs211333x109347.jpg new file mode 100644 index 000000000..40c3a3721 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211333x109347.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211333x109348.jpg b/RWT_Cache/Textures/18/mbs211333x109348.jpg new file mode 100644 index 000000000..455f556da Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211333x109348.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211333x109349.jpg b/RWT_Cache/Textures/18/mbs211333x109349.jpg new file mode 100644 index 000000000..59df9defc Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211333x109349.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211333x109350.jpg b/RWT_Cache/Textures/18/mbs211333x109350.jpg new file mode 100644 index 000000000..4ade16dc6 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211333x109350.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211333x109351.jpg b/RWT_Cache/Textures/18/mbs211333x109351.jpg new file mode 100644 index 000000000..d320b247e Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211333x109351.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211333x109352.jpg b/RWT_Cache/Textures/18/mbs211333x109352.jpg new file mode 100644 index 000000000..227440769 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211333x109352.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211333x109353.jpg b/RWT_Cache/Textures/18/mbs211333x109353.jpg new file mode 100644 index 000000000..6265a5208 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211333x109353.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211333x109354.jpg b/RWT_Cache/Textures/18/mbs211333x109354.jpg new file mode 100644 index 000000000..6d023f42d Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211333x109354.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211333x109355.jpg b/RWT_Cache/Textures/18/mbs211333x109355.jpg new file mode 100644 index 000000000..08035e849 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211333x109355.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211333x109356.jpg b/RWT_Cache/Textures/18/mbs211333x109356.jpg new file mode 100644 index 000000000..1a06acbc3 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211333x109356.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211333x109357.jpg b/RWT_Cache/Textures/18/mbs211333x109357.jpg new file mode 100644 index 000000000..a7f3169bb Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211333x109357.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211333x109358.jpg b/RWT_Cache/Textures/18/mbs211333x109358.jpg new file mode 100644 index 000000000..eee695dc2 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211333x109358.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211333x109359.jpg b/RWT_Cache/Textures/18/mbs211333x109359.jpg new file mode 100644 index 000000000..325e0f862 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211333x109359.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211333x109360.jpg b/RWT_Cache/Textures/18/mbs211333x109360.jpg new file mode 100644 index 000000000..621829739 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211333x109360.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211333x109361.jpg b/RWT_Cache/Textures/18/mbs211333x109361.jpg new file mode 100644 index 000000000..8d7d33b05 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211333x109361.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211334x109347.jpg b/RWT_Cache/Textures/18/mbs211334x109347.jpg new file mode 100644 index 000000000..a95b2b818 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211334x109347.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211334x109348.jpg b/RWT_Cache/Textures/18/mbs211334x109348.jpg new file mode 100644 index 000000000..0aa51aa3a Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211334x109348.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211334x109349.jpg b/RWT_Cache/Textures/18/mbs211334x109349.jpg new file mode 100644 index 000000000..1be21b75e Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211334x109349.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211334x109350.jpg b/RWT_Cache/Textures/18/mbs211334x109350.jpg new file mode 100644 index 000000000..ce76aa8e4 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211334x109350.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211334x109351.jpg b/RWT_Cache/Textures/18/mbs211334x109351.jpg new file mode 100644 index 000000000..e1eaac959 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211334x109351.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211334x109352.jpg b/RWT_Cache/Textures/18/mbs211334x109352.jpg new file mode 100644 index 000000000..1f6ff89a8 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211334x109352.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211334x109353.jpg b/RWT_Cache/Textures/18/mbs211334x109353.jpg new file mode 100644 index 000000000..dbb436721 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211334x109353.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211334x109354.jpg b/RWT_Cache/Textures/18/mbs211334x109354.jpg new file mode 100644 index 000000000..7fa78064c Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211334x109354.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211334x109355.jpg b/RWT_Cache/Textures/18/mbs211334x109355.jpg new file mode 100644 index 000000000..05361e8ed Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211334x109355.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211334x109356.jpg b/RWT_Cache/Textures/18/mbs211334x109356.jpg new file mode 100644 index 000000000..a2692b7d3 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211334x109356.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211334x109357.jpg b/RWT_Cache/Textures/18/mbs211334x109357.jpg new file mode 100644 index 000000000..bdc209c8d Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211334x109357.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211334x109358.jpg b/RWT_Cache/Textures/18/mbs211334x109358.jpg new file mode 100644 index 000000000..c1148bf37 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211334x109358.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211334x109359.jpg b/RWT_Cache/Textures/18/mbs211334x109359.jpg new file mode 100644 index 000000000..86ecb3d94 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211334x109359.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211334x109360.jpg b/RWT_Cache/Textures/18/mbs211334x109360.jpg new file mode 100644 index 000000000..15f101519 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211334x109360.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211334x109361.jpg b/RWT_Cache/Textures/18/mbs211334x109361.jpg new file mode 100644 index 000000000..c32b269e4 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211334x109361.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211335x109347.jpg b/RWT_Cache/Textures/18/mbs211335x109347.jpg new file mode 100644 index 000000000..1569c2701 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211335x109347.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211335x109348.jpg b/RWT_Cache/Textures/18/mbs211335x109348.jpg new file mode 100644 index 000000000..14e134f95 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211335x109348.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211335x109349.jpg b/RWT_Cache/Textures/18/mbs211335x109349.jpg new file mode 100644 index 000000000..cf9b55a25 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211335x109349.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211335x109350.jpg b/RWT_Cache/Textures/18/mbs211335x109350.jpg new file mode 100644 index 000000000..c30cfae0b Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211335x109350.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211335x109351.jpg b/RWT_Cache/Textures/18/mbs211335x109351.jpg new file mode 100644 index 000000000..dbed4d603 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211335x109351.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211335x109352.jpg b/RWT_Cache/Textures/18/mbs211335x109352.jpg new file mode 100644 index 000000000..cc3bd2027 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211335x109352.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211335x109353.jpg b/RWT_Cache/Textures/18/mbs211335x109353.jpg new file mode 100644 index 000000000..e3d70bad4 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211335x109353.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211335x109354.jpg b/RWT_Cache/Textures/18/mbs211335x109354.jpg new file mode 100644 index 000000000..92d2bd94a Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211335x109354.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211335x109355.jpg b/RWT_Cache/Textures/18/mbs211335x109355.jpg new file mode 100644 index 000000000..4824eac45 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211335x109355.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211335x109356.jpg b/RWT_Cache/Textures/18/mbs211335x109356.jpg new file mode 100644 index 000000000..a167fa1e7 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211335x109356.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211335x109357.jpg b/RWT_Cache/Textures/18/mbs211335x109357.jpg new file mode 100644 index 000000000..8ce6b6a59 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211335x109357.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211335x109358.jpg b/RWT_Cache/Textures/18/mbs211335x109358.jpg new file mode 100644 index 000000000..92b6ece19 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211335x109358.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211335x109359.jpg b/RWT_Cache/Textures/18/mbs211335x109359.jpg new file mode 100644 index 000000000..155600b0f Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211335x109359.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211335x109360.jpg b/RWT_Cache/Textures/18/mbs211335x109360.jpg new file mode 100644 index 000000000..e2943412e Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211335x109360.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211335x109361.jpg b/RWT_Cache/Textures/18/mbs211335x109361.jpg new file mode 100644 index 000000000..de230f3c0 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211335x109361.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211336x109347.jpg b/RWT_Cache/Textures/18/mbs211336x109347.jpg new file mode 100644 index 000000000..711bdb770 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211336x109347.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211336x109348.jpg b/RWT_Cache/Textures/18/mbs211336x109348.jpg new file mode 100644 index 000000000..15b99b40e Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211336x109348.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211336x109349.jpg b/RWT_Cache/Textures/18/mbs211336x109349.jpg new file mode 100644 index 000000000..f84b80a29 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211336x109349.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211336x109350.jpg b/RWT_Cache/Textures/18/mbs211336x109350.jpg new file mode 100644 index 000000000..a01ea1b07 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211336x109350.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211336x109351.jpg b/RWT_Cache/Textures/18/mbs211336x109351.jpg new file mode 100644 index 000000000..59ea1a7f5 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211336x109351.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211336x109352.jpg b/RWT_Cache/Textures/18/mbs211336x109352.jpg new file mode 100644 index 000000000..80fc01b21 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211336x109352.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211336x109353.jpg b/RWT_Cache/Textures/18/mbs211336x109353.jpg new file mode 100644 index 000000000..9dd2eb2cf Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211336x109353.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211336x109354.jpg b/RWT_Cache/Textures/18/mbs211336x109354.jpg new file mode 100644 index 000000000..a89ab8837 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211336x109354.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211336x109355.jpg b/RWT_Cache/Textures/18/mbs211336x109355.jpg new file mode 100644 index 000000000..1ae35e7e6 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211336x109355.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211336x109356.jpg b/RWT_Cache/Textures/18/mbs211336x109356.jpg new file mode 100644 index 000000000..94dc23f40 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211336x109356.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211336x109357.jpg b/RWT_Cache/Textures/18/mbs211336x109357.jpg new file mode 100644 index 000000000..cbf65dfed Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211336x109357.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211336x109358.jpg b/RWT_Cache/Textures/18/mbs211336x109358.jpg new file mode 100644 index 000000000..0bcbab6a2 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211336x109358.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211336x109359.jpg b/RWT_Cache/Textures/18/mbs211336x109359.jpg new file mode 100644 index 000000000..b15912633 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211336x109359.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211336x109360.jpg b/RWT_Cache/Textures/18/mbs211336x109360.jpg new file mode 100644 index 000000000..39c8ae295 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211336x109360.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211336x109361.jpg b/RWT_Cache/Textures/18/mbs211336x109361.jpg new file mode 100644 index 000000000..ab1cf1f38 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211336x109361.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211337x109347.jpg b/RWT_Cache/Textures/18/mbs211337x109347.jpg new file mode 100644 index 000000000..b4c7a2d86 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211337x109347.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211337x109348.jpg b/RWT_Cache/Textures/18/mbs211337x109348.jpg new file mode 100644 index 000000000..4ad3e0b06 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211337x109348.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211337x109349.jpg b/RWT_Cache/Textures/18/mbs211337x109349.jpg new file mode 100644 index 000000000..3ecd5c2b7 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211337x109349.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211337x109350.jpg b/RWT_Cache/Textures/18/mbs211337x109350.jpg new file mode 100644 index 000000000..c91c39de6 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211337x109350.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211337x109351.jpg b/RWT_Cache/Textures/18/mbs211337x109351.jpg new file mode 100644 index 000000000..1f66a2b85 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211337x109351.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211337x109352.jpg b/RWT_Cache/Textures/18/mbs211337x109352.jpg new file mode 100644 index 000000000..dcf0a618e Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211337x109352.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211337x109353.jpg b/RWT_Cache/Textures/18/mbs211337x109353.jpg new file mode 100644 index 000000000..cdf45ceab Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211337x109353.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211337x109354.jpg b/RWT_Cache/Textures/18/mbs211337x109354.jpg new file mode 100644 index 000000000..4b21d7897 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211337x109354.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211337x109355.jpg b/RWT_Cache/Textures/18/mbs211337x109355.jpg new file mode 100644 index 000000000..2146524af Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211337x109355.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211337x109356.jpg b/RWT_Cache/Textures/18/mbs211337x109356.jpg new file mode 100644 index 000000000..b434db5c3 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211337x109356.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211337x109357.jpg b/RWT_Cache/Textures/18/mbs211337x109357.jpg new file mode 100644 index 000000000..2e817be78 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211337x109357.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211337x109358.jpg b/RWT_Cache/Textures/18/mbs211337x109358.jpg new file mode 100644 index 000000000..864637612 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211337x109358.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211337x109359.jpg b/RWT_Cache/Textures/18/mbs211337x109359.jpg new file mode 100644 index 000000000..f3ea894d7 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211337x109359.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211337x109360.jpg b/RWT_Cache/Textures/18/mbs211337x109360.jpg new file mode 100644 index 000000000..f5be8b29a Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211337x109360.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211337x109361.jpg b/RWT_Cache/Textures/18/mbs211337x109361.jpg new file mode 100644 index 000000000..c2e85d7cf Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211337x109361.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211338x109347.jpg b/RWT_Cache/Textures/18/mbs211338x109347.jpg new file mode 100644 index 000000000..87e0328f4 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211338x109347.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211338x109348.jpg b/RWT_Cache/Textures/18/mbs211338x109348.jpg new file mode 100644 index 000000000..c4b3984dd Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211338x109348.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211338x109349.jpg b/RWT_Cache/Textures/18/mbs211338x109349.jpg new file mode 100644 index 000000000..932a35d8b Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211338x109349.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211338x109350.jpg b/RWT_Cache/Textures/18/mbs211338x109350.jpg new file mode 100644 index 000000000..df17b945c Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211338x109350.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211338x109351.jpg b/RWT_Cache/Textures/18/mbs211338x109351.jpg new file mode 100644 index 000000000..fd1b26dc6 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211338x109351.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211338x109352.jpg b/RWT_Cache/Textures/18/mbs211338x109352.jpg new file mode 100644 index 000000000..562955ffb Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211338x109352.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211338x109353.jpg b/RWT_Cache/Textures/18/mbs211338x109353.jpg new file mode 100644 index 000000000..81a9a8958 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211338x109353.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211338x109354.jpg b/RWT_Cache/Textures/18/mbs211338x109354.jpg new file mode 100644 index 000000000..381cc4590 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211338x109354.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211338x109355.jpg b/RWT_Cache/Textures/18/mbs211338x109355.jpg new file mode 100644 index 000000000..e9aa50b51 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211338x109355.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211338x109356.jpg b/RWT_Cache/Textures/18/mbs211338x109356.jpg new file mode 100644 index 000000000..1105cf7b9 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211338x109356.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211338x109357.jpg b/RWT_Cache/Textures/18/mbs211338x109357.jpg new file mode 100644 index 000000000..a0eb6ce4d Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211338x109357.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211338x109358.jpg b/RWT_Cache/Textures/18/mbs211338x109358.jpg new file mode 100644 index 000000000..98a4be81f Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211338x109358.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211338x109359.jpg b/RWT_Cache/Textures/18/mbs211338x109359.jpg new file mode 100644 index 000000000..5fc849921 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211338x109359.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211338x109360.jpg b/RWT_Cache/Textures/18/mbs211338x109360.jpg new file mode 100644 index 000000000..2e87942a6 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211338x109360.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211338x109361.jpg b/RWT_Cache/Textures/18/mbs211338x109361.jpg new file mode 100644 index 000000000..f243bc451 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211338x109361.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211339x109347.jpg b/RWT_Cache/Textures/18/mbs211339x109347.jpg new file mode 100644 index 000000000..b3db29b63 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211339x109347.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211339x109348.jpg b/RWT_Cache/Textures/18/mbs211339x109348.jpg new file mode 100644 index 000000000..1b1e176db Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211339x109348.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211339x109349.jpg b/RWT_Cache/Textures/18/mbs211339x109349.jpg new file mode 100644 index 000000000..d40146e50 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211339x109349.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211339x109350.jpg b/RWT_Cache/Textures/18/mbs211339x109350.jpg new file mode 100644 index 000000000..9d65a3cad Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211339x109350.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211339x109351.jpg b/RWT_Cache/Textures/18/mbs211339x109351.jpg new file mode 100644 index 000000000..58c698ead Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211339x109351.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211339x109352.jpg b/RWT_Cache/Textures/18/mbs211339x109352.jpg new file mode 100644 index 000000000..d468624b3 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211339x109352.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211339x109353.jpg b/RWT_Cache/Textures/18/mbs211339x109353.jpg new file mode 100644 index 000000000..1bac7dfd4 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211339x109353.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211339x109354.jpg b/RWT_Cache/Textures/18/mbs211339x109354.jpg new file mode 100644 index 000000000..bda793913 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211339x109354.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211339x109355.jpg b/RWT_Cache/Textures/18/mbs211339x109355.jpg new file mode 100644 index 000000000..15841d916 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211339x109355.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211339x109356.jpg b/RWT_Cache/Textures/18/mbs211339x109356.jpg new file mode 100644 index 000000000..d55861160 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211339x109356.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211339x109357.jpg b/RWT_Cache/Textures/18/mbs211339x109357.jpg new file mode 100644 index 000000000..1d0b03e7b Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211339x109357.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211339x109358.jpg b/RWT_Cache/Textures/18/mbs211339x109358.jpg new file mode 100644 index 000000000..e592dbe96 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211339x109358.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211339x109359.jpg b/RWT_Cache/Textures/18/mbs211339x109359.jpg new file mode 100644 index 000000000..8d92f85a3 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211339x109359.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211339x109360.jpg b/RWT_Cache/Textures/18/mbs211339x109360.jpg new file mode 100644 index 000000000..4fc204c52 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211339x109360.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211339x109361.jpg b/RWT_Cache/Textures/18/mbs211339x109361.jpg new file mode 100644 index 000000000..ca7505478 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211339x109361.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211340x109347.jpg b/RWT_Cache/Textures/18/mbs211340x109347.jpg new file mode 100644 index 000000000..2427b5a5d Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211340x109347.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211340x109348.jpg b/RWT_Cache/Textures/18/mbs211340x109348.jpg new file mode 100644 index 000000000..d511f54e5 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211340x109348.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211340x109349.jpg b/RWT_Cache/Textures/18/mbs211340x109349.jpg new file mode 100644 index 000000000..63f316976 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211340x109349.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211340x109350.jpg b/RWT_Cache/Textures/18/mbs211340x109350.jpg new file mode 100644 index 000000000..4d0766e9c Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211340x109350.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211340x109351.jpg b/RWT_Cache/Textures/18/mbs211340x109351.jpg new file mode 100644 index 000000000..4ec882ab1 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211340x109351.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211340x109352.jpg b/RWT_Cache/Textures/18/mbs211340x109352.jpg new file mode 100644 index 000000000..3e665f04e Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211340x109352.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211340x109353.jpg b/RWT_Cache/Textures/18/mbs211340x109353.jpg new file mode 100644 index 000000000..28e9653ed Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211340x109353.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211340x109354.jpg b/RWT_Cache/Textures/18/mbs211340x109354.jpg new file mode 100644 index 000000000..c8556383a Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211340x109354.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211340x109355.jpg b/RWT_Cache/Textures/18/mbs211340x109355.jpg new file mode 100644 index 000000000..b02947a18 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211340x109355.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211340x109356.jpg b/RWT_Cache/Textures/18/mbs211340x109356.jpg new file mode 100644 index 000000000..a9b7acaed Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211340x109356.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211340x109357.jpg b/RWT_Cache/Textures/18/mbs211340x109357.jpg new file mode 100644 index 000000000..ea2a79e38 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211340x109357.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211340x109358.jpg b/RWT_Cache/Textures/18/mbs211340x109358.jpg new file mode 100644 index 000000000..6255386d2 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211340x109358.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211340x109359.jpg b/RWT_Cache/Textures/18/mbs211340x109359.jpg new file mode 100644 index 000000000..7b5869397 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211340x109359.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211340x109360.jpg b/RWT_Cache/Textures/18/mbs211340x109360.jpg new file mode 100644 index 000000000..2e5714efa Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211340x109360.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211340x109361.jpg b/RWT_Cache/Textures/18/mbs211340x109361.jpg new file mode 100644 index 000000000..84c567266 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211340x109361.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211341x109347.jpg b/RWT_Cache/Textures/18/mbs211341x109347.jpg new file mode 100644 index 000000000..50b58e1ee Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211341x109347.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211341x109348.jpg b/RWT_Cache/Textures/18/mbs211341x109348.jpg new file mode 100644 index 000000000..2b6384c85 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211341x109348.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211341x109349.jpg b/RWT_Cache/Textures/18/mbs211341x109349.jpg new file mode 100644 index 000000000..74365af63 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211341x109349.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211341x109350.jpg b/RWT_Cache/Textures/18/mbs211341x109350.jpg new file mode 100644 index 000000000..665e0eaa4 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211341x109350.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211341x109351.jpg b/RWT_Cache/Textures/18/mbs211341x109351.jpg new file mode 100644 index 000000000..dd6ebd27f Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211341x109351.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211341x109352.jpg b/RWT_Cache/Textures/18/mbs211341x109352.jpg new file mode 100644 index 000000000..4382cd6e9 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211341x109352.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211341x109353.jpg b/RWT_Cache/Textures/18/mbs211341x109353.jpg new file mode 100644 index 000000000..6f7efb33c Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211341x109353.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211341x109354.jpg b/RWT_Cache/Textures/18/mbs211341x109354.jpg new file mode 100644 index 000000000..47878dff6 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211341x109354.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211341x109355.jpg b/RWT_Cache/Textures/18/mbs211341x109355.jpg new file mode 100644 index 000000000..99dcd620e Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211341x109355.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211341x109356.jpg b/RWT_Cache/Textures/18/mbs211341x109356.jpg new file mode 100644 index 000000000..a0de267b2 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211341x109356.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211341x109357.jpg b/RWT_Cache/Textures/18/mbs211341x109357.jpg new file mode 100644 index 000000000..fad2bda49 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211341x109357.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211341x109358.jpg b/RWT_Cache/Textures/18/mbs211341x109358.jpg new file mode 100644 index 000000000..825d2b1a5 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211341x109358.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211341x109359.jpg b/RWT_Cache/Textures/18/mbs211341x109359.jpg new file mode 100644 index 000000000..040b852da Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211341x109359.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211341x109360.jpg b/RWT_Cache/Textures/18/mbs211341x109360.jpg new file mode 100644 index 000000000..d301af1c0 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211341x109360.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211341x109361.jpg b/RWT_Cache/Textures/18/mbs211341x109361.jpg new file mode 100644 index 000000000..26f1388e1 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211341x109361.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211342x109347.jpg b/RWT_Cache/Textures/18/mbs211342x109347.jpg new file mode 100644 index 000000000..78c386754 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211342x109347.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211342x109348.jpg b/RWT_Cache/Textures/18/mbs211342x109348.jpg new file mode 100644 index 000000000..126352192 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211342x109348.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211342x109349.jpg b/RWT_Cache/Textures/18/mbs211342x109349.jpg new file mode 100644 index 000000000..4d8858097 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211342x109349.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211342x109350.jpg b/RWT_Cache/Textures/18/mbs211342x109350.jpg new file mode 100644 index 000000000..5fe2de7f7 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211342x109350.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211342x109351.jpg b/RWT_Cache/Textures/18/mbs211342x109351.jpg new file mode 100644 index 000000000..e851321c9 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211342x109351.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211342x109352.jpg b/RWT_Cache/Textures/18/mbs211342x109352.jpg new file mode 100644 index 000000000..1025a1f79 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211342x109352.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211342x109353.jpg b/RWT_Cache/Textures/18/mbs211342x109353.jpg new file mode 100644 index 000000000..9c7c01e15 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211342x109353.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211342x109354.jpg b/RWT_Cache/Textures/18/mbs211342x109354.jpg new file mode 100644 index 000000000..f40a460c9 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211342x109354.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211342x109355.jpg b/RWT_Cache/Textures/18/mbs211342x109355.jpg new file mode 100644 index 000000000..883cd63ac Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211342x109355.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211342x109356.jpg b/RWT_Cache/Textures/18/mbs211342x109356.jpg new file mode 100644 index 000000000..683c18568 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211342x109356.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211342x109357.jpg b/RWT_Cache/Textures/18/mbs211342x109357.jpg new file mode 100644 index 000000000..27ed3cd5c Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211342x109357.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211342x109358.jpg b/RWT_Cache/Textures/18/mbs211342x109358.jpg new file mode 100644 index 000000000..e10222c7b Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211342x109358.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211342x109359.jpg b/RWT_Cache/Textures/18/mbs211342x109359.jpg new file mode 100644 index 000000000..8c7ccac8b Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211342x109359.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211342x109360.jpg b/RWT_Cache/Textures/18/mbs211342x109360.jpg new file mode 100644 index 000000000..2f5906937 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211342x109360.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211342x109361.jpg b/RWT_Cache/Textures/18/mbs211342x109361.jpg new file mode 100644 index 000000000..6f8120d37 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211342x109361.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211343x109347.jpg b/RWT_Cache/Textures/18/mbs211343x109347.jpg new file mode 100644 index 000000000..981f2a992 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211343x109347.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211343x109348.jpg b/RWT_Cache/Textures/18/mbs211343x109348.jpg new file mode 100644 index 000000000..a4ea1a9db Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211343x109348.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211343x109349.jpg b/RWT_Cache/Textures/18/mbs211343x109349.jpg new file mode 100644 index 000000000..0cc50fca2 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211343x109349.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211343x109350.jpg b/RWT_Cache/Textures/18/mbs211343x109350.jpg new file mode 100644 index 000000000..6684827b9 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211343x109350.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211343x109351.jpg b/RWT_Cache/Textures/18/mbs211343x109351.jpg new file mode 100644 index 000000000..b0aed9489 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211343x109351.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211343x109352.jpg b/RWT_Cache/Textures/18/mbs211343x109352.jpg new file mode 100644 index 000000000..625613849 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211343x109352.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211343x109353.jpg b/RWT_Cache/Textures/18/mbs211343x109353.jpg new file mode 100644 index 000000000..a51907930 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211343x109353.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211343x109354.jpg b/RWT_Cache/Textures/18/mbs211343x109354.jpg new file mode 100644 index 000000000..c932cd84c Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211343x109354.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211343x109355.jpg b/RWT_Cache/Textures/18/mbs211343x109355.jpg new file mode 100644 index 000000000..000553563 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211343x109355.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211343x109356.jpg b/RWT_Cache/Textures/18/mbs211343x109356.jpg new file mode 100644 index 000000000..8134540a4 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211343x109356.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211343x109357.jpg b/RWT_Cache/Textures/18/mbs211343x109357.jpg new file mode 100644 index 000000000..e19466393 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211343x109357.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211343x109358.jpg b/RWT_Cache/Textures/18/mbs211343x109358.jpg new file mode 100644 index 000000000..a0a507ab2 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211343x109358.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211343x109359.jpg b/RWT_Cache/Textures/18/mbs211343x109359.jpg new file mode 100644 index 000000000..a32332e1b Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211343x109359.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211343x109360.jpg b/RWT_Cache/Textures/18/mbs211343x109360.jpg new file mode 100644 index 000000000..12a444564 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211343x109360.jpg differ diff --git a/RWT_Cache/Textures/18/mbs211343x109361.jpg b/RWT_Cache/Textures/18/mbs211343x109361.jpg new file mode 100644 index 000000000..72b4c42b2 Binary files /dev/null and b/RWT_Cache/Textures/18/mbs211343x109361.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211328x109347.jpg b/RWT_Cache/Textures/18/s2s211328x109347.jpg new file mode 100644 index 000000000..fb6de7af9 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211328x109347.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211328x109348.jpg b/RWT_Cache/Textures/18/s2s211328x109348.jpg new file mode 100644 index 000000000..bc3dc4e81 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211328x109348.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211328x109349.jpg b/RWT_Cache/Textures/18/s2s211328x109349.jpg new file mode 100644 index 000000000..d32f88f47 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211328x109349.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211328x109350.jpg b/RWT_Cache/Textures/18/s2s211328x109350.jpg new file mode 100644 index 000000000..f3f472ab4 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211328x109350.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211328x109351.jpg b/RWT_Cache/Textures/18/s2s211328x109351.jpg new file mode 100644 index 000000000..ee7b66dcb Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211328x109351.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211328x109352.jpg b/RWT_Cache/Textures/18/s2s211328x109352.jpg new file mode 100644 index 000000000..0e67b03fb Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211328x109352.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211328x109353.jpg b/RWT_Cache/Textures/18/s2s211328x109353.jpg new file mode 100644 index 000000000..55b12d99c Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211328x109353.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211328x109354.jpg b/RWT_Cache/Textures/18/s2s211328x109354.jpg new file mode 100644 index 000000000..2c46d6e88 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211328x109354.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211328x109355.jpg b/RWT_Cache/Textures/18/s2s211328x109355.jpg new file mode 100644 index 000000000..1b656f87d Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211328x109355.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211328x109356.jpg b/RWT_Cache/Textures/18/s2s211328x109356.jpg new file mode 100644 index 000000000..59303cf1b Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211328x109356.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211328x109357.jpg b/RWT_Cache/Textures/18/s2s211328x109357.jpg new file mode 100644 index 000000000..3d2f3ff1d Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211328x109357.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211328x109358.jpg b/RWT_Cache/Textures/18/s2s211328x109358.jpg new file mode 100644 index 000000000..1c3aeb26e Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211328x109358.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211328x109359.jpg b/RWT_Cache/Textures/18/s2s211328x109359.jpg new file mode 100644 index 000000000..f63258b2e Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211328x109359.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211328x109360.jpg b/RWT_Cache/Textures/18/s2s211328x109360.jpg new file mode 100644 index 000000000..e0dd4b91f Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211328x109360.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211328x109361.jpg b/RWT_Cache/Textures/18/s2s211328x109361.jpg new file mode 100644 index 000000000..e92683197 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211328x109361.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211329x109347.jpg b/RWT_Cache/Textures/18/s2s211329x109347.jpg new file mode 100644 index 000000000..4180d06e4 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211329x109347.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211329x109348.jpg b/RWT_Cache/Textures/18/s2s211329x109348.jpg new file mode 100644 index 000000000..802e1d0a8 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211329x109348.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211329x109349.jpg b/RWT_Cache/Textures/18/s2s211329x109349.jpg new file mode 100644 index 000000000..5cab37d9f Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211329x109349.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211329x109350.jpg b/RWT_Cache/Textures/18/s2s211329x109350.jpg new file mode 100644 index 000000000..71bedb3d5 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211329x109350.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211329x109351.jpg b/RWT_Cache/Textures/18/s2s211329x109351.jpg new file mode 100644 index 000000000..cb7f35a14 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211329x109351.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211329x109352.jpg b/RWT_Cache/Textures/18/s2s211329x109352.jpg new file mode 100644 index 000000000..968ecba81 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211329x109352.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211329x109353.jpg b/RWT_Cache/Textures/18/s2s211329x109353.jpg new file mode 100644 index 000000000..f751ab47d Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211329x109353.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211329x109354.jpg b/RWT_Cache/Textures/18/s2s211329x109354.jpg new file mode 100644 index 000000000..5e59b8210 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211329x109354.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211329x109355.jpg b/RWT_Cache/Textures/18/s2s211329x109355.jpg new file mode 100644 index 000000000..a516e30f8 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211329x109355.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211329x109356.jpg b/RWT_Cache/Textures/18/s2s211329x109356.jpg new file mode 100644 index 000000000..24e959256 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211329x109356.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211329x109357.jpg b/RWT_Cache/Textures/18/s2s211329x109357.jpg new file mode 100644 index 000000000..fca8ab9ff Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211329x109357.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211329x109358.jpg b/RWT_Cache/Textures/18/s2s211329x109358.jpg new file mode 100644 index 000000000..a017f3f3d Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211329x109358.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211329x109359.jpg b/RWT_Cache/Textures/18/s2s211329x109359.jpg new file mode 100644 index 000000000..6de614c71 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211329x109359.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211329x109360.jpg b/RWT_Cache/Textures/18/s2s211329x109360.jpg new file mode 100644 index 000000000..b7308261b Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211329x109360.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211329x109361.jpg b/RWT_Cache/Textures/18/s2s211329x109361.jpg new file mode 100644 index 000000000..214650d03 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211329x109361.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211330x109347.jpg b/RWT_Cache/Textures/18/s2s211330x109347.jpg new file mode 100644 index 000000000..1e9afe1da Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211330x109347.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211330x109348.jpg b/RWT_Cache/Textures/18/s2s211330x109348.jpg new file mode 100644 index 000000000..1042ed7e4 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211330x109348.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211330x109349.jpg b/RWT_Cache/Textures/18/s2s211330x109349.jpg new file mode 100644 index 000000000..5278effd6 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211330x109349.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211330x109350.jpg b/RWT_Cache/Textures/18/s2s211330x109350.jpg new file mode 100644 index 000000000..3bc1e92bd Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211330x109350.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211330x109351.jpg b/RWT_Cache/Textures/18/s2s211330x109351.jpg new file mode 100644 index 000000000..7d47215b1 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211330x109351.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211330x109352.jpg b/RWT_Cache/Textures/18/s2s211330x109352.jpg new file mode 100644 index 000000000..1732d9174 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211330x109352.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211330x109353.jpg b/RWT_Cache/Textures/18/s2s211330x109353.jpg new file mode 100644 index 000000000..dcffc831f Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211330x109353.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211330x109354.jpg b/RWT_Cache/Textures/18/s2s211330x109354.jpg new file mode 100644 index 000000000..a17e8f3c9 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211330x109354.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211330x109355.jpg b/RWT_Cache/Textures/18/s2s211330x109355.jpg new file mode 100644 index 000000000..79da19843 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211330x109355.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211330x109356.jpg b/RWT_Cache/Textures/18/s2s211330x109356.jpg new file mode 100644 index 000000000..3545636f2 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211330x109356.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211330x109357.jpg b/RWT_Cache/Textures/18/s2s211330x109357.jpg new file mode 100644 index 000000000..923e41456 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211330x109357.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211330x109358.jpg b/RWT_Cache/Textures/18/s2s211330x109358.jpg new file mode 100644 index 000000000..7172bc2ad Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211330x109358.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211330x109359.jpg b/RWT_Cache/Textures/18/s2s211330x109359.jpg new file mode 100644 index 000000000..fd0611579 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211330x109359.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211330x109360.jpg b/RWT_Cache/Textures/18/s2s211330x109360.jpg new file mode 100644 index 000000000..940a2b9aa Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211330x109360.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211330x109361.jpg b/RWT_Cache/Textures/18/s2s211330x109361.jpg new file mode 100644 index 000000000..3a0e22145 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211330x109361.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211331x109347.jpg b/RWT_Cache/Textures/18/s2s211331x109347.jpg new file mode 100644 index 000000000..5ddd07281 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211331x109347.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211331x109348.jpg b/RWT_Cache/Textures/18/s2s211331x109348.jpg new file mode 100644 index 000000000..a15b04a86 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211331x109348.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211331x109349.jpg b/RWT_Cache/Textures/18/s2s211331x109349.jpg new file mode 100644 index 000000000..fb2bfac88 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211331x109349.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211331x109350.jpg b/RWT_Cache/Textures/18/s2s211331x109350.jpg new file mode 100644 index 000000000..4adcdb979 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211331x109350.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211331x109351.jpg b/RWT_Cache/Textures/18/s2s211331x109351.jpg new file mode 100644 index 000000000..543999a86 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211331x109351.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211331x109352.jpg b/RWT_Cache/Textures/18/s2s211331x109352.jpg new file mode 100644 index 000000000..2a81ebf4f Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211331x109352.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211331x109353.jpg b/RWT_Cache/Textures/18/s2s211331x109353.jpg new file mode 100644 index 000000000..fad186736 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211331x109353.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211331x109354.jpg b/RWT_Cache/Textures/18/s2s211331x109354.jpg new file mode 100644 index 000000000..b9033df8e Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211331x109354.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211331x109355.jpg b/RWT_Cache/Textures/18/s2s211331x109355.jpg new file mode 100644 index 000000000..0aca9e43b Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211331x109355.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211331x109356.jpg b/RWT_Cache/Textures/18/s2s211331x109356.jpg new file mode 100644 index 000000000..579698d7e Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211331x109356.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211331x109357.jpg b/RWT_Cache/Textures/18/s2s211331x109357.jpg new file mode 100644 index 000000000..a6ffd9c66 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211331x109357.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211331x109358.jpg b/RWT_Cache/Textures/18/s2s211331x109358.jpg new file mode 100644 index 000000000..47016cc3b Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211331x109358.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211331x109359.jpg b/RWT_Cache/Textures/18/s2s211331x109359.jpg new file mode 100644 index 000000000..0c4a9de70 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211331x109359.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211331x109360.jpg b/RWT_Cache/Textures/18/s2s211331x109360.jpg new file mode 100644 index 000000000..25d571a28 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211331x109360.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211331x109361.jpg b/RWT_Cache/Textures/18/s2s211331x109361.jpg new file mode 100644 index 000000000..aad114a23 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211331x109361.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211332x109347.jpg b/RWT_Cache/Textures/18/s2s211332x109347.jpg new file mode 100644 index 000000000..fdeefdba0 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211332x109347.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211332x109348.jpg b/RWT_Cache/Textures/18/s2s211332x109348.jpg new file mode 100644 index 000000000..0291d8ab8 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211332x109348.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211332x109349.jpg b/RWT_Cache/Textures/18/s2s211332x109349.jpg new file mode 100644 index 000000000..a70c99d7c Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211332x109349.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211332x109350.jpg b/RWT_Cache/Textures/18/s2s211332x109350.jpg new file mode 100644 index 000000000..cc1b6ce42 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211332x109350.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211332x109351.jpg b/RWT_Cache/Textures/18/s2s211332x109351.jpg new file mode 100644 index 000000000..b2e2bb503 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211332x109351.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211332x109352.jpg b/RWT_Cache/Textures/18/s2s211332x109352.jpg new file mode 100644 index 000000000..c116d9711 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211332x109352.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211332x109353.jpg b/RWT_Cache/Textures/18/s2s211332x109353.jpg new file mode 100644 index 000000000..f210215c3 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211332x109353.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211332x109354.jpg b/RWT_Cache/Textures/18/s2s211332x109354.jpg new file mode 100644 index 000000000..089c736cd Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211332x109354.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211332x109355.jpg b/RWT_Cache/Textures/18/s2s211332x109355.jpg new file mode 100644 index 000000000..c69411d08 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211332x109355.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211332x109356.jpg b/RWT_Cache/Textures/18/s2s211332x109356.jpg new file mode 100644 index 000000000..2221c3a39 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211332x109356.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211332x109357.jpg b/RWT_Cache/Textures/18/s2s211332x109357.jpg new file mode 100644 index 000000000..ff2eef10e Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211332x109357.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211332x109358.jpg b/RWT_Cache/Textures/18/s2s211332x109358.jpg new file mode 100644 index 000000000..07247210f Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211332x109358.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211332x109359.jpg b/RWT_Cache/Textures/18/s2s211332x109359.jpg new file mode 100644 index 000000000..4ad59eaf9 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211332x109359.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211332x109360.jpg b/RWT_Cache/Textures/18/s2s211332x109360.jpg new file mode 100644 index 000000000..96cdf3cdd Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211332x109360.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211332x109361.jpg b/RWT_Cache/Textures/18/s2s211332x109361.jpg new file mode 100644 index 000000000..7d2a9818f Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211332x109361.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211333x109347.jpg b/RWT_Cache/Textures/18/s2s211333x109347.jpg new file mode 100644 index 000000000..ce20966a2 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211333x109347.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211333x109348.jpg b/RWT_Cache/Textures/18/s2s211333x109348.jpg new file mode 100644 index 000000000..54d148d75 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211333x109348.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211333x109349.jpg b/RWT_Cache/Textures/18/s2s211333x109349.jpg new file mode 100644 index 000000000..65c477fb0 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211333x109349.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211333x109350.jpg b/RWT_Cache/Textures/18/s2s211333x109350.jpg new file mode 100644 index 000000000..1b255cc6f Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211333x109350.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211333x109351.jpg b/RWT_Cache/Textures/18/s2s211333x109351.jpg new file mode 100644 index 000000000..884423588 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211333x109351.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211333x109352.jpg b/RWT_Cache/Textures/18/s2s211333x109352.jpg new file mode 100644 index 000000000..1429029b6 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211333x109352.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211333x109353.jpg b/RWT_Cache/Textures/18/s2s211333x109353.jpg new file mode 100644 index 000000000..3ba09d6f2 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211333x109353.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211333x109354.jpg b/RWT_Cache/Textures/18/s2s211333x109354.jpg new file mode 100644 index 000000000..32cc153bc Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211333x109354.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211333x109355.jpg b/RWT_Cache/Textures/18/s2s211333x109355.jpg new file mode 100644 index 000000000..d8a97a51a Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211333x109355.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211333x109356.jpg b/RWT_Cache/Textures/18/s2s211333x109356.jpg new file mode 100644 index 000000000..284260bc7 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211333x109356.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211333x109357.jpg b/RWT_Cache/Textures/18/s2s211333x109357.jpg new file mode 100644 index 000000000..d2b72708f Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211333x109357.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211333x109358.jpg b/RWT_Cache/Textures/18/s2s211333x109358.jpg new file mode 100644 index 000000000..bb74c2482 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211333x109358.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211333x109359.jpg b/RWT_Cache/Textures/18/s2s211333x109359.jpg new file mode 100644 index 000000000..8c5fcf7c4 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211333x109359.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211333x109360.jpg b/RWT_Cache/Textures/18/s2s211333x109360.jpg new file mode 100644 index 000000000..aef2610ef Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211333x109360.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211333x109361.jpg b/RWT_Cache/Textures/18/s2s211333x109361.jpg new file mode 100644 index 000000000..93a7fa187 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211333x109361.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211334x109347.jpg b/RWT_Cache/Textures/18/s2s211334x109347.jpg new file mode 100644 index 000000000..730224033 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211334x109347.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211334x109348.jpg b/RWT_Cache/Textures/18/s2s211334x109348.jpg new file mode 100644 index 000000000..dcc1a1226 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211334x109348.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211334x109349.jpg b/RWT_Cache/Textures/18/s2s211334x109349.jpg new file mode 100644 index 000000000..5ed7cb6c8 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211334x109349.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211334x109350.jpg b/RWT_Cache/Textures/18/s2s211334x109350.jpg new file mode 100644 index 000000000..c42531484 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211334x109350.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211334x109351.jpg b/RWT_Cache/Textures/18/s2s211334x109351.jpg new file mode 100644 index 000000000..fa41cdc84 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211334x109351.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211334x109352.jpg b/RWT_Cache/Textures/18/s2s211334x109352.jpg new file mode 100644 index 000000000..8af0c940a Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211334x109352.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211334x109353.jpg b/RWT_Cache/Textures/18/s2s211334x109353.jpg new file mode 100644 index 000000000..2c787288a Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211334x109353.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211334x109354.jpg b/RWT_Cache/Textures/18/s2s211334x109354.jpg new file mode 100644 index 000000000..ba417b6af Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211334x109354.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211334x109355.jpg b/RWT_Cache/Textures/18/s2s211334x109355.jpg new file mode 100644 index 000000000..57cabf226 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211334x109355.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211334x109356.jpg b/RWT_Cache/Textures/18/s2s211334x109356.jpg new file mode 100644 index 000000000..92891986f Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211334x109356.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211334x109357.jpg b/RWT_Cache/Textures/18/s2s211334x109357.jpg new file mode 100644 index 000000000..2a8c1a20a Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211334x109357.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211334x109358.jpg b/RWT_Cache/Textures/18/s2s211334x109358.jpg new file mode 100644 index 000000000..fa2f30154 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211334x109358.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211334x109359.jpg b/RWT_Cache/Textures/18/s2s211334x109359.jpg new file mode 100644 index 000000000..8d4db22aa Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211334x109359.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211334x109360.jpg b/RWT_Cache/Textures/18/s2s211334x109360.jpg new file mode 100644 index 000000000..a66cce1cd Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211334x109360.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211334x109361.jpg b/RWT_Cache/Textures/18/s2s211334x109361.jpg new file mode 100644 index 000000000..dcec1f837 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211334x109361.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211335x109347.jpg b/RWT_Cache/Textures/18/s2s211335x109347.jpg new file mode 100644 index 000000000..674d0f947 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211335x109347.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211335x109348.jpg b/RWT_Cache/Textures/18/s2s211335x109348.jpg new file mode 100644 index 000000000..350455397 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211335x109348.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211335x109349.jpg b/RWT_Cache/Textures/18/s2s211335x109349.jpg new file mode 100644 index 000000000..dcdef78b7 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211335x109349.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211335x109350.jpg b/RWT_Cache/Textures/18/s2s211335x109350.jpg new file mode 100644 index 000000000..3182f633a Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211335x109350.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211335x109351.jpg b/RWT_Cache/Textures/18/s2s211335x109351.jpg new file mode 100644 index 000000000..904af2fc7 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211335x109351.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211335x109352.jpg b/RWT_Cache/Textures/18/s2s211335x109352.jpg new file mode 100644 index 000000000..3b6270aee Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211335x109352.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211335x109353.jpg b/RWT_Cache/Textures/18/s2s211335x109353.jpg new file mode 100644 index 000000000..882d239d3 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211335x109353.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211335x109354.jpg b/RWT_Cache/Textures/18/s2s211335x109354.jpg new file mode 100644 index 000000000..51e15b1ca Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211335x109354.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211335x109355.jpg b/RWT_Cache/Textures/18/s2s211335x109355.jpg new file mode 100644 index 000000000..158e4dd4a Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211335x109355.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211335x109356.jpg b/RWT_Cache/Textures/18/s2s211335x109356.jpg new file mode 100644 index 000000000..1676549f4 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211335x109356.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211335x109357.jpg b/RWT_Cache/Textures/18/s2s211335x109357.jpg new file mode 100644 index 000000000..4ab044b76 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211335x109357.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211335x109358.jpg b/RWT_Cache/Textures/18/s2s211335x109358.jpg new file mode 100644 index 000000000..19b7f3a8c Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211335x109358.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211335x109359.jpg b/RWT_Cache/Textures/18/s2s211335x109359.jpg new file mode 100644 index 000000000..b2f2e7be4 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211335x109359.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211335x109360.jpg b/RWT_Cache/Textures/18/s2s211335x109360.jpg new file mode 100644 index 000000000..6b306d4b1 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211335x109360.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211335x109361.jpg b/RWT_Cache/Textures/18/s2s211335x109361.jpg new file mode 100644 index 000000000..ca60158d8 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211335x109361.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211336x109347.jpg b/RWT_Cache/Textures/18/s2s211336x109347.jpg new file mode 100644 index 000000000..671ecd98a Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211336x109347.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211336x109348.jpg b/RWT_Cache/Textures/18/s2s211336x109348.jpg new file mode 100644 index 000000000..e555ded66 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211336x109348.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211336x109349.jpg b/RWT_Cache/Textures/18/s2s211336x109349.jpg new file mode 100644 index 000000000..0276499b1 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211336x109349.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211336x109350.jpg b/RWT_Cache/Textures/18/s2s211336x109350.jpg new file mode 100644 index 000000000..e7a6ef61d Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211336x109350.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211336x109351.jpg b/RWT_Cache/Textures/18/s2s211336x109351.jpg new file mode 100644 index 000000000..02dbc2b8e Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211336x109351.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211336x109352.jpg b/RWT_Cache/Textures/18/s2s211336x109352.jpg new file mode 100644 index 000000000..d59e5da04 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211336x109352.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211336x109353.jpg b/RWT_Cache/Textures/18/s2s211336x109353.jpg new file mode 100644 index 000000000..d0eae1862 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211336x109353.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211336x109354.jpg b/RWT_Cache/Textures/18/s2s211336x109354.jpg new file mode 100644 index 000000000..d80a61741 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211336x109354.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211336x109355.jpg b/RWT_Cache/Textures/18/s2s211336x109355.jpg new file mode 100644 index 000000000..4f9bc7e23 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211336x109355.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211336x109356.jpg b/RWT_Cache/Textures/18/s2s211336x109356.jpg new file mode 100644 index 000000000..cc013fac0 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211336x109356.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211336x109357.jpg b/RWT_Cache/Textures/18/s2s211336x109357.jpg new file mode 100644 index 000000000..214509a07 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211336x109357.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211336x109358.jpg b/RWT_Cache/Textures/18/s2s211336x109358.jpg new file mode 100644 index 000000000..aafcea674 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211336x109358.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211336x109359.jpg b/RWT_Cache/Textures/18/s2s211336x109359.jpg new file mode 100644 index 000000000..5b2d4f3a1 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211336x109359.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211336x109360.jpg b/RWT_Cache/Textures/18/s2s211336x109360.jpg new file mode 100644 index 000000000..139b8c4a4 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211336x109360.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211336x109361.jpg b/RWT_Cache/Textures/18/s2s211336x109361.jpg new file mode 100644 index 000000000..2193221ef Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211336x109361.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211337x109347.jpg b/RWT_Cache/Textures/18/s2s211337x109347.jpg new file mode 100644 index 000000000..5f7313a57 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211337x109347.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211337x109348.jpg b/RWT_Cache/Textures/18/s2s211337x109348.jpg new file mode 100644 index 000000000..a62a6e420 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211337x109348.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211337x109349.jpg b/RWT_Cache/Textures/18/s2s211337x109349.jpg new file mode 100644 index 000000000..1253080f7 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211337x109349.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211337x109350.jpg b/RWT_Cache/Textures/18/s2s211337x109350.jpg new file mode 100644 index 000000000..d6cbfbcda Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211337x109350.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211337x109351.jpg b/RWT_Cache/Textures/18/s2s211337x109351.jpg new file mode 100644 index 000000000..f33ef9497 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211337x109351.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211337x109352.jpg b/RWT_Cache/Textures/18/s2s211337x109352.jpg new file mode 100644 index 000000000..2f5425d66 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211337x109352.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211337x109353.jpg b/RWT_Cache/Textures/18/s2s211337x109353.jpg new file mode 100644 index 000000000..cd4aa9305 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211337x109353.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211337x109354.jpg b/RWT_Cache/Textures/18/s2s211337x109354.jpg new file mode 100644 index 000000000..9a99551af Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211337x109354.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211337x109355.jpg b/RWT_Cache/Textures/18/s2s211337x109355.jpg new file mode 100644 index 000000000..c4f98eb97 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211337x109355.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211337x109356.jpg b/RWT_Cache/Textures/18/s2s211337x109356.jpg new file mode 100644 index 000000000..4a505c981 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211337x109356.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211337x109357.jpg b/RWT_Cache/Textures/18/s2s211337x109357.jpg new file mode 100644 index 000000000..8b32ef0ba Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211337x109357.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211337x109358.jpg b/RWT_Cache/Textures/18/s2s211337x109358.jpg new file mode 100644 index 000000000..443b3ba35 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211337x109358.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211337x109359.jpg b/RWT_Cache/Textures/18/s2s211337x109359.jpg new file mode 100644 index 000000000..fdc055a5a Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211337x109359.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211337x109360.jpg b/RWT_Cache/Textures/18/s2s211337x109360.jpg new file mode 100644 index 000000000..4fc6ea23e Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211337x109360.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211337x109361.jpg b/RWT_Cache/Textures/18/s2s211337x109361.jpg new file mode 100644 index 000000000..c1bd5cbff Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211337x109361.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211338x109347.jpg b/RWT_Cache/Textures/18/s2s211338x109347.jpg new file mode 100644 index 000000000..242dab6d1 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211338x109347.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211338x109348.jpg b/RWT_Cache/Textures/18/s2s211338x109348.jpg new file mode 100644 index 000000000..ab98f0055 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211338x109348.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211338x109349.jpg b/RWT_Cache/Textures/18/s2s211338x109349.jpg new file mode 100644 index 000000000..92a7c5844 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211338x109349.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211338x109350.jpg b/RWT_Cache/Textures/18/s2s211338x109350.jpg new file mode 100644 index 000000000..a9d121127 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211338x109350.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211338x109351.jpg b/RWT_Cache/Textures/18/s2s211338x109351.jpg new file mode 100644 index 000000000..c4fa76c43 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211338x109351.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211338x109352.jpg b/RWT_Cache/Textures/18/s2s211338x109352.jpg new file mode 100644 index 000000000..e9cc8ea6b Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211338x109352.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211338x109353.jpg b/RWT_Cache/Textures/18/s2s211338x109353.jpg new file mode 100644 index 000000000..a47f5bebc Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211338x109353.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211338x109354.jpg b/RWT_Cache/Textures/18/s2s211338x109354.jpg new file mode 100644 index 000000000..b395919c6 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211338x109354.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211338x109355.jpg b/RWT_Cache/Textures/18/s2s211338x109355.jpg new file mode 100644 index 000000000..440b5001e Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211338x109355.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211338x109356.jpg b/RWT_Cache/Textures/18/s2s211338x109356.jpg new file mode 100644 index 000000000..6dbd8cb3d Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211338x109356.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211338x109357.jpg b/RWT_Cache/Textures/18/s2s211338x109357.jpg new file mode 100644 index 000000000..c62d68fd9 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211338x109357.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211338x109358.jpg b/RWT_Cache/Textures/18/s2s211338x109358.jpg new file mode 100644 index 000000000..797b318a7 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211338x109358.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211338x109359.jpg b/RWT_Cache/Textures/18/s2s211338x109359.jpg new file mode 100644 index 000000000..81e919b61 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211338x109359.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211338x109360.jpg b/RWT_Cache/Textures/18/s2s211338x109360.jpg new file mode 100644 index 000000000..243917b65 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211338x109360.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211338x109361.jpg b/RWT_Cache/Textures/18/s2s211338x109361.jpg new file mode 100644 index 000000000..0ba41b8ca Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211338x109361.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211339x109347.jpg b/RWT_Cache/Textures/18/s2s211339x109347.jpg new file mode 100644 index 000000000..df041eae2 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211339x109347.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211339x109348.jpg b/RWT_Cache/Textures/18/s2s211339x109348.jpg new file mode 100644 index 000000000..fa5679870 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211339x109348.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211339x109349.jpg b/RWT_Cache/Textures/18/s2s211339x109349.jpg new file mode 100644 index 000000000..a1ef90f09 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211339x109349.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211339x109350.jpg b/RWT_Cache/Textures/18/s2s211339x109350.jpg new file mode 100644 index 000000000..64ca87ca4 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211339x109350.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211339x109351.jpg b/RWT_Cache/Textures/18/s2s211339x109351.jpg new file mode 100644 index 000000000..209c6e6db Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211339x109351.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211339x109352.jpg b/RWT_Cache/Textures/18/s2s211339x109352.jpg new file mode 100644 index 000000000..fc9254022 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211339x109352.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211339x109353.jpg b/RWT_Cache/Textures/18/s2s211339x109353.jpg new file mode 100644 index 000000000..2999df49d Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211339x109353.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211339x109354.jpg b/RWT_Cache/Textures/18/s2s211339x109354.jpg new file mode 100644 index 000000000..61fba0d60 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211339x109354.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211339x109355.jpg b/RWT_Cache/Textures/18/s2s211339x109355.jpg new file mode 100644 index 000000000..433761124 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211339x109355.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211339x109356.jpg b/RWT_Cache/Textures/18/s2s211339x109356.jpg new file mode 100644 index 000000000..d3d047b92 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211339x109356.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211339x109357.jpg b/RWT_Cache/Textures/18/s2s211339x109357.jpg new file mode 100644 index 000000000..64a530c7b Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211339x109357.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211339x109358.jpg b/RWT_Cache/Textures/18/s2s211339x109358.jpg new file mode 100644 index 000000000..13f1124f0 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211339x109358.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211339x109359.jpg b/RWT_Cache/Textures/18/s2s211339x109359.jpg new file mode 100644 index 000000000..2dbf696ce Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211339x109359.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211339x109360.jpg b/RWT_Cache/Textures/18/s2s211339x109360.jpg new file mode 100644 index 000000000..6490dfb6a Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211339x109360.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211339x109361.jpg b/RWT_Cache/Textures/18/s2s211339x109361.jpg new file mode 100644 index 000000000..06d577aa7 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211339x109361.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211340x109347.jpg b/RWT_Cache/Textures/18/s2s211340x109347.jpg new file mode 100644 index 000000000..738401611 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211340x109347.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211340x109348.jpg b/RWT_Cache/Textures/18/s2s211340x109348.jpg new file mode 100644 index 000000000..47afb758a Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211340x109348.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211340x109349.jpg b/RWT_Cache/Textures/18/s2s211340x109349.jpg new file mode 100644 index 000000000..df940b0f7 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211340x109349.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211340x109350.jpg b/RWT_Cache/Textures/18/s2s211340x109350.jpg new file mode 100644 index 000000000..7b90e5522 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211340x109350.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211340x109351.jpg b/RWT_Cache/Textures/18/s2s211340x109351.jpg new file mode 100644 index 000000000..d61d8e714 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211340x109351.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211340x109352.jpg b/RWT_Cache/Textures/18/s2s211340x109352.jpg new file mode 100644 index 000000000..b96d76cec Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211340x109352.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211340x109353.jpg b/RWT_Cache/Textures/18/s2s211340x109353.jpg new file mode 100644 index 000000000..4e1498eb5 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211340x109353.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211340x109354.jpg b/RWT_Cache/Textures/18/s2s211340x109354.jpg new file mode 100644 index 000000000..c0af4f373 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211340x109354.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211340x109355.jpg b/RWT_Cache/Textures/18/s2s211340x109355.jpg new file mode 100644 index 000000000..b61d262d1 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211340x109355.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211340x109356.jpg b/RWT_Cache/Textures/18/s2s211340x109356.jpg new file mode 100644 index 000000000..12e07fbd6 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211340x109356.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211340x109357.jpg b/RWT_Cache/Textures/18/s2s211340x109357.jpg new file mode 100644 index 000000000..ccd75ebf0 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211340x109357.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211340x109358.jpg b/RWT_Cache/Textures/18/s2s211340x109358.jpg new file mode 100644 index 000000000..fb5d901bb Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211340x109358.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211340x109359.jpg b/RWT_Cache/Textures/18/s2s211340x109359.jpg new file mode 100644 index 000000000..19517c03d Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211340x109359.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211340x109360.jpg b/RWT_Cache/Textures/18/s2s211340x109360.jpg new file mode 100644 index 000000000..9c9f59e54 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211340x109360.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211340x109361.jpg b/RWT_Cache/Textures/18/s2s211340x109361.jpg new file mode 100644 index 000000000..1097bc37c Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211340x109361.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211341x109347.jpg b/RWT_Cache/Textures/18/s2s211341x109347.jpg new file mode 100644 index 000000000..4488c2782 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211341x109347.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211341x109348.jpg b/RWT_Cache/Textures/18/s2s211341x109348.jpg new file mode 100644 index 000000000..81ec0afdd Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211341x109348.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211341x109349.jpg b/RWT_Cache/Textures/18/s2s211341x109349.jpg new file mode 100644 index 000000000..c51feb269 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211341x109349.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211341x109350.jpg b/RWT_Cache/Textures/18/s2s211341x109350.jpg new file mode 100644 index 000000000..49bfd6a11 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211341x109350.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211341x109351.jpg b/RWT_Cache/Textures/18/s2s211341x109351.jpg new file mode 100644 index 000000000..527ad8c00 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211341x109351.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211341x109352.jpg b/RWT_Cache/Textures/18/s2s211341x109352.jpg new file mode 100644 index 000000000..398b380c4 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211341x109352.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211341x109353.jpg b/RWT_Cache/Textures/18/s2s211341x109353.jpg new file mode 100644 index 000000000..6d45bbd28 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211341x109353.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211341x109354.jpg b/RWT_Cache/Textures/18/s2s211341x109354.jpg new file mode 100644 index 000000000..7266c2196 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211341x109354.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211341x109355.jpg b/RWT_Cache/Textures/18/s2s211341x109355.jpg new file mode 100644 index 000000000..a4d5a0f15 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211341x109355.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211341x109356.jpg b/RWT_Cache/Textures/18/s2s211341x109356.jpg new file mode 100644 index 000000000..79334054c Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211341x109356.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211341x109357.jpg b/RWT_Cache/Textures/18/s2s211341x109357.jpg new file mode 100644 index 000000000..25ff02e25 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211341x109357.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211341x109358.jpg b/RWT_Cache/Textures/18/s2s211341x109358.jpg new file mode 100644 index 000000000..0e3a77af4 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211341x109358.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211341x109359.jpg b/RWT_Cache/Textures/18/s2s211341x109359.jpg new file mode 100644 index 000000000..ae71a31f7 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211341x109359.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211341x109360.jpg b/RWT_Cache/Textures/18/s2s211341x109360.jpg new file mode 100644 index 000000000..f37f58d1b Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211341x109360.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211341x109361.jpg b/RWT_Cache/Textures/18/s2s211341x109361.jpg new file mode 100644 index 000000000..d12d964ba Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211341x109361.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211342x109347.jpg b/RWT_Cache/Textures/18/s2s211342x109347.jpg new file mode 100644 index 000000000..57d019eeb Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211342x109347.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211342x109348.jpg b/RWT_Cache/Textures/18/s2s211342x109348.jpg new file mode 100644 index 000000000..e26339efd Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211342x109348.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211342x109349.jpg b/RWT_Cache/Textures/18/s2s211342x109349.jpg new file mode 100644 index 000000000..391e54c7a Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211342x109349.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211342x109350.jpg b/RWT_Cache/Textures/18/s2s211342x109350.jpg new file mode 100644 index 000000000..1d53d18ac Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211342x109350.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211342x109351.jpg b/RWT_Cache/Textures/18/s2s211342x109351.jpg new file mode 100644 index 000000000..c8492cc54 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211342x109351.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211342x109352.jpg b/RWT_Cache/Textures/18/s2s211342x109352.jpg new file mode 100644 index 000000000..eabfed9d5 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211342x109352.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211342x109353.jpg b/RWT_Cache/Textures/18/s2s211342x109353.jpg new file mode 100644 index 000000000..ec9787da7 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211342x109353.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211342x109354.jpg b/RWT_Cache/Textures/18/s2s211342x109354.jpg new file mode 100644 index 000000000..f250e2db1 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211342x109354.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211342x109355.jpg b/RWT_Cache/Textures/18/s2s211342x109355.jpg new file mode 100644 index 000000000..dce4e67b8 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211342x109355.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211342x109356.jpg b/RWT_Cache/Textures/18/s2s211342x109356.jpg new file mode 100644 index 000000000..5e12254ef Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211342x109356.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211342x109357.jpg b/RWT_Cache/Textures/18/s2s211342x109357.jpg new file mode 100644 index 000000000..1afe62f67 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211342x109357.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211342x109358.jpg b/RWT_Cache/Textures/18/s2s211342x109358.jpg new file mode 100644 index 000000000..742f33450 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211342x109358.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211342x109359.jpg b/RWT_Cache/Textures/18/s2s211342x109359.jpg new file mode 100644 index 000000000..bc938480b Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211342x109359.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211342x109360.jpg b/RWT_Cache/Textures/18/s2s211342x109360.jpg new file mode 100644 index 000000000..222caa152 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211342x109360.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211342x109361.jpg b/RWT_Cache/Textures/18/s2s211342x109361.jpg new file mode 100644 index 000000000..94e1efb24 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211342x109361.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211343x109347.jpg b/RWT_Cache/Textures/18/s2s211343x109347.jpg new file mode 100644 index 000000000..544335a4b Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211343x109347.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211343x109348.jpg b/RWT_Cache/Textures/18/s2s211343x109348.jpg new file mode 100644 index 000000000..581989b2f Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211343x109348.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211343x109349.jpg b/RWT_Cache/Textures/18/s2s211343x109349.jpg new file mode 100644 index 000000000..2e7ee8a6e Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211343x109349.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211343x109350.jpg b/RWT_Cache/Textures/18/s2s211343x109350.jpg new file mode 100644 index 000000000..ab4f5dd9a Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211343x109350.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211343x109351.jpg b/RWT_Cache/Textures/18/s2s211343x109351.jpg new file mode 100644 index 000000000..8ea9e4cfc Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211343x109351.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211343x109352.jpg b/RWT_Cache/Textures/18/s2s211343x109352.jpg new file mode 100644 index 000000000..1a09bf1d1 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211343x109352.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211343x109353.jpg b/RWT_Cache/Textures/18/s2s211343x109353.jpg new file mode 100644 index 000000000..28ad82115 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211343x109353.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211343x109354.jpg b/RWT_Cache/Textures/18/s2s211343x109354.jpg new file mode 100644 index 000000000..3cd6e28e4 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211343x109354.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211343x109355.jpg b/RWT_Cache/Textures/18/s2s211343x109355.jpg new file mode 100644 index 000000000..70bec018c Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211343x109355.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211343x109356.jpg b/RWT_Cache/Textures/18/s2s211343x109356.jpg new file mode 100644 index 000000000..ff252ace8 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211343x109356.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211343x109357.jpg b/RWT_Cache/Textures/18/s2s211343x109357.jpg new file mode 100644 index 000000000..84fcca888 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211343x109357.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211343x109358.jpg b/RWT_Cache/Textures/18/s2s211343x109358.jpg new file mode 100644 index 000000000..107655a28 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211343x109358.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211343x109359.jpg b/RWT_Cache/Textures/18/s2s211343x109359.jpg new file mode 100644 index 000000000..2981b3a8a Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211343x109359.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211343x109360.jpg b/RWT_Cache/Textures/18/s2s211343x109360.jpg new file mode 100644 index 000000000..6840509b5 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211343x109360.jpg differ diff --git a/RWT_Cache/Textures/18/s2s211343x109361.jpg b/RWT_Cache/Textures/18/s2s211343x109361.jpg new file mode 100644 index 000000000..e0205c8b2 Binary files /dev/null and b/RWT_Cache/Textures/18/s2s211343x109361.jpg differ diff --git a/RWT_Cache/Textures/19/ag422656x218695.jpg b/RWT_Cache/Textures/19/ag422656x218695.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422656x218695.jpg differ diff --git a/RWT_Cache/Textures/19/ag422656x218696.jpg b/RWT_Cache/Textures/19/ag422656x218696.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422656x218696.jpg differ diff --git a/RWT_Cache/Textures/19/ag422656x218697.jpg b/RWT_Cache/Textures/19/ag422656x218697.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422656x218697.jpg differ diff --git a/RWT_Cache/Textures/19/ag422656x218698.jpg b/RWT_Cache/Textures/19/ag422656x218698.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422656x218698.jpg differ diff --git a/RWT_Cache/Textures/19/ag422656x218699.jpg b/RWT_Cache/Textures/19/ag422656x218699.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422656x218699.jpg differ diff --git a/RWT_Cache/Textures/19/ag422656x218700.jpg b/RWT_Cache/Textures/19/ag422656x218700.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422656x218700.jpg differ diff --git a/RWT_Cache/Textures/19/ag422656x218701.jpg b/RWT_Cache/Textures/19/ag422656x218701.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422656x218701.jpg differ diff --git a/RWT_Cache/Textures/19/ag422656x218702.jpg b/RWT_Cache/Textures/19/ag422656x218702.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422656x218702.jpg differ diff --git a/RWT_Cache/Textures/19/ag422656x218703.jpg b/RWT_Cache/Textures/19/ag422656x218703.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422656x218703.jpg differ diff --git a/RWT_Cache/Textures/19/ag422656x218704.jpg b/RWT_Cache/Textures/19/ag422656x218704.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422656x218704.jpg differ diff --git a/RWT_Cache/Textures/19/ag422656x218705.jpg b/RWT_Cache/Textures/19/ag422656x218705.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422656x218705.jpg differ diff --git a/RWT_Cache/Textures/19/ag422656x218706.jpg b/RWT_Cache/Textures/19/ag422656x218706.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422656x218706.jpg differ diff --git a/RWT_Cache/Textures/19/ag422656x218707.jpg b/RWT_Cache/Textures/19/ag422656x218707.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422656x218707.jpg differ diff --git a/RWT_Cache/Textures/19/ag422656x218708.jpg b/RWT_Cache/Textures/19/ag422656x218708.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422656x218708.jpg differ diff --git a/RWT_Cache/Textures/19/ag422656x218709.jpg b/RWT_Cache/Textures/19/ag422656x218709.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422656x218709.jpg differ diff --git a/RWT_Cache/Textures/19/ag422656x218710.jpg b/RWT_Cache/Textures/19/ag422656x218710.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422656x218710.jpg differ diff --git a/RWT_Cache/Textures/19/ag422656x218711.jpg b/RWT_Cache/Textures/19/ag422656x218711.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422656x218711.jpg differ diff --git a/RWT_Cache/Textures/19/ag422656x218712.jpg b/RWT_Cache/Textures/19/ag422656x218712.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422656x218712.jpg differ diff --git a/RWT_Cache/Textures/19/ag422656x218713.jpg b/RWT_Cache/Textures/19/ag422656x218713.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422656x218713.jpg differ diff --git a/RWT_Cache/Textures/19/ag422656x218714.jpg b/RWT_Cache/Textures/19/ag422656x218714.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422656x218714.jpg differ diff --git a/RWT_Cache/Textures/19/ag422656x218715.jpg b/RWT_Cache/Textures/19/ag422656x218715.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422656x218715.jpg differ diff --git a/RWT_Cache/Textures/19/ag422656x218716.jpg b/RWT_Cache/Textures/19/ag422656x218716.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422656x218716.jpg differ diff --git a/RWT_Cache/Textures/19/ag422656x218717.jpg b/RWT_Cache/Textures/19/ag422656x218717.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422656x218717.jpg differ diff --git a/RWT_Cache/Textures/19/ag422656x218718.jpg b/RWT_Cache/Textures/19/ag422656x218718.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422656x218718.jpg differ diff --git a/RWT_Cache/Textures/19/ag422656x218719.jpg b/RWT_Cache/Textures/19/ag422656x218719.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422656x218719.jpg differ diff --git a/RWT_Cache/Textures/19/ag422656x218720.jpg b/RWT_Cache/Textures/19/ag422656x218720.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422656x218720.jpg differ diff --git a/RWT_Cache/Textures/19/ag422656x218721.jpg b/RWT_Cache/Textures/19/ag422656x218721.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422656x218721.jpg differ diff --git a/RWT_Cache/Textures/19/ag422656x218722.jpg b/RWT_Cache/Textures/19/ag422656x218722.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422656x218722.jpg differ diff --git a/RWT_Cache/Textures/19/ag422657x218695.jpg b/RWT_Cache/Textures/19/ag422657x218695.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422657x218695.jpg differ diff --git a/RWT_Cache/Textures/19/ag422657x218696.jpg b/RWT_Cache/Textures/19/ag422657x218696.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422657x218696.jpg differ diff --git a/RWT_Cache/Textures/19/ag422657x218697.jpg b/RWT_Cache/Textures/19/ag422657x218697.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422657x218697.jpg differ diff --git a/RWT_Cache/Textures/19/ag422657x218698.jpg b/RWT_Cache/Textures/19/ag422657x218698.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422657x218698.jpg differ diff --git a/RWT_Cache/Textures/19/ag422657x218699.jpg b/RWT_Cache/Textures/19/ag422657x218699.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422657x218699.jpg differ diff --git a/RWT_Cache/Textures/19/ag422657x218700.jpg b/RWT_Cache/Textures/19/ag422657x218700.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422657x218700.jpg differ diff --git a/RWT_Cache/Textures/19/ag422657x218701.jpg b/RWT_Cache/Textures/19/ag422657x218701.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422657x218701.jpg differ diff --git a/RWT_Cache/Textures/19/ag422657x218702.jpg b/RWT_Cache/Textures/19/ag422657x218702.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422657x218702.jpg differ diff --git a/RWT_Cache/Textures/19/ag422657x218703.jpg b/RWT_Cache/Textures/19/ag422657x218703.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422657x218703.jpg differ diff --git a/RWT_Cache/Textures/19/ag422657x218704.jpg b/RWT_Cache/Textures/19/ag422657x218704.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422657x218704.jpg differ diff --git a/RWT_Cache/Textures/19/ag422657x218705.jpg b/RWT_Cache/Textures/19/ag422657x218705.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422657x218705.jpg differ diff --git a/RWT_Cache/Textures/19/ag422657x218706.jpg b/RWT_Cache/Textures/19/ag422657x218706.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422657x218706.jpg differ diff --git a/RWT_Cache/Textures/19/ag422657x218707.jpg b/RWT_Cache/Textures/19/ag422657x218707.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422657x218707.jpg differ diff --git a/RWT_Cache/Textures/19/ag422657x218708.jpg b/RWT_Cache/Textures/19/ag422657x218708.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422657x218708.jpg differ diff --git a/RWT_Cache/Textures/19/ag422657x218709.jpg b/RWT_Cache/Textures/19/ag422657x218709.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422657x218709.jpg differ diff --git a/RWT_Cache/Textures/19/ag422657x218710.jpg b/RWT_Cache/Textures/19/ag422657x218710.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422657x218710.jpg differ diff --git a/RWT_Cache/Textures/19/ag422657x218711.jpg b/RWT_Cache/Textures/19/ag422657x218711.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422657x218711.jpg differ diff --git a/RWT_Cache/Textures/19/ag422657x218712.jpg b/RWT_Cache/Textures/19/ag422657x218712.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422657x218712.jpg differ diff --git a/RWT_Cache/Textures/19/ag422657x218713.jpg b/RWT_Cache/Textures/19/ag422657x218713.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422657x218713.jpg differ diff --git a/RWT_Cache/Textures/19/ag422657x218714.jpg b/RWT_Cache/Textures/19/ag422657x218714.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422657x218714.jpg differ diff --git a/RWT_Cache/Textures/19/ag422657x218715.jpg b/RWT_Cache/Textures/19/ag422657x218715.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422657x218715.jpg differ diff --git a/RWT_Cache/Textures/19/ag422657x218716.jpg b/RWT_Cache/Textures/19/ag422657x218716.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422657x218716.jpg differ diff --git a/RWT_Cache/Textures/19/ag422657x218717.jpg b/RWT_Cache/Textures/19/ag422657x218717.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422657x218717.jpg differ diff --git a/RWT_Cache/Textures/19/ag422657x218718.jpg b/RWT_Cache/Textures/19/ag422657x218718.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422657x218718.jpg differ diff --git a/RWT_Cache/Textures/19/ag422657x218719.jpg b/RWT_Cache/Textures/19/ag422657x218719.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422657x218719.jpg differ diff --git a/RWT_Cache/Textures/19/ag422657x218720.jpg b/RWT_Cache/Textures/19/ag422657x218720.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422657x218720.jpg differ diff --git a/RWT_Cache/Textures/19/ag422657x218721.jpg b/RWT_Cache/Textures/19/ag422657x218721.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422657x218721.jpg differ diff --git a/RWT_Cache/Textures/19/ag422657x218722.jpg b/RWT_Cache/Textures/19/ag422657x218722.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422657x218722.jpg differ diff --git a/RWT_Cache/Textures/19/ag422658x218695.jpg b/RWT_Cache/Textures/19/ag422658x218695.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422658x218695.jpg differ diff --git a/RWT_Cache/Textures/19/ag422658x218696.jpg b/RWT_Cache/Textures/19/ag422658x218696.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422658x218696.jpg differ diff --git a/RWT_Cache/Textures/19/ag422658x218697.jpg b/RWT_Cache/Textures/19/ag422658x218697.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422658x218697.jpg differ diff --git a/RWT_Cache/Textures/19/ag422658x218698.jpg b/RWT_Cache/Textures/19/ag422658x218698.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422658x218698.jpg differ diff --git a/RWT_Cache/Textures/19/ag422658x218699.jpg b/RWT_Cache/Textures/19/ag422658x218699.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422658x218699.jpg differ diff --git a/RWT_Cache/Textures/19/ag422658x218700.jpg b/RWT_Cache/Textures/19/ag422658x218700.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422658x218700.jpg differ diff --git a/RWT_Cache/Textures/19/ag422658x218701.jpg b/RWT_Cache/Textures/19/ag422658x218701.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422658x218701.jpg differ diff --git a/RWT_Cache/Textures/19/ag422658x218702.jpg b/RWT_Cache/Textures/19/ag422658x218702.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422658x218702.jpg differ diff --git a/RWT_Cache/Textures/19/ag422658x218703.jpg b/RWT_Cache/Textures/19/ag422658x218703.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422658x218703.jpg differ diff --git a/RWT_Cache/Textures/19/ag422658x218704.jpg b/RWT_Cache/Textures/19/ag422658x218704.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422658x218704.jpg differ diff --git a/RWT_Cache/Textures/19/ag422658x218705.jpg b/RWT_Cache/Textures/19/ag422658x218705.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422658x218705.jpg differ diff --git a/RWT_Cache/Textures/19/ag422658x218706.jpg b/RWT_Cache/Textures/19/ag422658x218706.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422658x218706.jpg differ diff --git a/RWT_Cache/Textures/19/ag422658x218707.jpg b/RWT_Cache/Textures/19/ag422658x218707.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422658x218707.jpg differ diff --git a/RWT_Cache/Textures/19/ag422658x218708.jpg b/RWT_Cache/Textures/19/ag422658x218708.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422658x218708.jpg differ diff --git a/RWT_Cache/Textures/19/ag422658x218709.jpg b/RWT_Cache/Textures/19/ag422658x218709.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422658x218709.jpg differ diff --git a/RWT_Cache/Textures/19/ag422658x218710.jpg b/RWT_Cache/Textures/19/ag422658x218710.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422658x218710.jpg differ diff --git a/RWT_Cache/Textures/19/ag422658x218711.jpg b/RWT_Cache/Textures/19/ag422658x218711.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422658x218711.jpg differ diff --git a/RWT_Cache/Textures/19/ag422658x218712.jpg b/RWT_Cache/Textures/19/ag422658x218712.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422658x218712.jpg differ diff --git a/RWT_Cache/Textures/19/ag422658x218713.jpg b/RWT_Cache/Textures/19/ag422658x218713.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422658x218713.jpg differ diff --git a/RWT_Cache/Textures/19/ag422658x218714.jpg b/RWT_Cache/Textures/19/ag422658x218714.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422658x218714.jpg differ diff --git a/RWT_Cache/Textures/19/ag422658x218715.jpg b/RWT_Cache/Textures/19/ag422658x218715.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422658x218715.jpg differ diff --git a/RWT_Cache/Textures/19/ag422658x218716.jpg b/RWT_Cache/Textures/19/ag422658x218716.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422658x218716.jpg differ diff --git a/RWT_Cache/Textures/19/ag422658x218717.jpg b/RWT_Cache/Textures/19/ag422658x218717.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422658x218717.jpg differ diff --git a/RWT_Cache/Textures/19/ag422658x218718.jpg b/RWT_Cache/Textures/19/ag422658x218718.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422658x218718.jpg differ diff --git a/RWT_Cache/Textures/19/ag422658x218719.jpg b/RWT_Cache/Textures/19/ag422658x218719.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422658x218719.jpg differ diff --git a/RWT_Cache/Textures/19/ag422658x218720.jpg b/RWT_Cache/Textures/19/ag422658x218720.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422658x218720.jpg differ diff --git a/RWT_Cache/Textures/19/ag422658x218721.jpg b/RWT_Cache/Textures/19/ag422658x218721.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422658x218721.jpg differ diff --git a/RWT_Cache/Textures/19/ag422658x218722.jpg b/RWT_Cache/Textures/19/ag422658x218722.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422658x218722.jpg differ diff --git a/RWT_Cache/Textures/19/ag422659x218695.jpg b/RWT_Cache/Textures/19/ag422659x218695.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422659x218695.jpg differ diff --git a/RWT_Cache/Textures/19/ag422659x218696.jpg b/RWT_Cache/Textures/19/ag422659x218696.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422659x218696.jpg differ diff --git a/RWT_Cache/Textures/19/ag422659x218697.jpg b/RWT_Cache/Textures/19/ag422659x218697.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422659x218697.jpg differ diff --git a/RWT_Cache/Textures/19/ag422659x218698.jpg b/RWT_Cache/Textures/19/ag422659x218698.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422659x218698.jpg differ diff --git a/RWT_Cache/Textures/19/ag422659x218699.jpg b/RWT_Cache/Textures/19/ag422659x218699.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422659x218699.jpg differ diff --git a/RWT_Cache/Textures/19/ag422659x218700.jpg b/RWT_Cache/Textures/19/ag422659x218700.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422659x218700.jpg differ diff --git a/RWT_Cache/Textures/19/ag422659x218701.jpg b/RWT_Cache/Textures/19/ag422659x218701.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422659x218701.jpg differ diff --git a/RWT_Cache/Textures/19/ag422659x218702.jpg b/RWT_Cache/Textures/19/ag422659x218702.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422659x218702.jpg differ diff --git a/RWT_Cache/Textures/19/ag422659x218703.jpg b/RWT_Cache/Textures/19/ag422659x218703.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422659x218703.jpg differ diff --git a/RWT_Cache/Textures/19/ag422659x218704.jpg b/RWT_Cache/Textures/19/ag422659x218704.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422659x218704.jpg differ diff --git a/RWT_Cache/Textures/19/ag422659x218705.jpg b/RWT_Cache/Textures/19/ag422659x218705.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422659x218705.jpg differ diff --git a/RWT_Cache/Textures/19/ag422659x218706.jpg b/RWT_Cache/Textures/19/ag422659x218706.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422659x218706.jpg differ diff --git a/RWT_Cache/Textures/19/ag422659x218707.jpg b/RWT_Cache/Textures/19/ag422659x218707.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422659x218707.jpg differ diff --git a/RWT_Cache/Textures/19/ag422659x218708.jpg b/RWT_Cache/Textures/19/ag422659x218708.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422659x218708.jpg differ diff --git a/RWT_Cache/Textures/19/ag422659x218709.jpg b/RWT_Cache/Textures/19/ag422659x218709.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422659x218709.jpg differ diff --git a/RWT_Cache/Textures/19/ag422659x218710.jpg b/RWT_Cache/Textures/19/ag422659x218710.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422659x218710.jpg differ diff --git a/RWT_Cache/Textures/19/ag422659x218711.jpg b/RWT_Cache/Textures/19/ag422659x218711.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422659x218711.jpg differ diff --git a/RWT_Cache/Textures/19/ag422659x218712.jpg b/RWT_Cache/Textures/19/ag422659x218712.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422659x218712.jpg differ diff --git a/RWT_Cache/Textures/19/ag422659x218713.jpg b/RWT_Cache/Textures/19/ag422659x218713.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422659x218713.jpg differ diff --git a/RWT_Cache/Textures/19/ag422659x218714.jpg b/RWT_Cache/Textures/19/ag422659x218714.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422659x218714.jpg differ diff --git a/RWT_Cache/Textures/19/ag422659x218715.jpg b/RWT_Cache/Textures/19/ag422659x218715.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422659x218715.jpg differ diff --git a/RWT_Cache/Textures/19/ag422659x218716.jpg b/RWT_Cache/Textures/19/ag422659x218716.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422659x218716.jpg differ diff --git a/RWT_Cache/Textures/19/ag422659x218717.jpg b/RWT_Cache/Textures/19/ag422659x218717.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422659x218717.jpg differ diff --git a/RWT_Cache/Textures/19/ag422659x218718.jpg b/RWT_Cache/Textures/19/ag422659x218718.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422659x218718.jpg differ diff --git a/RWT_Cache/Textures/19/ag422659x218719.jpg b/RWT_Cache/Textures/19/ag422659x218719.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422659x218719.jpg differ diff --git a/RWT_Cache/Textures/19/ag422659x218720.jpg b/RWT_Cache/Textures/19/ag422659x218720.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422659x218720.jpg differ diff --git a/RWT_Cache/Textures/19/ag422659x218721.jpg b/RWT_Cache/Textures/19/ag422659x218721.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422659x218721.jpg differ diff --git a/RWT_Cache/Textures/19/ag422659x218722.jpg b/RWT_Cache/Textures/19/ag422659x218722.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422659x218722.jpg differ diff --git a/RWT_Cache/Textures/19/ag422660x218695.jpg b/RWT_Cache/Textures/19/ag422660x218695.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422660x218695.jpg differ diff --git a/RWT_Cache/Textures/19/ag422660x218696.jpg b/RWT_Cache/Textures/19/ag422660x218696.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422660x218696.jpg differ diff --git a/RWT_Cache/Textures/19/ag422660x218697.jpg b/RWT_Cache/Textures/19/ag422660x218697.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422660x218697.jpg differ diff --git a/RWT_Cache/Textures/19/ag422660x218698.jpg b/RWT_Cache/Textures/19/ag422660x218698.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422660x218698.jpg differ diff --git a/RWT_Cache/Textures/19/ag422660x218699.jpg b/RWT_Cache/Textures/19/ag422660x218699.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422660x218699.jpg differ diff --git a/RWT_Cache/Textures/19/ag422660x218700.jpg b/RWT_Cache/Textures/19/ag422660x218700.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422660x218700.jpg differ diff --git a/RWT_Cache/Textures/19/ag422660x218701.jpg b/RWT_Cache/Textures/19/ag422660x218701.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422660x218701.jpg differ diff --git a/RWT_Cache/Textures/19/ag422660x218702.jpg b/RWT_Cache/Textures/19/ag422660x218702.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422660x218702.jpg differ diff --git a/RWT_Cache/Textures/19/ag422660x218703.jpg b/RWT_Cache/Textures/19/ag422660x218703.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422660x218703.jpg differ diff --git a/RWT_Cache/Textures/19/ag422660x218704.jpg b/RWT_Cache/Textures/19/ag422660x218704.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422660x218704.jpg differ diff --git a/RWT_Cache/Textures/19/ag422660x218705.jpg b/RWT_Cache/Textures/19/ag422660x218705.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422660x218705.jpg differ diff --git a/RWT_Cache/Textures/19/ag422660x218706.jpg b/RWT_Cache/Textures/19/ag422660x218706.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422660x218706.jpg differ diff --git a/RWT_Cache/Textures/19/ag422660x218707.jpg b/RWT_Cache/Textures/19/ag422660x218707.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422660x218707.jpg differ diff --git a/RWT_Cache/Textures/19/ag422660x218708.jpg b/RWT_Cache/Textures/19/ag422660x218708.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422660x218708.jpg differ diff --git a/RWT_Cache/Textures/19/ag422660x218709.jpg b/RWT_Cache/Textures/19/ag422660x218709.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422660x218709.jpg differ diff --git a/RWT_Cache/Textures/19/ag422660x218710.jpg b/RWT_Cache/Textures/19/ag422660x218710.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422660x218710.jpg differ diff --git a/RWT_Cache/Textures/19/ag422660x218711.jpg b/RWT_Cache/Textures/19/ag422660x218711.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422660x218711.jpg differ diff --git a/RWT_Cache/Textures/19/ag422660x218712.jpg b/RWT_Cache/Textures/19/ag422660x218712.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422660x218712.jpg differ diff --git a/RWT_Cache/Textures/19/ag422660x218713.jpg b/RWT_Cache/Textures/19/ag422660x218713.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422660x218713.jpg differ diff --git a/RWT_Cache/Textures/19/ag422660x218714.jpg b/RWT_Cache/Textures/19/ag422660x218714.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422660x218714.jpg differ diff --git a/RWT_Cache/Textures/19/ag422660x218715.jpg b/RWT_Cache/Textures/19/ag422660x218715.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422660x218715.jpg differ diff --git a/RWT_Cache/Textures/19/ag422660x218716.jpg b/RWT_Cache/Textures/19/ag422660x218716.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422660x218716.jpg differ diff --git a/RWT_Cache/Textures/19/ag422660x218717.jpg b/RWT_Cache/Textures/19/ag422660x218717.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422660x218717.jpg differ diff --git a/RWT_Cache/Textures/19/ag422660x218718.jpg b/RWT_Cache/Textures/19/ag422660x218718.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422660x218718.jpg differ diff --git a/RWT_Cache/Textures/19/ag422660x218719.jpg b/RWT_Cache/Textures/19/ag422660x218719.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422660x218719.jpg differ diff --git a/RWT_Cache/Textures/19/ag422660x218720.jpg b/RWT_Cache/Textures/19/ag422660x218720.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422660x218720.jpg differ diff --git a/RWT_Cache/Textures/19/ag422660x218721.jpg b/RWT_Cache/Textures/19/ag422660x218721.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422660x218721.jpg differ diff --git a/RWT_Cache/Textures/19/ag422660x218722.jpg b/RWT_Cache/Textures/19/ag422660x218722.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422660x218722.jpg differ diff --git a/RWT_Cache/Textures/19/ag422661x218695.jpg b/RWT_Cache/Textures/19/ag422661x218695.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422661x218695.jpg differ diff --git a/RWT_Cache/Textures/19/ag422661x218696.jpg b/RWT_Cache/Textures/19/ag422661x218696.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422661x218696.jpg differ diff --git a/RWT_Cache/Textures/19/ag422661x218697.jpg b/RWT_Cache/Textures/19/ag422661x218697.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422661x218697.jpg differ diff --git a/RWT_Cache/Textures/19/ag422661x218698.jpg b/RWT_Cache/Textures/19/ag422661x218698.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422661x218698.jpg differ diff --git a/RWT_Cache/Textures/19/ag422661x218699.jpg b/RWT_Cache/Textures/19/ag422661x218699.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422661x218699.jpg differ diff --git a/RWT_Cache/Textures/19/ag422661x218700.jpg b/RWT_Cache/Textures/19/ag422661x218700.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422661x218700.jpg differ diff --git a/RWT_Cache/Textures/19/ag422661x218701.jpg b/RWT_Cache/Textures/19/ag422661x218701.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422661x218701.jpg differ diff --git a/RWT_Cache/Textures/19/ag422661x218702.jpg b/RWT_Cache/Textures/19/ag422661x218702.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422661x218702.jpg differ diff --git a/RWT_Cache/Textures/19/ag422661x218703.jpg b/RWT_Cache/Textures/19/ag422661x218703.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422661x218703.jpg differ diff --git a/RWT_Cache/Textures/19/ag422661x218704.jpg b/RWT_Cache/Textures/19/ag422661x218704.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422661x218704.jpg differ diff --git a/RWT_Cache/Textures/19/ag422661x218705.jpg b/RWT_Cache/Textures/19/ag422661x218705.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422661x218705.jpg differ diff --git a/RWT_Cache/Textures/19/ag422661x218706.jpg b/RWT_Cache/Textures/19/ag422661x218706.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422661x218706.jpg differ diff --git a/RWT_Cache/Textures/19/ag422661x218707.jpg b/RWT_Cache/Textures/19/ag422661x218707.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422661x218707.jpg differ diff --git a/RWT_Cache/Textures/19/ag422661x218708.jpg b/RWT_Cache/Textures/19/ag422661x218708.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422661x218708.jpg differ diff --git a/RWT_Cache/Textures/19/ag422661x218709.jpg b/RWT_Cache/Textures/19/ag422661x218709.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422661x218709.jpg differ diff --git a/RWT_Cache/Textures/19/ag422661x218710.jpg b/RWT_Cache/Textures/19/ag422661x218710.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422661x218710.jpg differ diff --git a/RWT_Cache/Textures/19/ag422661x218711.jpg b/RWT_Cache/Textures/19/ag422661x218711.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422661x218711.jpg differ diff --git a/RWT_Cache/Textures/19/ag422661x218712.jpg b/RWT_Cache/Textures/19/ag422661x218712.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422661x218712.jpg differ diff --git a/RWT_Cache/Textures/19/ag422661x218713.jpg b/RWT_Cache/Textures/19/ag422661x218713.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422661x218713.jpg differ diff --git a/RWT_Cache/Textures/19/ag422661x218714.jpg b/RWT_Cache/Textures/19/ag422661x218714.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422661x218714.jpg differ diff --git a/RWT_Cache/Textures/19/ag422661x218715.jpg b/RWT_Cache/Textures/19/ag422661x218715.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422661x218715.jpg differ diff --git a/RWT_Cache/Textures/19/ag422661x218716.jpg b/RWT_Cache/Textures/19/ag422661x218716.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422661x218716.jpg differ diff --git a/RWT_Cache/Textures/19/ag422661x218717.jpg b/RWT_Cache/Textures/19/ag422661x218717.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422661x218717.jpg differ diff --git a/RWT_Cache/Textures/19/ag422661x218718.jpg b/RWT_Cache/Textures/19/ag422661x218718.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422661x218718.jpg differ diff --git a/RWT_Cache/Textures/19/ag422661x218719.jpg b/RWT_Cache/Textures/19/ag422661x218719.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422661x218719.jpg differ diff --git a/RWT_Cache/Textures/19/ag422661x218720.jpg b/RWT_Cache/Textures/19/ag422661x218720.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422661x218720.jpg differ diff --git a/RWT_Cache/Textures/19/ag422661x218721.jpg b/RWT_Cache/Textures/19/ag422661x218721.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422661x218721.jpg differ diff --git a/RWT_Cache/Textures/19/ag422661x218722.jpg b/RWT_Cache/Textures/19/ag422661x218722.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422661x218722.jpg differ diff --git a/RWT_Cache/Textures/19/ag422662x218695.jpg b/RWT_Cache/Textures/19/ag422662x218695.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422662x218695.jpg differ diff --git a/RWT_Cache/Textures/19/ag422662x218696.jpg b/RWT_Cache/Textures/19/ag422662x218696.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422662x218696.jpg differ diff --git a/RWT_Cache/Textures/19/ag422662x218697.jpg b/RWT_Cache/Textures/19/ag422662x218697.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422662x218697.jpg differ diff --git a/RWT_Cache/Textures/19/ag422662x218698.jpg b/RWT_Cache/Textures/19/ag422662x218698.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422662x218698.jpg differ diff --git a/RWT_Cache/Textures/19/ag422662x218699.jpg b/RWT_Cache/Textures/19/ag422662x218699.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422662x218699.jpg differ diff --git a/RWT_Cache/Textures/19/ag422662x218700.jpg b/RWT_Cache/Textures/19/ag422662x218700.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422662x218700.jpg differ diff --git a/RWT_Cache/Textures/19/ag422662x218701.jpg b/RWT_Cache/Textures/19/ag422662x218701.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422662x218701.jpg differ diff --git a/RWT_Cache/Textures/19/ag422662x218702.jpg b/RWT_Cache/Textures/19/ag422662x218702.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422662x218702.jpg differ diff --git a/RWT_Cache/Textures/19/ag422662x218703.jpg b/RWT_Cache/Textures/19/ag422662x218703.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422662x218703.jpg differ diff --git a/RWT_Cache/Textures/19/ag422662x218704.jpg b/RWT_Cache/Textures/19/ag422662x218704.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422662x218704.jpg differ diff --git a/RWT_Cache/Textures/19/ag422662x218705.jpg b/RWT_Cache/Textures/19/ag422662x218705.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422662x218705.jpg differ diff --git a/RWT_Cache/Textures/19/ag422662x218706.jpg b/RWT_Cache/Textures/19/ag422662x218706.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422662x218706.jpg differ diff --git a/RWT_Cache/Textures/19/ag422662x218707.jpg b/RWT_Cache/Textures/19/ag422662x218707.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422662x218707.jpg differ diff --git a/RWT_Cache/Textures/19/ag422662x218708.jpg b/RWT_Cache/Textures/19/ag422662x218708.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422662x218708.jpg differ diff --git a/RWT_Cache/Textures/19/ag422662x218709.jpg b/RWT_Cache/Textures/19/ag422662x218709.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422662x218709.jpg differ diff --git a/RWT_Cache/Textures/19/ag422662x218710.jpg b/RWT_Cache/Textures/19/ag422662x218710.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422662x218710.jpg differ diff --git a/RWT_Cache/Textures/19/ag422662x218711.jpg b/RWT_Cache/Textures/19/ag422662x218711.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422662x218711.jpg differ diff --git a/RWT_Cache/Textures/19/ag422662x218712.jpg b/RWT_Cache/Textures/19/ag422662x218712.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422662x218712.jpg differ diff --git a/RWT_Cache/Textures/19/ag422662x218713.jpg b/RWT_Cache/Textures/19/ag422662x218713.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422662x218713.jpg differ diff --git a/RWT_Cache/Textures/19/ag422662x218714.jpg b/RWT_Cache/Textures/19/ag422662x218714.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422662x218714.jpg differ diff --git a/RWT_Cache/Textures/19/ag422662x218715.jpg b/RWT_Cache/Textures/19/ag422662x218715.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422662x218715.jpg differ diff --git a/RWT_Cache/Textures/19/ag422662x218716.jpg b/RWT_Cache/Textures/19/ag422662x218716.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422662x218716.jpg differ diff --git a/RWT_Cache/Textures/19/ag422662x218717.jpg b/RWT_Cache/Textures/19/ag422662x218717.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422662x218717.jpg differ diff --git a/RWT_Cache/Textures/19/ag422662x218718.jpg b/RWT_Cache/Textures/19/ag422662x218718.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422662x218718.jpg differ diff --git a/RWT_Cache/Textures/19/ag422662x218719.jpg b/RWT_Cache/Textures/19/ag422662x218719.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422662x218719.jpg differ diff --git a/RWT_Cache/Textures/19/ag422662x218720.jpg b/RWT_Cache/Textures/19/ag422662x218720.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422662x218720.jpg differ diff --git a/RWT_Cache/Textures/19/ag422662x218721.jpg b/RWT_Cache/Textures/19/ag422662x218721.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422662x218721.jpg differ diff --git a/RWT_Cache/Textures/19/ag422662x218722.jpg b/RWT_Cache/Textures/19/ag422662x218722.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422662x218722.jpg differ diff --git a/RWT_Cache/Textures/19/ag422663x218695.jpg b/RWT_Cache/Textures/19/ag422663x218695.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422663x218695.jpg differ diff --git a/RWT_Cache/Textures/19/ag422663x218696.jpg b/RWT_Cache/Textures/19/ag422663x218696.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422663x218696.jpg differ diff --git a/RWT_Cache/Textures/19/ag422663x218697.jpg b/RWT_Cache/Textures/19/ag422663x218697.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422663x218697.jpg differ diff --git a/RWT_Cache/Textures/19/ag422663x218698.jpg b/RWT_Cache/Textures/19/ag422663x218698.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422663x218698.jpg differ diff --git a/RWT_Cache/Textures/19/ag422663x218699.jpg b/RWT_Cache/Textures/19/ag422663x218699.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422663x218699.jpg differ diff --git a/RWT_Cache/Textures/19/ag422663x218700.jpg b/RWT_Cache/Textures/19/ag422663x218700.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422663x218700.jpg differ diff --git a/RWT_Cache/Textures/19/ag422663x218701.jpg b/RWT_Cache/Textures/19/ag422663x218701.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422663x218701.jpg differ diff --git a/RWT_Cache/Textures/19/ag422663x218702.jpg b/RWT_Cache/Textures/19/ag422663x218702.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422663x218702.jpg differ diff --git a/RWT_Cache/Textures/19/ag422663x218703.jpg b/RWT_Cache/Textures/19/ag422663x218703.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422663x218703.jpg differ diff --git a/RWT_Cache/Textures/19/ag422663x218704.jpg b/RWT_Cache/Textures/19/ag422663x218704.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422663x218704.jpg differ diff --git a/RWT_Cache/Textures/19/ag422663x218705.jpg b/RWT_Cache/Textures/19/ag422663x218705.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422663x218705.jpg differ diff --git a/RWT_Cache/Textures/19/ag422663x218706.jpg b/RWT_Cache/Textures/19/ag422663x218706.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422663x218706.jpg differ diff --git a/RWT_Cache/Textures/19/ag422663x218707.jpg b/RWT_Cache/Textures/19/ag422663x218707.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422663x218707.jpg differ diff --git a/RWT_Cache/Textures/19/ag422663x218708.jpg b/RWT_Cache/Textures/19/ag422663x218708.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422663x218708.jpg differ diff --git a/RWT_Cache/Textures/19/ag422663x218709.jpg b/RWT_Cache/Textures/19/ag422663x218709.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422663x218709.jpg differ diff --git a/RWT_Cache/Textures/19/ag422663x218710.jpg b/RWT_Cache/Textures/19/ag422663x218710.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422663x218710.jpg differ diff --git a/RWT_Cache/Textures/19/ag422663x218711.jpg b/RWT_Cache/Textures/19/ag422663x218711.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422663x218711.jpg differ diff --git a/RWT_Cache/Textures/19/ag422663x218712.jpg b/RWT_Cache/Textures/19/ag422663x218712.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422663x218712.jpg differ diff --git a/RWT_Cache/Textures/19/ag422663x218713.jpg b/RWT_Cache/Textures/19/ag422663x218713.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422663x218713.jpg differ diff --git a/RWT_Cache/Textures/19/ag422663x218714.jpg b/RWT_Cache/Textures/19/ag422663x218714.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422663x218714.jpg differ diff --git a/RWT_Cache/Textures/19/ag422663x218715.jpg b/RWT_Cache/Textures/19/ag422663x218715.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422663x218715.jpg differ diff --git a/RWT_Cache/Textures/19/ag422663x218716.jpg b/RWT_Cache/Textures/19/ag422663x218716.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422663x218716.jpg differ diff --git a/RWT_Cache/Textures/19/ag422663x218717.jpg b/RWT_Cache/Textures/19/ag422663x218717.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422663x218717.jpg differ diff --git a/RWT_Cache/Textures/19/ag422663x218718.jpg b/RWT_Cache/Textures/19/ag422663x218718.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422663x218718.jpg differ diff --git a/RWT_Cache/Textures/19/ag422663x218719.jpg b/RWT_Cache/Textures/19/ag422663x218719.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422663x218719.jpg differ diff --git a/RWT_Cache/Textures/19/ag422663x218720.jpg b/RWT_Cache/Textures/19/ag422663x218720.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422663x218720.jpg differ diff --git a/RWT_Cache/Textures/19/ag422663x218721.jpg b/RWT_Cache/Textures/19/ag422663x218721.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422663x218721.jpg differ diff --git a/RWT_Cache/Textures/19/ag422663x218722.jpg b/RWT_Cache/Textures/19/ag422663x218722.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422663x218722.jpg differ diff --git a/RWT_Cache/Textures/19/ag422664x218695.jpg b/RWT_Cache/Textures/19/ag422664x218695.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422664x218695.jpg differ diff --git a/RWT_Cache/Textures/19/ag422664x218696.jpg b/RWT_Cache/Textures/19/ag422664x218696.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422664x218696.jpg differ diff --git a/RWT_Cache/Textures/19/ag422664x218697.jpg b/RWT_Cache/Textures/19/ag422664x218697.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422664x218697.jpg differ diff --git a/RWT_Cache/Textures/19/ag422664x218698.jpg b/RWT_Cache/Textures/19/ag422664x218698.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422664x218698.jpg differ diff --git a/RWT_Cache/Textures/19/ag422664x218699.jpg b/RWT_Cache/Textures/19/ag422664x218699.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422664x218699.jpg differ diff --git a/RWT_Cache/Textures/19/ag422664x218700.jpg b/RWT_Cache/Textures/19/ag422664x218700.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422664x218700.jpg differ diff --git a/RWT_Cache/Textures/19/ag422664x218701.jpg b/RWT_Cache/Textures/19/ag422664x218701.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422664x218701.jpg differ diff --git a/RWT_Cache/Textures/19/ag422664x218702.jpg b/RWT_Cache/Textures/19/ag422664x218702.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422664x218702.jpg differ diff --git a/RWT_Cache/Textures/19/ag422664x218703.jpg b/RWT_Cache/Textures/19/ag422664x218703.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422664x218703.jpg differ diff --git a/RWT_Cache/Textures/19/ag422664x218704.jpg b/RWT_Cache/Textures/19/ag422664x218704.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422664x218704.jpg differ diff --git a/RWT_Cache/Textures/19/ag422664x218705.jpg b/RWT_Cache/Textures/19/ag422664x218705.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422664x218705.jpg differ diff --git a/RWT_Cache/Textures/19/ag422664x218706.jpg b/RWT_Cache/Textures/19/ag422664x218706.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422664x218706.jpg differ diff --git a/RWT_Cache/Textures/19/ag422664x218707.jpg b/RWT_Cache/Textures/19/ag422664x218707.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422664x218707.jpg differ diff --git a/RWT_Cache/Textures/19/ag422664x218708.jpg b/RWT_Cache/Textures/19/ag422664x218708.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422664x218708.jpg differ diff --git a/RWT_Cache/Textures/19/ag422664x218709.jpg b/RWT_Cache/Textures/19/ag422664x218709.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422664x218709.jpg differ diff --git a/RWT_Cache/Textures/19/ag422664x218710.jpg b/RWT_Cache/Textures/19/ag422664x218710.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422664x218710.jpg differ diff --git a/RWT_Cache/Textures/19/ag422664x218711.jpg b/RWT_Cache/Textures/19/ag422664x218711.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422664x218711.jpg differ diff --git a/RWT_Cache/Textures/19/ag422664x218712.jpg b/RWT_Cache/Textures/19/ag422664x218712.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422664x218712.jpg differ diff --git a/RWT_Cache/Textures/19/ag422664x218713.jpg b/RWT_Cache/Textures/19/ag422664x218713.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422664x218713.jpg differ diff --git a/RWT_Cache/Textures/19/ag422664x218714.jpg b/RWT_Cache/Textures/19/ag422664x218714.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422664x218714.jpg differ diff --git a/RWT_Cache/Textures/19/ag422664x218715.jpg b/RWT_Cache/Textures/19/ag422664x218715.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422664x218715.jpg differ diff --git a/RWT_Cache/Textures/19/ag422664x218716.jpg b/RWT_Cache/Textures/19/ag422664x218716.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422664x218716.jpg differ diff --git a/RWT_Cache/Textures/19/ag422664x218717.jpg b/RWT_Cache/Textures/19/ag422664x218717.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422664x218717.jpg differ diff --git a/RWT_Cache/Textures/19/ag422664x218718.jpg b/RWT_Cache/Textures/19/ag422664x218718.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422664x218718.jpg differ diff --git a/RWT_Cache/Textures/19/ag422664x218719.jpg b/RWT_Cache/Textures/19/ag422664x218719.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422664x218719.jpg differ diff --git a/RWT_Cache/Textures/19/ag422664x218720.jpg b/RWT_Cache/Textures/19/ag422664x218720.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422664x218720.jpg differ diff --git a/RWT_Cache/Textures/19/ag422664x218721.jpg b/RWT_Cache/Textures/19/ag422664x218721.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422664x218721.jpg differ diff --git a/RWT_Cache/Textures/19/ag422664x218722.jpg b/RWT_Cache/Textures/19/ag422664x218722.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422664x218722.jpg differ diff --git a/RWT_Cache/Textures/19/ag422665x218695.jpg b/RWT_Cache/Textures/19/ag422665x218695.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422665x218695.jpg differ diff --git a/RWT_Cache/Textures/19/ag422665x218696.jpg b/RWT_Cache/Textures/19/ag422665x218696.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422665x218696.jpg differ diff --git a/RWT_Cache/Textures/19/ag422665x218697.jpg b/RWT_Cache/Textures/19/ag422665x218697.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422665x218697.jpg differ diff --git a/RWT_Cache/Textures/19/ag422665x218698.jpg b/RWT_Cache/Textures/19/ag422665x218698.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422665x218698.jpg differ diff --git a/RWT_Cache/Textures/19/ag422665x218699.jpg b/RWT_Cache/Textures/19/ag422665x218699.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422665x218699.jpg differ diff --git a/RWT_Cache/Textures/19/ag422665x218700.jpg b/RWT_Cache/Textures/19/ag422665x218700.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422665x218700.jpg differ diff --git a/RWT_Cache/Textures/19/ag422665x218701.jpg b/RWT_Cache/Textures/19/ag422665x218701.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422665x218701.jpg differ diff --git a/RWT_Cache/Textures/19/ag422665x218702.jpg b/RWT_Cache/Textures/19/ag422665x218702.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422665x218702.jpg differ diff --git a/RWT_Cache/Textures/19/ag422665x218703.jpg b/RWT_Cache/Textures/19/ag422665x218703.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422665x218703.jpg differ diff --git a/RWT_Cache/Textures/19/ag422665x218704.jpg b/RWT_Cache/Textures/19/ag422665x218704.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422665x218704.jpg differ diff --git a/RWT_Cache/Textures/19/ag422665x218705.jpg b/RWT_Cache/Textures/19/ag422665x218705.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422665x218705.jpg differ diff --git a/RWT_Cache/Textures/19/ag422665x218706.jpg b/RWT_Cache/Textures/19/ag422665x218706.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422665x218706.jpg differ diff --git a/RWT_Cache/Textures/19/ag422665x218707.jpg b/RWT_Cache/Textures/19/ag422665x218707.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422665x218707.jpg differ diff --git a/RWT_Cache/Textures/19/ag422665x218708.jpg b/RWT_Cache/Textures/19/ag422665x218708.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422665x218708.jpg differ diff --git a/RWT_Cache/Textures/19/ag422665x218709.jpg b/RWT_Cache/Textures/19/ag422665x218709.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422665x218709.jpg differ diff --git a/RWT_Cache/Textures/19/ag422665x218710.jpg b/RWT_Cache/Textures/19/ag422665x218710.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422665x218710.jpg differ diff --git a/RWT_Cache/Textures/19/ag422665x218711.jpg b/RWT_Cache/Textures/19/ag422665x218711.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422665x218711.jpg differ diff --git a/RWT_Cache/Textures/19/ag422665x218712.jpg b/RWT_Cache/Textures/19/ag422665x218712.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422665x218712.jpg differ diff --git a/RWT_Cache/Textures/19/ag422665x218713.jpg b/RWT_Cache/Textures/19/ag422665x218713.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422665x218713.jpg differ diff --git a/RWT_Cache/Textures/19/ag422665x218714.jpg b/RWT_Cache/Textures/19/ag422665x218714.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422665x218714.jpg differ diff --git a/RWT_Cache/Textures/19/ag422665x218715.jpg b/RWT_Cache/Textures/19/ag422665x218715.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422665x218715.jpg differ diff --git a/RWT_Cache/Textures/19/ag422665x218716.jpg b/RWT_Cache/Textures/19/ag422665x218716.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422665x218716.jpg differ diff --git a/RWT_Cache/Textures/19/ag422665x218717.jpg b/RWT_Cache/Textures/19/ag422665x218717.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422665x218717.jpg differ diff --git a/RWT_Cache/Textures/19/ag422665x218718.jpg b/RWT_Cache/Textures/19/ag422665x218718.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422665x218718.jpg differ diff --git a/RWT_Cache/Textures/19/ag422665x218719.jpg b/RWT_Cache/Textures/19/ag422665x218719.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422665x218719.jpg differ diff --git a/RWT_Cache/Textures/19/ag422665x218720.jpg b/RWT_Cache/Textures/19/ag422665x218720.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422665x218720.jpg differ diff --git a/RWT_Cache/Textures/19/ag422665x218721.jpg b/RWT_Cache/Textures/19/ag422665x218721.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422665x218721.jpg differ diff --git a/RWT_Cache/Textures/19/ag422665x218722.jpg b/RWT_Cache/Textures/19/ag422665x218722.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422665x218722.jpg differ diff --git a/RWT_Cache/Textures/19/ag422666x218695.jpg b/RWT_Cache/Textures/19/ag422666x218695.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422666x218695.jpg differ diff --git a/RWT_Cache/Textures/19/ag422666x218696.jpg b/RWT_Cache/Textures/19/ag422666x218696.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422666x218696.jpg differ diff --git a/RWT_Cache/Textures/19/ag422666x218697.jpg b/RWT_Cache/Textures/19/ag422666x218697.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422666x218697.jpg differ diff --git a/RWT_Cache/Textures/19/ag422666x218698.jpg b/RWT_Cache/Textures/19/ag422666x218698.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422666x218698.jpg differ diff --git a/RWT_Cache/Textures/19/ag422666x218699.jpg b/RWT_Cache/Textures/19/ag422666x218699.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422666x218699.jpg differ diff --git a/RWT_Cache/Textures/19/ag422666x218700.jpg b/RWT_Cache/Textures/19/ag422666x218700.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422666x218700.jpg differ diff --git a/RWT_Cache/Textures/19/ag422666x218701.jpg b/RWT_Cache/Textures/19/ag422666x218701.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422666x218701.jpg differ diff --git a/RWT_Cache/Textures/19/ag422666x218702.jpg b/RWT_Cache/Textures/19/ag422666x218702.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422666x218702.jpg differ diff --git a/RWT_Cache/Textures/19/ag422666x218703.jpg b/RWT_Cache/Textures/19/ag422666x218703.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422666x218703.jpg differ diff --git a/RWT_Cache/Textures/19/ag422666x218704.jpg b/RWT_Cache/Textures/19/ag422666x218704.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422666x218704.jpg differ diff --git a/RWT_Cache/Textures/19/ag422666x218705.jpg b/RWT_Cache/Textures/19/ag422666x218705.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422666x218705.jpg differ diff --git a/RWT_Cache/Textures/19/ag422666x218706.jpg b/RWT_Cache/Textures/19/ag422666x218706.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422666x218706.jpg differ diff --git a/RWT_Cache/Textures/19/ag422666x218707.jpg b/RWT_Cache/Textures/19/ag422666x218707.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422666x218707.jpg differ diff --git a/RWT_Cache/Textures/19/ag422666x218708.jpg b/RWT_Cache/Textures/19/ag422666x218708.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422666x218708.jpg differ diff --git a/RWT_Cache/Textures/19/ag422666x218709.jpg b/RWT_Cache/Textures/19/ag422666x218709.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422666x218709.jpg differ diff --git a/RWT_Cache/Textures/19/ag422666x218710.jpg b/RWT_Cache/Textures/19/ag422666x218710.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422666x218710.jpg differ diff --git a/RWT_Cache/Textures/19/ag422666x218711.jpg b/RWT_Cache/Textures/19/ag422666x218711.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422666x218711.jpg differ diff --git a/RWT_Cache/Textures/19/ag422666x218712.jpg b/RWT_Cache/Textures/19/ag422666x218712.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422666x218712.jpg differ diff --git a/RWT_Cache/Textures/19/ag422666x218713.jpg b/RWT_Cache/Textures/19/ag422666x218713.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422666x218713.jpg differ diff --git a/RWT_Cache/Textures/19/ag422666x218714.jpg b/RWT_Cache/Textures/19/ag422666x218714.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422666x218714.jpg differ diff --git a/RWT_Cache/Textures/19/ag422666x218715.jpg b/RWT_Cache/Textures/19/ag422666x218715.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422666x218715.jpg differ diff --git a/RWT_Cache/Textures/19/ag422666x218716.jpg b/RWT_Cache/Textures/19/ag422666x218716.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422666x218716.jpg differ diff --git a/RWT_Cache/Textures/19/ag422666x218717.jpg b/RWT_Cache/Textures/19/ag422666x218717.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422666x218717.jpg differ diff --git a/RWT_Cache/Textures/19/ag422666x218718.jpg b/RWT_Cache/Textures/19/ag422666x218718.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422666x218718.jpg differ diff --git a/RWT_Cache/Textures/19/ag422666x218719.jpg b/RWT_Cache/Textures/19/ag422666x218719.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422666x218719.jpg differ diff --git a/RWT_Cache/Textures/19/ag422666x218720.jpg b/RWT_Cache/Textures/19/ag422666x218720.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422666x218720.jpg differ diff --git a/RWT_Cache/Textures/19/ag422666x218721.jpg b/RWT_Cache/Textures/19/ag422666x218721.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422666x218721.jpg differ diff --git a/RWT_Cache/Textures/19/ag422666x218722.jpg b/RWT_Cache/Textures/19/ag422666x218722.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422666x218722.jpg differ diff --git a/RWT_Cache/Textures/19/ag422667x218695.jpg b/RWT_Cache/Textures/19/ag422667x218695.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422667x218695.jpg differ diff --git a/RWT_Cache/Textures/19/ag422667x218696.jpg b/RWT_Cache/Textures/19/ag422667x218696.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422667x218696.jpg differ diff --git a/RWT_Cache/Textures/19/ag422667x218697.jpg b/RWT_Cache/Textures/19/ag422667x218697.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422667x218697.jpg differ diff --git a/RWT_Cache/Textures/19/ag422667x218698.jpg b/RWT_Cache/Textures/19/ag422667x218698.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422667x218698.jpg differ diff --git a/RWT_Cache/Textures/19/ag422667x218699.jpg b/RWT_Cache/Textures/19/ag422667x218699.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422667x218699.jpg differ diff --git a/RWT_Cache/Textures/19/ag422667x218700.jpg b/RWT_Cache/Textures/19/ag422667x218700.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422667x218700.jpg differ diff --git a/RWT_Cache/Textures/19/ag422667x218701.jpg b/RWT_Cache/Textures/19/ag422667x218701.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422667x218701.jpg differ diff --git a/RWT_Cache/Textures/19/ag422667x218702.jpg b/RWT_Cache/Textures/19/ag422667x218702.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422667x218702.jpg differ diff --git a/RWT_Cache/Textures/19/ag422667x218703.jpg b/RWT_Cache/Textures/19/ag422667x218703.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422667x218703.jpg differ diff --git a/RWT_Cache/Textures/19/ag422667x218704.jpg b/RWT_Cache/Textures/19/ag422667x218704.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422667x218704.jpg differ diff --git a/RWT_Cache/Textures/19/ag422667x218705.jpg b/RWT_Cache/Textures/19/ag422667x218705.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422667x218705.jpg differ diff --git a/RWT_Cache/Textures/19/ag422667x218706.jpg b/RWT_Cache/Textures/19/ag422667x218706.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422667x218706.jpg differ diff --git a/RWT_Cache/Textures/19/ag422667x218707.jpg b/RWT_Cache/Textures/19/ag422667x218707.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422667x218707.jpg differ diff --git a/RWT_Cache/Textures/19/ag422667x218708.jpg b/RWT_Cache/Textures/19/ag422667x218708.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422667x218708.jpg differ diff --git a/RWT_Cache/Textures/19/ag422667x218709.jpg b/RWT_Cache/Textures/19/ag422667x218709.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422667x218709.jpg differ diff --git a/RWT_Cache/Textures/19/ag422667x218710.jpg b/RWT_Cache/Textures/19/ag422667x218710.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422667x218710.jpg differ diff --git a/RWT_Cache/Textures/19/ag422667x218711.jpg b/RWT_Cache/Textures/19/ag422667x218711.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422667x218711.jpg differ diff --git a/RWT_Cache/Textures/19/ag422667x218712.jpg b/RWT_Cache/Textures/19/ag422667x218712.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422667x218712.jpg differ diff --git a/RWT_Cache/Textures/19/ag422667x218713.jpg b/RWT_Cache/Textures/19/ag422667x218713.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422667x218713.jpg differ diff --git a/RWT_Cache/Textures/19/ag422667x218714.jpg b/RWT_Cache/Textures/19/ag422667x218714.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422667x218714.jpg differ diff --git a/RWT_Cache/Textures/19/ag422667x218715.jpg b/RWT_Cache/Textures/19/ag422667x218715.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422667x218715.jpg differ diff --git a/RWT_Cache/Textures/19/ag422667x218716.jpg b/RWT_Cache/Textures/19/ag422667x218716.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422667x218716.jpg differ diff --git a/RWT_Cache/Textures/19/ag422667x218717.jpg b/RWT_Cache/Textures/19/ag422667x218717.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422667x218717.jpg differ diff --git a/RWT_Cache/Textures/19/ag422667x218718.jpg b/RWT_Cache/Textures/19/ag422667x218718.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422667x218718.jpg differ diff --git a/RWT_Cache/Textures/19/ag422667x218719.jpg b/RWT_Cache/Textures/19/ag422667x218719.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422667x218719.jpg differ diff --git a/RWT_Cache/Textures/19/ag422667x218720.jpg b/RWT_Cache/Textures/19/ag422667x218720.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422667x218720.jpg differ diff --git a/RWT_Cache/Textures/19/ag422667x218721.jpg b/RWT_Cache/Textures/19/ag422667x218721.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422667x218721.jpg differ diff --git a/RWT_Cache/Textures/19/ag422667x218722.jpg b/RWT_Cache/Textures/19/ag422667x218722.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422667x218722.jpg differ diff --git a/RWT_Cache/Textures/19/ag422668x218695.jpg b/RWT_Cache/Textures/19/ag422668x218695.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422668x218695.jpg differ diff --git a/RWT_Cache/Textures/19/ag422668x218696.jpg b/RWT_Cache/Textures/19/ag422668x218696.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422668x218696.jpg differ diff --git a/RWT_Cache/Textures/19/ag422668x218697.jpg b/RWT_Cache/Textures/19/ag422668x218697.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422668x218697.jpg differ diff --git a/RWT_Cache/Textures/19/ag422668x218698.jpg b/RWT_Cache/Textures/19/ag422668x218698.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422668x218698.jpg differ diff --git a/RWT_Cache/Textures/19/ag422668x218699.jpg b/RWT_Cache/Textures/19/ag422668x218699.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422668x218699.jpg differ diff --git a/RWT_Cache/Textures/19/ag422668x218700.jpg b/RWT_Cache/Textures/19/ag422668x218700.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422668x218700.jpg differ diff --git a/RWT_Cache/Textures/19/ag422668x218701.jpg b/RWT_Cache/Textures/19/ag422668x218701.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422668x218701.jpg differ diff --git a/RWT_Cache/Textures/19/ag422668x218702.jpg b/RWT_Cache/Textures/19/ag422668x218702.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422668x218702.jpg differ diff --git a/RWT_Cache/Textures/19/ag422668x218703.jpg b/RWT_Cache/Textures/19/ag422668x218703.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422668x218703.jpg differ diff --git a/RWT_Cache/Textures/19/ag422668x218704.jpg b/RWT_Cache/Textures/19/ag422668x218704.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422668x218704.jpg differ diff --git a/RWT_Cache/Textures/19/ag422668x218705.jpg b/RWT_Cache/Textures/19/ag422668x218705.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422668x218705.jpg differ diff --git a/RWT_Cache/Textures/19/ag422668x218706.jpg b/RWT_Cache/Textures/19/ag422668x218706.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422668x218706.jpg differ diff --git a/RWT_Cache/Textures/19/ag422668x218707.jpg b/RWT_Cache/Textures/19/ag422668x218707.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422668x218707.jpg differ diff --git a/RWT_Cache/Textures/19/ag422668x218708.jpg b/RWT_Cache/Textures/19/ag422668x218708.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422668x218708.jpg differ diff --git a/RWT_Cache/Textures/19/ag422668x218709.jpg b/RWT_Cache/Textures/19/ag422668x218709.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422668x218709.jpg differ diff --git a/RWT_Cache/Textures/19/ag422668x218710.jpg b/RWT_Cache/Textures/19/ag422668x218710.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422668x218710.jpg differ diff --git a/RWT_Cache/Textures/19/ag422668x218711.jpg b/RWT_Cache/Textures/19/ag422668x218711.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422668x218711.jpg differ diff --git a/RWT_Cache/Textures/19/ag422668x218712.jpg b/RWT_Cache/Textures/19/ag422668x218712.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422668x218712.jpg differ diff --git a/RWT_Cache/Textures/19/ag422668x218713.jpg b/RWT_Cache/Textures/19/ag422668x218713.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422668x218713.jpg differ diff --git a/RWT_Cache/Textures/19/ag422668x218714.jpg b/RWT_Cache/Textures/19/ag422668x218714.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422668x218714.jpg differ diff --git a/RWT_Cache/Textures/19/ag422668x218715.jpg b/RWT_Cache/Textures/19/ag422668x218715.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422668x218715.jpg differ diff --git a/RWT_Cache/Textures/19/ag422668x218716.jpg b/RWT_Cache/Textures/19/ag422668x218716.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422668x218716.jpg differ diff --git a/RWT_Cache/Textures/19/ag422668x218717.jpg b/RWT_Cache/Textures/19/ag422668x218717.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422668x218717.jpg differ diff --git a/RWT_Cache/Textures/19/ag422668x218718.jpg b/RWT_Cache/Textures/19/ag422668x218718.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422668x218718.jpg differ diff --git a/RWT_Cache/Textures/19/ag422668x218719.jpg b/RWT_Cache/Textures/19/ag422668x218719.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422668x218719.jpg differ diff --git a/RWT_Cache/Textures/19/ag422668x218720.jpg b/RWT_Cache/Textures/19/ag422668x218720.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422668x218720.jpg differ diff --git a/RWT_Cache/Textures/19/ag422668x218721.jpg b/RWT_Cache/Textures/19/ag422668x218721.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422668x218721.jpg differ diff --git a/RWT_Cache/Textures/19/ag422668x218722.jpg b/RWT_Cache/Textures/19/ag422668x218722.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422668x218722.jpg differ diff --git a/RWT_Cache/Textures/19/ag422669x218695.jpg b/RWT_Cache/Textures/19/ag422669x218695.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422669x218695.jpg differ diff --git a/RWT_Cache/Textures/19/ag422669x218696.jpg b/RWT_Cache/Textures/19/ag422669x218696.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422669x218696.jpg differ diff --git a/RWT_Cache/Textures/19/ag422669x218697.jpg b/RWT_Cache/Textures/19/ag422669x218697.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422669x218697.jpg differ diff --git a/RWT_Cache/Textures/19/ag422669x218698.jpg b/RWT_Cache/Textures/19/ag422669x218698.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422669x218698.jpg differ diff --git a/RWT_Cache/Textures/19/ag422669x218699.jpg b/RWT_Cache/Textures/19/ag422669x218699.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422669x218699.jpg differ diff --git a/RWT_Cache/Textures/19/ag422669x218700.jpg b/RWT_Cache/Textures/19/ag422669x218700.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422669x218700.jpg differ diff --git a/RWT_Cache/Textures/19/ag422669x218701.jpg b/RWT_Cache/Textures/19/ag422669x218701.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422669x218701.jpg differ diff --git a/RWT_Cache/Textures/19/ag422669x218702.jpg b/RWT_Cache/Textures/19/ag422669x218702.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422669x218702.jpg differ diff --git a/RWT_Cache/Textures/19/ag422669x218703.jpg b/RWT_Cache/Textures/19/ag422669x218703.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422669x218703.jpg differ diff --git a/RWT_Cache/Textures/19/ag422669x218704.jpg b/RWT_Cache/Textures/19/ag422669x218704.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422669x218704.jpg differ diff --git a/RWT_Cache/Textures/19/ag422669x218705.jpg b/RWT_Cache/Textures/19/ag422669x218705.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422669x218705.jpg differ diff --git a/RWT_Cache/Textures/19/ag422669x218706.jpg b/RWT_Cache/Textures/19/ag422669x218706.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422669x218706.jpg differ diff --git a/RWT_Cache/Textures/19/ag422669x218707.jpg b/RWT_Cache/Textures/19/ag422669x218707.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422669x218707.jpg differ diff --git a/RWT_Cache/Textures/19/ag422669x218708.jpg b/RWT_Cache/Textures/19/ag422669x218708.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422669x218708.jpg differ diff --git a/RWT_Cache/Textures/19/ag422669x218709.jpg b/RWT_Cache/Textures/19/ag422669x218709.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422669x218709.jpg differ diff --git a/RWT_Cache/Textures/19/ag422669x218710.jpg b/RWT_Cache/Textures/19/ag422669x218710.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422669x218710.jpg differ diff --git a/RWT_Cache/Textures/19/ag422669x218711.jpg b/RWT_Cache/Textures/19/ag422669x218711.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422669x218711.jpg differ diff --git a/RWT_Cache/Textures/19/ag422669x218712.jpg b/RWT_Cache/Textures/19/ag422669x218712.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422669x218712.jpg differ diff --git a/RWT_Cache/Textures/19/ag422669x218713.jpg b/RWT_Cache/Textures/19/ag422669x218713.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422669x218713.jpg differ diff --git a/RWT_Cache/Textures/19/ag422669x218714.jpg b/RWT_Cache/Textures/19/ag422669x218714.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422669x218714.jpg differ diff --git a/RWT_Cache/Textures/19/ag422669x218715.jpg b/RWT_Cache/Textures/19/ag422669x218715.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422669x218715.jpg differ diff --git a/RWT_Cache/Textures/19/ag422669x218716.jpg b/RWT_Cache/Textures/19/ag422669x218716.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422669x218716.jpg differ diff --git a/RWT_Cache/Textures/19/ag422669x218717.jpg b/RWT_Cache/Textures/19/ag422669x218717.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422669x218717.jpg differ diff --git a/RWT_Cache/Textures/19/ag422669x218718.jpg b/RWT_Cache/Textures/19/ag422669x218718.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422669x218718.jpg differ diff --git a/RWT_Cache/Textures/19/ag422669x218719.jpg b/RWT_Cache/Textures/19/ag422669x218719.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422669x218719.jpg differ diff --git a/RWT_Cache/Textures/19/ag422669x218720.jpg b/RWT_Cache/Textures/19/ag422669x218720.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422669x218720.jpg differ diff --git a/RWT_Cache/Textures/19/ag422669x218721.jpg b/RWT_Cache/Textures/19/ag422669x218721.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422669x218721.jpg differ diff --git a/RWT_Cache/Textures/19/ag422669x218722.jpg b/RWT_Cache/Textures/19/ag422669x218722.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422669x218722.jpg differ diff --git a/RWT_Cache/Textures/19/ag422670x218695.jpg b/RWT_Cache/Textures/19/ag422670x218695.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422670x218695.jpg differ diff --git a/RWT_Cache/Textures/19/ag422670x218696.jpg b/RWT_Cache/Textures/19/ag422670x218696.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422670x218696.jpg differ diff --git a/RWT_Cache/Textures/19/ag422670x218697.jpg b/RWT_Cache/Textures/19/ag422670x218697.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422670x218697.jpg differ diff --git a/RWT_Cache/Textures/19/ag422670x218698.jpg b/RWT_Cache/Textures/19/ag422670x218698.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422670x218698.jpg differ diff --git a/RWT_Cache/Textures/19/ag422670x218699.jpg b/RWT_Cache/Textures/19/ag422670x218699.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422670x218699.jpg differ diff --git a/RWT_Cache/Textures/19/ag422670x218700.jpg b/RWT_Cache/Textures/19/ag422670x218700.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422670x218700.jpg differ diff --git a/RWT_Cache/Textures/19/ag422670x218701.jpg b/RWT_Cache/Textures/19/ag422670x218701.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422670x218701.jpg differ diff --git a/RWT_Cache/Textures/19/ag422670x218702.jpg b/RWT_Cache/Textures/19/ag422670x218702.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422670x218702.jpg differ diff --git a/RWT_Cache/Textures/19/ag422670x218703.jpg b/RWT_Cache/Textures/19/ag422670x218703.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422670x218703.jpg differ diff --git a/RWT_Cache/Textures/19/ag422670x218704.jpg b/RWT_Cache/Textures/19/ag422670x218704.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422670x218704.jpg differ diff --git a/RWT_Cache/Textures/19/ag422670x218705.jpg b/RWT_Cache/Textures/19/ag422670x218705.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422670x218705.jpg differ diff --git a/RWT_Cache/Textures/19/ag422670x218706.jpg b/RWT_Cache/Textures/19/ag422670x218706.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422670x218706.jpg differ diff --git a/RWT_Cache/Textures/19/ag422670x218707.jpg b/RWT_Cache/Textures/19/ag422670x218707.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422670x218707.jpg differ diff --git a/RWT_Cache/Textures/19/ag422670x218708.jpg b/RWT_Cache/Textures/19/ag422670x218708.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422670x218708.jpg differ diff --git a/RWT_Cache/Textures/19/ag422670x218709.jpg b/RWT_Cache/Textures/19/ag422670x218709.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422670x218709.jpg differ diff --git a/RWT_Cache/Textures/19/ag422670x218710.jpg b/RWT_Cache/Textures/19/ag422670x218710.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422670x218710.jpg differ diff --git a/RWT_Cache/Textures/19/ag422670x218711.jpg b/RWT_Cache/Textures/19/ag422670x218711.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422670x218711.jpg differ diff --git a/RWT_Cache/Textures/19/ag422670x218712.jpg b/RWT_Cache/Textures/19/ag422670x218712.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422670x218712.jpg differ diff --git a/RWT_Cache/Textures/19/ag422670x218713.jpg b/RWT_Cache/Textures/19/ag422670x218713.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422670x218713.jpg differ diff --git a/RWT_Cache/Textures/19/ag422670x218714.jpg b/RWT_Cache/Textures/19/ag422670x218714.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422670x218714.jpg differ diff --git a/RWT_Cache/Textures/19/ag422670x218715.jpg b/RWT_Cache/Textures/19/ag422670x218715.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422670x218715.jpg differ diff --git a/RWT_Cache/Textures/19/ag422670x218716.jpg b/RWT_Cache/Textures/19/ag422670x218716.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422670x218716.jpg differ diff --git a/RWT_Cache/Textures/19/ag422670x218717.jpg b/RWT_Cache/Textures/19/ag422670x218717.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422670x218717.jpg differ diff --git a/RWT_Cache/Textures/19/ag422670x218718.jpg b/RWT_Cache/Textures/19/ag422670x218718.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422670x218718.jpg differ diff --git a/RWT_Cache/Textures/19/ag422670x218719.jpg b/RWT_Cache/Textures/19/ag422670x218719.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422670x218719.jpg differ diff --git a/RWT_Cache/Textures/19/ag422670x218720.jpg b/RWT_Cache/Textures/19/ag422670x218720.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422670x218720.jpg differ diff --git a/RWT_Cache/Textures/19/ag422670x218721.jpg b/RWT_Cache/Textures/19/ag422670x218721.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422670x218721.jpg differ diff --git a/RWT_Cache/Textures/19/ag422670x218722.jpg b/RWT_Cache/Textures/19/ag422670x218722.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422670x218722.jpg differ diff --git a/RWT_Cache/Textures/19/ag422671x218695.jpg b/RWT_Cache/Textures/19/ag422671x218695.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422671x218695.jpg differ diff --git a/RWT_Cache/Textures/19/ag422671x218696.jpg b/RWT_Cache/Textures/19/ag422671x218696.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422671x218696.jpg differ diff --git a/RWT_Cache/Textures/19/ag422671x218697.jpg b/RWT_Cache/Textures/19/ag422671x218697.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422671x218697.jpg differ diff --git a/RWT_Cache/Textures/19/ag422671x218698.jpg b/RWT_Cache/Textures/19/ag422671x218698.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422671x218698.jpg differ diff --git a/RWT_Cache/Textures/19/ag422671x218699.jpg b/RWT_Cache/Textures/19/ag422671x218699.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422671x218699.jpg differ diff --git a/RWT_Cache/Textures/19/ag422671x218700.jpg b/RWT_Cache/Textures/19/ag422671x218700.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422671x218700.jpg differ diff --git a/RWT_Cache/Textures/19/ag422671x218701.jpg b/RWT_Cache/Textures/19/ag422671x218701.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422671x218701.jpg differ diff --git a/RWT_Cache/Textures/19/ag422671x218702.jpg b/RWT_Cache/Textures/19/ag422671x218702.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422671x218702.jpg differ diff --git a/RWT_Cache/Textures/19/ag422671x218703.jpg b/RWT_Cache/Textures/19/ag422671x218703.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422671x218703.jpg differ diff --git a/RWT_Cache/Textures/19/ag422671x218704.jpg b/RWT_Cache/Textures/19/ag422671x218704.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422671x218704.jpg differ diff --git a/RWT_Cache/Textures/19/ag422671x218705.jpg b/RWT_Cache/Textures/19/ag422671x218705.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422671x218705.jpg differ diff --git a/RWT_Cache/Textures/19/ag422671x218706.jpg b/RWT_Cache/Textures/19/ag422671x218706.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422671x218706.jpg differ diff --git a/RWT_Cache/Textures/19/ag422671x218707.jpg b/RWT_Cache/Textures/19/ag422671x218707.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422671x218707.jpg differ diff --git a/RWT_Cache/Textures/19/ag422671x218708.jpg b/RWT_Cache/Textures/19/ag422671x218708.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422671x218708.jpg differ diff --git a/RWT_Cache/Textures/19/ag422671x218709.jpg b/RWT_Cache/Textures/19/ag422671x218709.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422671x218709.jpg differ diff --git a/RWT_Cache/Textures/19/ag422671x218710.jpg b/RWT_Cache/Textures/19/ag422671x218710.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422671x218710.jpg differ diff --git a/RWT_Cache/Textures/19/ag422671x218711.jpg b/RWT_Cache/Textures/19/ag422671x218711.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422671x218711.jpg differ diff --git a/RWT_Cache/Textures/19/ag422671x218712.jpg b/RWT_Cache/Textures/19/ag422671x218712.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422671x218712.jpg differ diff --git a/RWT_Cache/Textures/19/ag422671x218713.jpg b/RWT_Cache/Textures/19/ag422671x218713.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422671x218713.jpg differ diff --git a/RWT_Cache/Textures/19/ag422671x218714.jpg b/RWT_Cache/Textures/19/ag422671x218714.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422671x218714.jpg differ diff --git a/RWT_Cache/Textures/19/ag422671x218715.jpg b/RWT_Cache/Textures/19/ag422671x218715.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422671x218715.jpg differ diff --git a/RWT_Cache/Textures/19/ag422671x218716.jpg b/RWT_Cache/Textures/19/ag422671x218716.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422671x218716.jpg differ diff --git a/RWT_Cache/Textures/19/ag422671x218717.jpg b/RWT_Cache/Textures/19/ag422671x218717.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422671x218717.jpg differ diff --git a/RWT_Cache/Textures/19/ag422671x218718.jpg b/RWT_Cache/Textures/19/ag422671x218718.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422671x218718.jpg differ diff --git a/RWT_Cache/Textures/19/ag422671x218719.jpg b/RWT_Cache/Textures/19/ag422671x218719.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422671x218719.jpg differ diff --git a/RWT_Cache/Textures/19/ag422671x218720.jpg b/RWT_Cache/Textures/19/ag422671x218720.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422671x218720.jpg differ diff --git a/RWT_Cache/Textures/19/ag422671x218721.jpg b/RWT_Cache/Textures/19/ag422671x218721.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422671x218721.jpg differ diff --git a/RWT_Cache/Textures/19/ag422671x218722.jpg b/RWT_Cache/Textures/19/ag422671x218722.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422671x218722.jpg differ diff --git a/RWT_Cache/Textures/19/ag422672x218695.jpg b/RWT_Cache/Textures/19/ag422672x218695.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422672x218695.jpg differ diff --git a/RWT_Cache/Textures/19/ag422672x218696.jpg b/RWT_Cache/Textures/19/ag422672x218696.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422672x218696.jpg differ diff --git a/RWT_Cache/Textures/19/ag422672x218697.jpg b/RWT_Cache/Textures/19/ag422672x218697.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422672x218697.jpg differ diff --git a/RWT_Cache/Textures/19/ag422672x218698.jpg b/RWT_Cache/Textures/19/ag422672x218698.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422672x218698.jpg differ diff --git a/RWT_Cache/Textures/19/ag422672x218699.jpg b/RWT_Cache/Textures/19/ag422672x218699.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422672x218699.jpg differ diff --git a/RWT_Cache/Textures/19/ag422672x218700.jpg b/RWT_Cache/Textures/19/ag422672x218700.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422672x218700.jpg differ diff --git a/RWT_Cache/Textures/19/ag422672x218701.jpg b/RWT_Cache/Textures/19/ag422672x218701.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422672x218701.jpg differ diff --git a/RWT_Cache/Textures/19/ag422672x218702.jpg b/RWT_Cache/Textures/19/ag422672x218702.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422672x218702.jpg differ diff --git a/RWT_Cache/Textures/19/ag422672x218703.jpg b/RWT_Cache/Textures/19/ag422672x218703.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422672x218703.jpg differ diff --git a/RWT_Cache/Textures/19/ag422672x218704.jpg b/RWT_Cache/Textures/19/ag422672x218704.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422672x218704.jpg differ diff --git a/RWT_Cache/Textures/19/ag422672x218705.jpg b/RWT_Cache/Textures/19/ag422672x218705.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422672x218705.jpg differ diff --git a/RWT_Cache/Textures/19/ag422672x218706.jpg b/RWT_Cache/Textures/19/ag422672x218706.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422672x218706.jpg differ diff --git a/RWT_Cache/Textures/19/ag422672x218707.jpg b/RWT_Cache/Textures/19/ag422672x218707.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422672x218707.jpg differ diff --git a/RWT_Cache/Textures/19/ag422672x218708.jpg b/RWT_Cache/Textures/19/ag422672x218708.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422672x218708.jpg differ diff --git a/RWT_Cache/Textures/19/ag422672x218709.jpg b/RWT_Cache/Textures/19/ag422672x218709.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422672x218709.jpg differ diff --git a/RWT_Cache/Textures/19/ag422672x218710.jpg b/RWT_Cache/Textures/19/ag422672x218710.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422672x218710.jpg differ diff --git a/RWT_Cache/Textures/19/ag422672x218711.jpg b/RWT_Cache/Textures/19/ag422672x218711.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422672x218711.jpg differ diff --git a/RWT_Cache/Textures/19/ag422672x218712.jpg b/RWT_Cache/Textures/19/ag422672x218712.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422672x218712.jpg differ diff --git a/RWT_Cache/Textures/19/ag422672x218713.jpg b/RWT_Cache/Textures/19/ag422672x218713.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422672x218713.jpg differ diff --git a/RWT_Cache/Textures/19/ag422672x218714.jpg b/RWT_Cache/Textures/19/ag422672x218714.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422672x218714.jpg differ diff --git a/RWT_Cache/Textures/19/ag422672x218715.jpg b/RWT_Cache/Textures/19/ag422672x218715.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422672x218715.jpg differ diff --git a/RWT_Cache/Textures/19/ag422672x218716.jpg b/RWT_Cache/Textures/19/ag422672x218716.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422672x218716.jpg differ diff --git a/RWT_Cache/Textures/19/ag422672x218717.jpg b/RWT_Cache/Textures/19/ag422672x218717.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422672x218717.jpg differ diff --git a/RWT_Cache/Textures/19/ag422672x218718.jpg b/RWT_Cache/Textures/19/ag422672x218718.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422672x218718.jpg differ diff --git a/RWT_Cache/Textures/19/ag422672x218719.jpg b/RWT_Cache/Textures/19/ag422672x218719.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422672x218719.jpg differ diff --git a/RWT_Cache/Textures/19/ag422672x218720.jpg b/RWT_Cache/Textures/19/ag422672x218720.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422672x218720.jpg differ diff --git a/RWT_Cache/Textures/19/ag422672x218721.jpg b/RWT_Cache/Textures/19/ag422672x218721.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422672x218721.jpg differ diff --git a/RWT_Cache/Textures/19/ag422672x218722.jpg b/RWT_Cache/Textures/19/ag422672x218722.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422672x218722.jpg differ diff --git a/RWT_Cache/Textures/19/ag422673x218695.jpg b/RWT_Cache/Textures/19/ag422673x218695.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422673x218695.jpg differ diff --git a/RWT_Cache/Textures/19/ag422673x218696.jpg b/RWT_Cache/Textures/19/ag422673x218696.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422673x218696.jpg differ diff --git a/RWT_Cache/Textures/19/ag422673x218697.jpg b/RWT_Cache/Textures/19/ag422673x218697.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422673x218697.jpg differ diff --git a/RWT_Cache/Textures/19/ag422673x218698.jpg b/RWT_Cache/Textures/19/ag422673x218698.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422673x218698.jpg differ diff --git a/RWT_Cache/Textures/19/ag422673x218699.jpg b/RWT_Cache/Textures/19/ag422673x218699.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422673x218699.jpg differ diff --git a/RWT_Cache/Textures/19/ag422673x218700.jpg b/RWT_Cache/Textures/19/ag422673x218700.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422673x218700.jpg differ diff --git a/RWT_Cache/Textures/19/ag422673x218701.jpg b/RWT_Cache/Textures/19/ag422673x218701.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422673x218701.jpg differ diff --git a/RWT_Cache/Textures/19/ag422673x218702.jpg b/RWT_Cache/Textures/19/ag422673x218702.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422673x218702.jpg differ diff --git a/RWT_Cache/Textures/19/ag422673x218703.jpg b/RWT_Cache/Textures/19/ag422673x218703.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422673x218703.jpg differ diff --git a/RWT_Cache/Textures/19/ag422673x218704.jpg b/RWT_Cache/Textures/19/ag422673x218704.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422673x218704.jpg differ diff --git a/RWT_Cache/Textures/19/ag422673x218705.jpg b/RWT_Cache/Textures/19/ag422673x218705.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422673x218705.jpg differ diff --git a/RWT_Cache/Textures/19/ag422673x218706.jpg b/RWT_Cache/Textures/19/ag422673x218706.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422673x218706.jpg differ diff --git a/RWT_Cache/Textures/19/ag422673x218707.jpg b/RWT_Cache/Textures/19/ag422673x218707.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422673x218707.jpg differ diff --git a/RWT_Cache/Textures/19/ag422673x218708.jpg b/RWT_Cache/Textures/19/ag422673x218708.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422673x218708.jpg differ diff --git a/RWT_Cache/Textures/19/ag422673x218709.jpg b/RWT_Cache/Textures/19/ag422673x218709.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422673x218709.jpg differ diff --git a/RWT_Cache/Textures/19/ag422673x218710.jpg b/RWT_Cache/Textures/19/ag422673x218710.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422673x218710.jpg differ diff --git a/RWT_Cache/Textures/19/ag422673x218711.jpg b/RWT_Cache/Textures/19/ag422673x218711.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422673x218711.jpg differ diff --git a/RWT_Cache/Textures/19/ag422673x218712.jpg b/RWT_Cache/Textures/19/ag422673x218712.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422673x218712.jpg differ diff --git a/RWT_Cache/Textures/19/ag422673x218713.jpg b/RWT_Cache/Textures/19/ag422673x218713.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422673x218713.jpg differ diff --git a/RWT_Cache/Textures/19/ag422673x218714.jpg b/RWT_Cache/Textures/19/ag422673x218714.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422673x218714.jpg differ diff --git a/RWT_Cache/Textures/19/ag422673x218715.jpg b/RWT_Cache/Textures/19/ag422673x218715.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422673x218715.jpg differ diff --git a/RWT_Cache/Textures/19/ag422673x218716.jpg b/RWT_Cache/Textures/19/ag422673x218716.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422673x218716.jpg differ diff --git a/RWT_Cache/Textures/19/ag422673x218717.jpg b/RWT_Cache/Textures/19/ag422673x218717.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422673x218717.jpg differ diff --git a/RWT_Cache/Textures/19/ag422673x218718.jpg b/RWT_Cache/Textures/19/ag422673x218718.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422673x218718.jpg differ diff --git a/RWT_Cache/Textures/19/ag422673x218719.jpg b/RWT_Cache/Textures/19/ag422673x218719.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422673x218719.jpg differ diff --git a/RWT_Cache/Textures/19/ag422673x218720.jpg b/RWT_Cache/Textures/19/ag422673x218720.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422673x218720.jpg differ diff --git a/RWT_Cache/Textures/19/ag422673x218721.jpg b/RWT_Cache/Textures/19/ag422673x218721.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422673x218721.jpg differ diff --git a/RWT_Cache/Textures/19/ag422673x218722.jpg b/RWT_Cache/Textures/19/ag422673x218722.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422673x218722.jpg differ diff --git a/RWT_Cache/Textures/19/ag422674x218695.jpg b/RWT_Cache/Textures/19/ag422674x218695.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422674x218695.jpg differ diff --git a/RWT_Cache/Textures/19/ag422674x218696.jpg b/RWT_Cache/Textures/19/ag422674x218696.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422674x218696.jpg differ diff --git a/RWT_Cache/Textures/19/ag422674x218697.jpg b/RWT_Cache/Textures/19/ag422674x218697.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422674x218697.jpg differ diff --git a/RWT_Cache/Textures/19/ag422674x218698.jpg b/RWT_Cache/Textures/19/ag422674x218698.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422674x218698.jpg differ diff --git a/RWT_Cache/Textures/19/ag422674x218699.jpg b/RWT_Cache/Textures/19/ag422674x218699.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422674x218699.jpg differ diff --git a/RWT_Cache/Textures/19/ag422674x218700.jpg b/RWT_Cache/Textures/19/ag422674x218700.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422674x218700.jpg differ diff --git a/RWT_Cache/Textures/19/ag422674x218701.jpg b/RWT_Cache/Textures/19/ag422674x218701.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422674x218701.jpg differ diff --git a/RWT_Cache/Textures/19/ag422674x218702.jpg b/RWT_Cache/Textures/19/ag422674x218702.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422674x218702.jpg differ diff --git a/RWT_Cache/Textures/19/ag422674x218703.jpg b/RWT_Cache/Textures/19/ag422674x218703.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422674x218703.jpg differ diff --git a/RWT_Cache/Textures/19/ag422674x218704.jpg b/RWT_Cache/Textures/19/ag422674x218704.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422674x218704.jpg differ diff --git a/RWT_Cache/Textures/19/ag422674x218705.jpg b/RWT_Cache/Textures/19/ag422674x218705.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422674x218705.jpg differ diff --git a/RWT_Cache/Textures/19/ag422674x218706.jpg b/RWT_Cache/Textures/19/ag422674x218706.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422674x218706.jpg differ diff --git a/RWT_Cache/Textures/19/ag422674x218707.jpg b/RWT_Cache/Textures/19/ag422674x218707.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422674x218707.jpg differ diff --git a/RWT_Cache/Textures/19/ag422674x218708.jpg b/RWT_Cache/Textures/19/ag422674x218708.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422674x218708.jpg differ diff --git a/RWT_Cache/Textures/19/ag422674x218709.jpg b/RWT_Cache/Textures/19/ag422674x218709.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422674x218709.jpg differ diff --git a/RWT_Cache/Textures/19/ag422674x218710.jpg b/RWT_Cache/Textures/19/ag422674x218710.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422674x218710.jpg differ diff --git a/RWT_Cache/Textures/19/ag422674x218711.jpg b/RWT_Cache/Textures/19/ag422674x218711.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422674x218711.jpg differ diff --git a/RWT_Cache/Textures/19/ag422674x218712.jpg b/RWT_Cache/Textures/19/ag422674x218712.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422674x218712.jpg differ diff --git a/RWT_Cache/Textures/19/ag422674x218713.jpg b/RWT_Cache/Textures/19/ag422674x218713.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422674x218713.jpg differ diff --git a/RWT_Cache/Textures/19/ag422674x218714.jpg b/RWT_Cache/Textures/19/ag422674x218714.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422674x218714.jpg differ diff --git a/RWT_Cache/Textures/19/ag422674x218715.jpg b/RWT_Cache/Textures/19/ag422674x218715.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422674x218715.jpg differ diff --git a/RWT_Cache/Textures/19/ag422674x218716.jpg b/RWT_Cache/Textures/19/ag422674x218716.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422674x218716.jpg differ diff --git a/RWT_Cache/Textures/19/ag422674x218717.jpg b/RWT_Cache/Textures/19/ag422674x218717.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422674x218717.jpg differ diff --git a/RWT_Cache/Textures/19/ag422674x218718.jpg b/RWT_Cache/Textures/19/ag422674x218718.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422674x218718.jpg differ diff --git a/RWT_Cache/Textures/19/ag422674x218719.jpg b/RWT_Cache/Textures/19/ag422674x218719.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422674x218719.jpg differ diff --git a/RWT_Cache/Textures/19/ag422674x218720.jpg b/RWT_Cache/Textures/19/ag422674x218720.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422674x218720.jpg differ diff --git a/RWT_Cache/Textures/19/ag422674x218721.jpg b/RWT_Cache/Textures/19/ag422674x218721.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422674x218721.jpg differ diff --git a/RWT_Cache/Textures/19/ag422674x218722.jpg b/RWT_Cache/Textures/19/ag422674x218722.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422674x218722.jpg differ diff --git a/RWT_Cache/Textures/19/ag422675x218695.jpg b/RWT_Cache/Textures/19/ag422675x218695.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422675x218695.jpg differ diff --git a/RWT_Cache/Textures/19/ag422675x218696.jpg b/RWT_Cache/Textures/19/ag422675x218696.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422675x218696.jpg differ diff --git a/RWT_Cache/Textures/19/ag422675x218697.jpg b/RWT_Cache/Textures/19/ag422675x218697.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422675x218697.jpg differ diff --git a/RWT_Cache/Textures/19/ag422675x218698.jpg b/RWT_Cache/Textures/19/ag422675x218698.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422675x218698.jpg differ diff --git a/RWT_Cache/Textures/19/ag422675x218699.jpg b/RWT_Cache/Textures/19/ag422675x218699.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422675x218699.jpg differ diff --git a/RWT_Cache/Textures/19/ag422675x218700.jpg b/RWT_Cache/Textures/19/ag422675x218700.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422675x218700.jpg differ diff --git a/RWT_Cache/Textures/19/ag422675x218701.jpg b/RWT_Cache/Textures/19/ag422675x218701.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422675x218701.jpg differ diff --git a/RWT_Cache/Textures/19/ag422675x218702.jpg b/RWT_Cache/Textures/19/ag422675x218702.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422675x218702.jpg differ diff --git a/RWT_Cache/Textures/19/ag422675x218703.jpg b/RWT_Cache/Textures/19/ag422675x218703.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422675x218703.jpg differ diff --git a/RWT_Cache/Textures/19/ag422675x218704.jpg b/RWT_Cache/Textures/19/ag422675x218704.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422675x218704.jpg differ diff --git a/RWT_Cache/Textures/19/ag422675x218705.jpg b/RWT_Cache/Textures/19/ag422675x218705.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422675x218705.jpg differ diff --git a/RWT_Cache/Textures/19/ag422675x218706.jpg b/RWT_Cache/Textures/19/ag422675x218706.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422675x218706.jpg differ diff --git a/RWT_Cache/Textures/19/ag422675x218707.jpg b/RWT_Cache/Textures/19/ag422675x218707.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422675x218707.jpg differ diff --git a/RWT_Cache/Textures/19/ag422675x218708.jpg b/RWT_Cache/Textures/19/ag422675x218708.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422675x218708.jpg differ diff --git a/RWT_Cache/Textures/19/ag422675x218709.jpg b/RWT_Cache/Textures/19/ag422675x218709.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422675x218709.jpg differ diff --git a/RWT_Cache/Textures/19/ag422675x218710.jpg b/RWT_Cache/Textures/19/ag422675x218710.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422675x218710.jpg differ diff --git a/RWT_Cache/Textures/19/ag422675x218711.jpg b/RWT_Cache/Textures/19/ag422675x218711.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422675x218711.jpg differ diff --git a/RWT_Cache/Textures/19/ag422675x218712.jpg b/RWT_Cache/Textures/19/ag422675x218712.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422675x218712.jpg differ diff --git a/RWT_Cache/Textures/19/ag422675x218713.jpg b/RWT_Cache/Textures/19/ag422675x218713.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422675x218713.jpg differ diff --git a/RWT_Cache/Textures/19/ag422675x218714.jpg b/RWT_Cache/Textures/19/ag422675x218714.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422675x218714.jpg differ diff --git a/RWT_Cache/Textures/19/ag422675x218715.jpg b/RWT_Cache/Textures/19/ag422675x218715.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422675x218715.jpg differ diff --git a/RWT_Cache/Textures/19/ag422675x218716.jpg b/RWT_Cache/Textures/19/ag422675x218716.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422675x218716.jpg differ diff --git a/RWT_Cache/Textures/19/ag422675x218717.jpg b/RWT_Cache/Textures/19/ag422675x218717.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422675x218717.jpg differ diff --git a/RWT_Cache/Textures/19/ag422675x218718.jpg b/RWT_Cache/Textures/19/ag422675x218718.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422675x218718.jpg differ diff --git a/RWT_Cache/Textures/19/ag422675x218719.jpg b/RWT_Cache/Textures/19/ag422675x218719.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422675x218719.jpg differ diff --git a/RWT_Cache/Textures/19/ag422675x218720.jpg b/RWT_Cache/Textures/19/ag422675x218720.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422675x218720.jpg differ diff --git a/RWT_Cache/Textures/19/ag422675x218721.jpg b/RWT_Cache/Textures/19/ag422675x218721.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422675x218721.jpg differ diff --git a/RWT_Cache/Textures/19/ag422675x218722.jpg b/RWT_Cache/Textures/19/ag422675x218722.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422675x218722.jpg differ diff --git a/RWT_Cache/Textures/19/ag422676x218695.jpg b/RWT_Cache/Textures/19/ag422676x218695.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422676x218695.jpg differ diff --git a/RWT_Cache/Textures/19/ag422676x218696.jpg b/RWT_Cache/Textures/19/ag422676x218696.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422676x218696.jpg differ diff --git a/RWT_Cache/Textures/19/ag422676x218697.jpg b/RWT_Cache/Textures/19/ag422676x218697.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422676x218697.jpg differ diff --git a/RWT_Cache/Textures/19/ag422676x218698.jpg b/RWT_Cache/Textures/19/ag422676x218698.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422676x218698.jpg differ diff --git a/RWT_Cache/Textures/19/ag422676x218699.jpg b/RWT_Cache/Textures/19/ag422676x218699.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422676x218699.jpg differ diff --git a/RWT_Cache/Textures/19/ag422676x218700.jpg b/RWT_Cache/Textures/19/ag422676x218700.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422676x218700.jpg differ diff --git a/RWT_Cache/Textures/19/ag422676x218701.jpg b/RWT_Cache/Textures/19/ag422676x218701.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422676x218701.jpg differ diff --git a/RWT_Cache/Textures/19/ag422676x218702.jpg b/RWT_Cache/Textures/19/ag422676x218702.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422676x218702.jpg differ diff --git a/RWT_Cache/Textures/19/ag422676x218703.jpg b/RWT_Cache/Textures/19/ag422676x218703.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422676x218703.jpg differ diff --git a/RWT_Cache/Textures/19/ag422676x218704.jpg b/RWT_Cache/Textures/19/ag422676x218704.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422676x218704.jpg differ diff --git a/RWT_Cache/Textures/19/ag422676x218705.jpg b/RWT_Cache/Textures/19/ag422676x218705.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422676x218705.jpg differ diff --git a/RWT_Cache/Textures/19/ag422676x218706.jpg b/RWT_Cache/Textures/19/ag422676x218706.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422676x218706.jpg differ diff --git a/RWT_Cache/Textures/19/ag422676x218707.jpg b/RWT_Cache/Textures/19/ag422676x218707.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422676x218707.jpg differ diff --git a/RWT_Cache/Textures/19/ag422676x218708.jpg b/RWT_Cache/Textures/19/ag422676x218708.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422676x218708.jpg differ diff --git a/RWT_Cache/Textures/19/ag422676x218709.jpg b/RWT_Cache/Textures/19/ag422676x218709.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422676x218709.jpg differ diff --git a/RWT_Cache/Textures/19/ag422676x218710.jpg b/RWT_Cache/Textures/19/ag422676x218710.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422676x218710.jpg differ diff --git a/RWT_Cache/Textures/19/ag422676x218711.jpg b/RWT_Cache/Textures/19/ag422676x218711.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422676x218711.jpg differ diff --git a/RWT_Cache/Textures/19/ag422676x218712.jpg b/RWT_Cache/Textures/19/ag422676x218712.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422676x218712.jpg differ diff --git a/RWT_Cache/Textures/19/ag422676x218713.jpg b/RWT_Cache/Textures/19/ag422676x218713.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422676x218713.jpg differ diff --git a/RWT_Cache/Textures/19/ag422676x218714.jpg b/RWT_Cache/Textures/19/ag422676x218714.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422676x218714.jpg differ diff --git a/RWT_Cache/Textures/19/ag422676x218715.jpg b/RWT_Cache/Textures/19/ag422676x218715.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422676x218715.jpg differ diff --git a/RWT_Cache/Textures/19/ag422676x218716.jpg b/RWT_Cache/Textures/19/ag422676x218716.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422676x218716.jpg differ diff --git a/RWT_Cache/Textures/19/ag422676x218717.jpg b/RWT_Cache/Textures/19/ag422676x218717.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422676x218717.jpg differ diff --git a/RWT_Cache/Textures/19/ag422676x218718.jpg b/RWT_Cache/Textures/19/ag422676x218718.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422676x218718.jpg differ diff --git a/RWT_Cache/Textures/19/ag422676x218719.jpg b/RWT_Cache/Textures/19/ag422676x218719.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422676x218719.jpg differ diff --git a/RWT_Cache/Textures/19/ag422676x218720.jpg b/RWT_Cache/Textures/19/ag422676x218720.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422676x218720.jpg differ diff --git a/RWT_Cache/Textures/19/ag422676x218721.jpg b/RWT_Cache/Textures/19/ag422676x218721.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422676x218721.jpg differ diff --git a/RWT_Cache/Textures/19/ag422676x218722.jpg b/RWT_Cache/Textures/19/ag422676x218722.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422676x218722.jpg differ diff --git a/RWT_Cache/Textures/19/ag422677x218695.jpg b/RWT_Cache/Textures/19/ag422677x218695.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422677x218695.jpg differ diff --git a/RWT_Cache/Textures/19/ag422677x218696.jpg b/RWT_Cache/Textures/19/ag422677x218696.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422677x218696.jpg differ diff --git a/RWT_Cache/Textures/19/ag422677x218697.jpg b/RWT_Cache/Textures/19/ag422677x218697.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422677x218697.jpg differ diff --git a/RWT_Cache/Textures/19/ag422677x218698.jpg b/RWT_Cache/Textures/19/ag422677x218698.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422677x218698.jpg differ diff --git a/RWT_Cache/Textures/19/ag422677x218699.jpg b/RWT_Cache/Textures/19/ag422677x218699.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422677x218699.jpg differ diff --git a/RWT_Cache/Textures/19/ag422677x218700.jpg b/RWT_Cache/Textures/19/ag422677x218700.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422677x218700.jpg differ diff --git a/RWT_Cache/Textures/19/ag422677x218701.jpg b/RWT_Cache/Textures/19/ag422677x218701.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422677x218701.jpg differ diff --git a/RWT_Cache/Textures/19/ag422677x218702.jpg b/RWT_Cache/Textures/19/ag422677x218702.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422677x218702.jpg differ diff --git a/RWT_Cache/Textures/19/ag422677x218703.jpg b/RWT_Cache/Textures/19/ag422677x218703.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422677x218703.jpg differ diff --git a/RWT_Cache/Textures/19/ag422677x218704.jpg b/RWT_Cache/Textures/19/ag422677x218704.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422677x218704.jpg differ diff --git a/RWT_Cache/Textures/19/ag422677x218705.jpg b/RWT_Cache/Textures/19/ag422677x218705.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422677x218705.jpg differ diff --git a/RWT_Cache/Textures/19/ag422677x218706.jpg b/RWT_Cache/Textures/19/ag422677x218706.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422677x218706.jpg differ diff --git a/RWT_Cache/Textures/19/ag422677x218707.jpg b/RWT_Cache/Textures/19/ag422677x218707.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422677x218707.jpg differ diff --git a/RWT_Cache/Textures/19/ag422677x218708.jpg b/RWT_Cache/Textures/19/ag422677x218708.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422677x218708.jpg differ diff --git a/RWT_Cache/Textures/19/ag422677x218709.jpg b/RWT_Cache/Textures/19/ag422677x218709.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422677x218709.jpg differ diff --git a/RWT_Cache/Textures/19/ag422677x218710.jpg b/RWT_Cache/Textures/19/ag422677x218710.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422677x218710.jpg differ diff --git a/RWT_Cache/Textures/19/ag422677x218711.jpg b/RWT_Cache/Textures/19/ag422677x218711.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422677x218711.jpg differ diff --git a/RWT_Cache/Textures/19/ag422677x218712.jpg b/RWT_Cache/Textures/19/ag422677x218712.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422677x218712.jpg differ diff --git a/RWT_Cache/Textures/19/ag422677x218713.jpg b/RWT_Cache/Textures/19/ag422677x218713.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422677x218713.jpg differ diff --git a/RWT_Cache/Textures/19/ag422677x218714.jpg b/RWT_Cache/Textures/19/ag422677x218714.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422677x218714.jpg differ diff --git a/RWT_Cache/Textures/19/ag422677x218715.jpg b/RWT_Cache/Textures/19/ag422677x218715.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422677x218715.jpg differ diff --git a/RWT_Cache/Textures/19/ag422677x218716.jpg b/RWT_Cache/Textures/19/ag422677x218716.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422677x218716.jpg differ diff --git a/RWT_Cache/Textures/19/ag422677x218717.jpg b/RWT_Cache/Textures/19/ag422677x218717.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422677x218717.jpg differ diff --git a/RWT_Cache/Textures/19/ag422677x218718.jpg b/RWT_Cache/Textures/19/ag422677x218718.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422677x218718.jpg differ diff --git a/RWT_Cache/Textures/19/ag422677x218719.jpg b/RWT_Cache/Textures/19/ag422677x218719.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422677x218719.jpg differ diff --git a/RWT_Cache/Textures/19/ag422677x218720.jpg b/RWT_Cache/Textures/19/ag422677x218720.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422677x218720.jpg differ diff --git a/RWT_Cache/Textures/19/ag422677x218721.jpg b/RWT_Cache/Textures/19/ag422677x218721.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422677x218721.jpg differ diff --git a/RWT_Cache/Textures/19/ag422677x218722.jpg b/RWT_Cache/Textures/19/ag422677x218722.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422677x218722.jpg differ diff --git a/RWT_Cache/Textures/19/ag422678x218695.jpg b/RWT_Cache/Textures/19/ag422678x218695.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422678x218695.jpg differ diff --git a/RWT_Cache/Textures/19/ag422678x218696.jpg b/RWT_Cache/Textures/19/ag422678x218696.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422678x218696.jpg differ diff --git a/RWT_Cache/Textures/19/ag422678x218697.jpg b/RWT_Cache/Textures/19/ag422678x218697.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422678x218697.jpg differ diff --git a/RWT_Cache/Textures/19/ag422678x218698.jpg b/RWT_Cache/Textures/19/ag422678x218698.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422678x218698.jpg differ diff --git a/RWT_Cache/Textures/19/ag422678x218699.jpg b/RWT_Cache/Textures/19/ag422678x218699.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422678x218699.jpg differ diff --git a/RWT_Cache/Textures/19/ag422678x218700.jpg b/RWT_Cache/Textures/19/ag422678x218700.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422678x218700.jpg differ diff --git a/RWT_Cache/Textures/19/ag422678x218701.jpg b/RWT_Cache/Textures/19/ag422678x218701.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422678x218701.jpg differ diff --git a/RWT_Cache/Textures/19/ag422678x218702.jpg b/RWT_Cache/Textures/19/ag422678x218702.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422678x218702.jpg differ diff --git a/RWT_Cache/Textures/19/ag422678x218703.jpg b/RWT_Cache/Textures/19/ag422678x218703.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422678x218703.jpg differ diff --git a/RWT_Cache/Textures/19/ag422678x218704.jpg b/RWT_Cache/Textures/19/ag422678x218704.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422678x218704.jpg differ diff --git a/RWT_Cache/Textures/19/ag422678x218705.jpg b/RWT_Cache/Textures/19/ag422678x218705.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422678x218705.jpg differ diff --git a/RWT_Cache/Textures/19/ag422678x218706.jpg b/RWT_Cache/Textures/19/ag422678x218706.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422678x218706.jpg differ diff --git a/RWT_Cache/Textures/19/ag422678x218707.jpg b/RWT_Cache/Textures/19/ag422678x218707.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422678x218707.jpg differ diff --git a/RWT_Cache/Textures/19/ag422678x218708.jpg b/RWT_Cache/Textures/19/ag422678x218708.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422678x218708.jpg differ diff --git a/RWT_Cache/Textures/19/ag422678x218709.jpg b/RWT_Cache/Textures/19/ag422678x218709.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422678x218709.jpg differ diff --git a/RWT_Cache/Textures/19/ag422678x218710.jpg b/RWT_Cache/Textures/19/ag422678x218710.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422678x218710.jpg differ diff --git a/RWT_Cache/Textures/19/ag422678x218711.jpg b/RWT_Cache/Textures/19/ag422678x218711.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422678x218711.jpg differ diff --git a/RWT_Cache/Textures/19/ag422678x218712.jpg b/RWT_Cache/Textures/19/ag422678x218712.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422678x218712.jpg differ diff --git a/RWT_Cache/Textures/19/ag422678x218713.jpg b/RWT_Cache/Textures/19/ag422678x218713.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422678x218713.jpg differ diff --git a/RWT_Cache/Textures/19/ag422678x218714.jpg b/RWT_Cache/Textures/19/ag422678x218714.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422678x218714.jpg differ diff --git a/RWT_Cache/Textures/19/ag422678x218715.jpg b/RWT_Cache/Textures/19/ag422678x218715.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422678x218715.jpg differ diff --git a/RWT_Cache/Textures/19/ag422678x218716.jpg b/RWT_Cache/Textures/19/ag422678x218716.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422678x218716.jpg differ diff --git a/RWT_Cache/Textures/19/ag422678x218717.jpg b/RWT_Cache/Textures/19/ag422678x218717.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422678x218717.jpg differ diff --git a/RWT_Cache/Textures/19/ag422678x218718.jpg b/RWT_Cache/Textures/19/ag422678x218718.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422678x218718.jpg differ diff --git a/RWT_Cache/Textures/19/ag422678x218719.jpg b/RWT_Cache/Textures/19/ag422678x218719.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422678x218719.jpg differ diff --git a/RWT_Cache/Textures/19/ag422678x218720.jpg b/RWT_Cache/Textures/19/ag422678x218720.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422678x218720.jpg differ diff --git a/RWT_Cache/Textures/19/ag422678x218721.jpg b/RWT_Cache/Textures/19/ag422678x218721.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422678x218721.jpg differ diff --git a/RWT_Cache/Textures/19/ag422678x218722.jpg b/RWT_Cache/Textures/19/ag422678x218722.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422678x218722.jpg differ diff --git a/RWT_Cache/Textures/19/ag422679x218695.jpg b/RWT_Cache/Textures/19/ag422679x218695.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422679x218695.jpg differ diff --git a/RWT_Cache/Textures/19/ag422679x218696.jpg b/RWT_Cache/Textures/19/ag422679x218696.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422679x218696.jpg differ diff --git a/RWT_Cache/Textures/19/ag422679x218697.jpg b/RWT_Cache/Textures/19/ag422679x218697.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422679x218697.jpg differ diff --git a/RWT_Cache/Textures/19/ag422679x218698.jpg b/RWT_Cache/Textures/19/ag422679x218698.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422679x218698.jpg differ diff --git a/RWT_Cache/Textures/19/ag422679x218699.jpg b/RWT_Cache/Textures/19/ag422679x218699.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422679x218699.jpg differ diff --git a/RWT_Cache/Textures/19/ag422679x218700.jpg b/RWT_Cache/Textures/19/ag422679x218700.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422679x218700.jpg differ diff --git a/RWT_Cache/Textures/19/ag422679x218701.jpg b/RWT_Cache/Textures/19/ag422679x218701.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422679x218701.jpg differ diff --git a/RWT_Cache/Textures/19/ag422679x218702.jpg b/RWT_Cache/Textures/19/ag422679x218702.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422679x218702.jpg differ diff --git a/RWT_Cache/Textures/19/ag422679x218703.jpg b/RWT_Cache/Textures/19/ag422679x218703.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422679x218703.jpg differ diff --git a/RWT_Cache/Textures/19/ag422679x218704.jpg b/RWT_Cache/Textures/19/ag422679x218704.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422679x218704.jpg differ diff --git a/RWT_Cache/Textures/19/ag422679x218705.jpg b/RWT_Cache/Textures/19/ag422679x218705.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422679x218705.jpg differ diff --git a/RWT_Cache/Textures/19/ag422679x218706.jpg b/RWT_Cache/Textures/19/ag422679x218706.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422679x218706.jpg differ diff --git a/RWT_Cache/Textures/19/ag422679x218707.jpg b/RWT_Cache/Textures/19/ag422679x218707.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422679x218707.jpg differ diff --git a/RWT_Cache/Textures/19/ag422679x218708.jpg b/RWT_Cache/Textures/19/ag422679x218708.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422679x218708.jpg differ diff --git a/RWT_Cache/Textures/19/ag422679x218709.jpg b/RWT_Cache/Textures/19/ag422679x218709.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422679x218709.jpg differ diff --git a/RWT_Cache/Textures/19/ag422679x218710.jpg b/RWT_Cache/Textures/19/ag422679x218710.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422679x218710.jpg differ diff --git a/RWT_Cache/Textures/19/ag422679x218711.jpg b/RWT_Cache/Textures/19/ag422679x218711.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422679x218711.jpg differ diff --git a/RWT_Cache/Textures/19/ag422679x218712.jpg b/RWT_Cache/Textures/19/ag422679x218712.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422679x218712.jpg differ diff --git a/RWT_Cache/Textures/19/ag422679x218713.jpg b/RWT_Cache/Textures/19/ag422679x218713.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422679x218713.jpg differ diff --git a/RWT_Cache/Textures/19/ag422679x218714.jpg b/RWT_Cache/Textures/19/ag422679x218714.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422679x218714.jpg differ diff --git a/RWT_Cache/Textures/19/ag422679x218715.jpg b/RWT_Cache/Textures/19/ag422679x218715.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422679x218715.jpg differ diff --git a/RWT_Cache/Textures/19/ag422679x218716.jpg b/RWT_Cache/Textures/19/ag422679x218716.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422679x218716.jpg differ diff --git a/RWT_Cache/Textures/19/ag422679x218717.jpg b/RWT_Cache/Textures/19/ag422679x218717.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422679x218717.jpg differ diff --git a/RWT_Cache/Textures/19/ag422679x218718.jpg b/RWT_Cache/Textures/19/ag422679x218718.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422679x218718.jpg differ diff --git a/RWT_Cache/Textures/19/ag422679x218719.jpg b/RWT_Cache/Textures/19/ag422679x218719.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422679x218719.jpg differ diff --git a/RWT_Cache/Textures/19/ag422679x218720.jpg b/RWT_Cache/Textures/19/ag422679x218720.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422679x218720.jpg differ diff --git a/RWT_Cache/Textures/19/ag422679x218721.jpg b/RWT_Cache/Textures/19/ag422679x218721.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422679x218721.jpg differ diff --git a/RWT_Cache/Textures/19/ag422679x218722.jpg b/RWT_Cache/Textures/19/ag422679x218722.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422679x218722.jpg differ diff --git a/RWT_Cache/Textures/19/ag422680x218695.jpg b/RWT_Cache/Textures/19/ag422680x218695.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422680x218695.jpg differ diff --git a/RWT_Cache/Textures/19/ag422680x218696.jpg b/RWT_Cache/Textures/19/ag422680x218696.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422680x218696.jpg differ diff --git a/RWT_Cache/Textures/19/ag422680x218697.jpg b/RWT_Cache/Textures/19/ag422680x218697.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422680x218697.jpg differ diff --git a/RWT_Cache/Textures/19/ag422680x218698.jpg b/RWT_Cache/Textures/19/ag422680x218698.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422680x218698.jpg differ diff --git a/RWT_Cache/Textures/19/ag422680x218699.jpg b/RWT_Cache/Textures/19/ag422680x218699.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422680x218699.jpg differ diff --git a/RWT_Cache/Textures/19/ag422680x218700.jpg b/RWT_Cache/Textures/19/ag422680x218700.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422680x218700.jpg differ diff --git a/RWT_Cache/Textures/19/ag422680x218701.jpg b/RWT_Cache/Textures/19/ag422680x218701.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422680x218701.jpg differ diff --git a/RWT_Cache/Textures/19/ag422680x218702.jpg b/RWT_Cache/Textures/19/ag422680x218702.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422680x218702.jpg differ diff --git a/RWT_Cache/Textures/19/ag422680x218703.jpg b/RWT_Cache/Textures/19/ag422680x218703.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422680x218703.jpg differ diff --git a/RWT_Cache/Textures/19/ag422680x218704.jpg b/RWT_Cache/Textures/19/ag422680x218704.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422680x218704.jpg differ diff --git a/RWT_Cache/Textures/19/ag422680x218705.jpg b/RWT_Cache/Textures/19/ag422680x218705.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422680x218705.jpg differ diff --git a/RWT_Cache/Textures/19/ag422680x218706.jpg b/RWT_Cache/Textures/19/ag422680x218706.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422680x218706.jpg differ diff --git a/RWT_Cache/Textures/19/ag422680x218707.jpg b/RWT_Cache/Textures/19/ag422680x218707.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422680x218707.jpg differ diff --git a/RWT_Cache/Textures/19/ag422680x218708.jpg b/RWT_Cache/Textures/19/ag422680x218708.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422680x218708.jpg differ diff --git a/RWT_Cache/Textures/19/ag422680x218709.jpg b/RWT_Cache/Textures/19/ag422680x218709.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422680x218709.jpg differ diff --git a/RWT_Cache/Textures/19/ag422680x218710.jpg b/RWT_Cache/Textures/19/ag422680x218710.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422680x218710.jpg differ diff --git a/RWT_Cache/Textures/19/ag422680x218711.jpg b/RWT_Cache/Textures/19/ag422680x218711.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422680x218711.jpg differ diff --git a/RWT_Cache/Textures/19/ag422680x218712.jpg b/RWT_Cache/Textures/19/ag422680x218712.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422680x218712.jpg differ diff --git a/RWT_Cache/Textures/19/ag422680x218713.jpg b/RWT_Cache/Textures/19/ag422680x218713.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422680x218713.jpg differ diff --git a/RWT_Cache/Textures/19/ag422680x218714.jpg b/RWT_Cache/Textures/19/ag422680x218714.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422680x218714.jpg differ diff --git a/RWT_Cache/Textures/19/ag422680x218715.jpg b/RWT_Cache/Textures/19/ag422680x218715.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422680x218715.jpg differ diff --git a/RWT_Cache/Textures/19/ag422680x218716.jpg b/RWT_Cache/Textures/19/ag422680x218716.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422680x218716.jpg differ diff --git a/RWT_Cache/Textures/19/ag422680x218717.jpg b/RWT_Cache/Textures/19/ag422680x218717.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422680x218717.jpg differ diff --git a/RWT_Cache/Textures/19/ag422680x218718.jpg b/RWT_Cache/Textures/19/ag422680x218718.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422680x218718.jpg differ diff --git a/RWT_Cache/Textures/19/ag422680x218719.jpg b/RWT_Cache/Textures/19/ag422680x218719.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422680x218719.jpg differ diff --git a/RWT_Cache/Textures/19/ag422680x218720.jpg b/RWT_Cache/Textures/19/ag422680x218720.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422680x218720.jpg differ diff --git a/RWT_Cache/Textures/19/ag422680x218721.jpg b/RWT_Cache/Textures/19/ag422680x218721.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422680x218721.jpg differ diff --git a/RWT_Cache/Textures/19/ag422680x218722.jpg b/RWT_Cache/Textures/19/ag422680x218722.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422680x218722.jpg differ diff --git a/RWT_Cache/Textures/19/ag422681x218695.jpg b/RWT_Cache/Textures/19/ag422681x218695.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422681x218695.jpg differ diff --git a/RWT_Cache/Textures/19/ag422681x218696.jpg b/RWT_Cache/Textures/19/ag422681x218696.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422681x218696.jpg differ diff --git a/RWT_Cache/Textures/19/ag422681x218697.jpg b/RWT_Cache/Textures/19/ag422681x218697.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422681x218697.jpg differ diff --git a/RWT_Cache/Textures/19/ag422681x218698.jpg b/RWT_Cache/Textures/19/ag422681x218698.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422681x218698.jpg differ diff --git a/RWT_Cache/Textures/19/ag422681x218699.jpg b/RWT_Cache/Textures/19/ag422681x218699.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422681x218699.jpg differ diff --git a/RWT_Cache/Textures/19/ag422681x218700.jpg b/RWT_Cache/Textures/19/ag422681x218700.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422681x218700.jpg differ diff --git a/RWT_Cache/Textures/19/ag422681x218701.jpg b/RWT_Cache/Textures/19/ag422681x218701.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422681x218701.jpg differ diff --git a/RWT_Cache/Textures/19/ag422681x218702.jpg b/RWT_Cache/Textures/19/ag422681x218702.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422681x218702.jpg differ diff --git a/RWT_Cache/Textures/19/ag422681x218703.jpg b/RWT_Cache/Textures/19/ag422681x218703.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422681x218703.jpg differ diff --git a/RWT_Cache/Textures/19/ag422681x218704.jpg b/RWT_Cache/Textures/19/ag422681x218704.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422681x218704.jpg differ diff --git a/RWT_Cache/Textures/19/ag422681x218705.jpg b/RWT_Cache/Textures/19/ag422681x218705.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422681x218705.jpg differ diff --git a/RWT_Cache/Textures/19/ag422681x218706.jpg b/RWT_Cache/Textures/19/ag422681x218706.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422681x218706.jpg differ diff --git a/RWT_Cache/Textures/19/ag422681x218707.jpg b/RWT_Cache/Textures/19/ag422681x218707.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422681x218707.jpg differ diff --git a/RWT_Cache/Textures/19/ag422681x218708.jpg b/RWT_Cache/Textures/19/ag422681x218708.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422681x218708.jpg differ diff --git a/RWT_Cache/Textures/19/ag422681x218709.jpg b/RWT_Cache/Textures/19/ag422681x218709.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422681x218709.jpg differ diff --git a/RWT_Cache/Textures/19/ag422681x218710.jpg b/RWT_Cache/Textures/19/ag422681x218710.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422681x218710.jpg differ diff --git a/RWT_Cache/Textures/19/ag422681x218711.jpg b/RWT_Cache/Textures/19/ag422681x218711.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422681x218711.jpg differ diff --git a/RWT_Cache/Textures/19/ag422681x218712.jpg b/RWT_Cache/Textures/19/ag422681x218712.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422681x218712.jpg differ diff --git a/RWT_Cache/Textures/19/ag422681x218713.jpg b/RWT_Cache/Textures/19/ag422681x218713.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422681x218713.jpg differ diff --git a/RWT_Cache/Textures/19/ag422681x218714.jpg b/RWT_Cache/Textures/19/ag422681x218714.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422681x218714.jpg differ diff --git a/RWT_Cache/Textures/19/ag422681x218715.jpg b/RWT_Cache/Textures/19/ag422681x218715.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422681x218715.jpg differ diff --git a/RWT_Cache/Textures/19/ag422681x218716.jpg b/RWT_Cache/Textures/19/ag422681x218716.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422681x218716.jpg differ diff --git a/RWT_Cache/Textures/19/ag422681x218717.jpg b/RWT_Cache/Textures/19/ag422681x218717.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422681x218717.jpg differ diff --git a/RWT_Cache/Textures/19/ag422681x218718.jpg b/RWT_Cache/Textures/19/ag422681x218718.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422681x218718.jpg differ diff --git a/RWT_Cache/Textures/19/ag422681x218719.jpg b/RWT_Cache/Textures/19/ag422681x218719.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422681x218719.jpg differ diff --git a/RWT_Cache/Textures/19/ag422681x218720.jpg b/RWT_Cache/Textures/19/ag422681x218720.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422681x218720.jpg differ diff --git a/RWT_Cache/Textures/19/ag422681x218721.jpg b/RWT_Cache/Textures/19/ag422681x218721.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422681x218721.jpg differ diff --git a/RWT_Cache/Textures/19/ag422681x218722.jpg b/RWT_Cache/Textures/19/ag422681x218722.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422681x218722.jpg differ diff --git a/RWT_Cache/Textures/19/ag422682x218695.jpg b/RWT_Cache/Textures/19/ag422682x218695.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422682x218695.jpg differ diff --git a/RWT_Cache/Textures/19/ag422682x218696.jpg b/RWT_Cache/Textures/19/ag422682x218696.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422682x218696.jpg differ diff --git a/RWT_Cache/Textures/19/ag422682x218697.jpg b/RWT_Cache/Textures/19/ag422682x218697.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422682x218697.jpg differ diff --git a/RWT_Cache/Textures/19/ag422682x218698.jpg b/RWT_Cache/Textures/19/ag422682x218698.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422682x218698.jpg differ diff --git a/RWT_Cache/Textures/19/ag422682x218699.jpg b/RWT_Cache/Textures/19/ag422682x218699.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422682x218699.jpg differ diff --git a/RWT_Cache/Textures/19/ag422682x218700.jpg b/RWT_Cache/Textures/19/ag422682x218700.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422682x218700.jpg differ diff --git a/RWT_Cache/Textures/19/ag422682x218701.jpg b/RWT_Cache/Textures/19/ag422682x218701.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422682x218701.jpg differ diff --git a/RWT_Cache/Textures/19/ag422682x218702.jpg b/RWT_Cache/Textures/19/ag422682x218702.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422682x218702.jpg differ diff --git a/RWT_Cache/Textures/19/ag422682x218703.jpg b/RWT_Cache/Textures/19/ag422682x218703.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422682x218703.jpg differ diff --git a/RWT_Cache/Textures/19/ag422682x218704.jpg b/RWT_Cache/Textures/19/ag422682x218704.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422682x218704.jpg differ diff --git a/RWT_Cache/Textures/19/ag422682x218705.jpg b/RWT_Cache/Textures/19/ag422682x218705.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422682x218705.jpg differ diff --git a/RWT_Cache/Textures/19/ag422682x218706.jpg b/RWT_Cache/Textures/19/ag422682x218706.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422682x218706.jpg differ diff --git a/RWT_Cache/Textures/19/ag422682x218707.jpg b/RWT_Cache/Textures/19/ag422682x218707.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422682x218707.jpg differ diff --git a/RWT_Cache/Textures/19/ag422682x218708.jpg b/RWT_Cache/Textures/19/ag422682x218708.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422682x218708.jpg differ diff --git a/RWT_Cache/Textures/19/ag422682x218709.jpg b/RWT_Cache/Textures/19/ag422682x218709.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422682x218709.jpg differ diff --git a/RWT_Cache/Textures/19/ag422682x218710.jpg b/RWT_Cache/Textures/19/ag422682x218710.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422682x218710.jpg differ diff --git a/RWT_Cache/Textures/19/ag422682x218711.jpg b/RWT_Cache/Textures/19/ag422682x218711.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422682x218711.jpg differ diff --git a/RWT_Cache/Textures/19/ag422682x218712.jpg b/RWT_Cache/Textures/19/ag422682x218712.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422682x218712.jpg differ diff --git a/RWT_Cache/Textures/19/ag422682x218713.jpg b/RWT_Cache/Textures/19/ag422682x218713.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422682x218713.jpg differ diff --git a/RWT_Cache/Textures/19/ag422682x218714.jpg b/RWT_Cache/Textures/19/ag422682x218714.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422682x218714.jpg differ diff --git a/RWT_Cache/Textures/19/ag422682x218715.jpg b/RWT_Cache/Textures/19/ag422682x218715.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422682x218715.jpg differ diff --git a/RWT_Cache/Textures/19/ag422682x218716.jpg b/RWT_Cache/Textures/19/ag422682x218716.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422682x218716.jpg differ diff --git a/RWT_Cache/Textures/19/ag422682x218717.jpg b/RWT_Cache/Textures/19/ag422682x218717.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422682x218717.jpg differ diff --git a/RWT_Cache/Textures/19/ag422682x218718.jpg b/RWT_Cache/Textures/19/ag422682x218718.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422682x218718.jpg differ diff --git a/RWT_Cache/Textures/19/ag422682x218719.jpg b/RWT_Cache/Textures/19/ag422682x218719.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422682x218719.jpg differ diff --git a/RWT_Cache/Textures/19/ag422682x218720.jpg b/RWT_Cache/Textures/19/ag422682x218720.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422682x218720.jpg differ diff --git a/RWT_Cache/Textures/19/ag422682x218721.jpg b/RWT_Cache/Textures/19/ag422682x218721.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422682x218721.jpg differ diff --git a/RWT_Cache/Textures/19/ag422682x218722.jpg b/RWT_Cache/Textures/19/ag422682x218722.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422682x218722.jpg differ diff --git a/RWT_Cache/Textures/19/ag422683x218695.jpg b/RWT_Cache/Textures/19/ag422683x218695.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422683x218695.jpg differ diff --git a/RWT_Cache/Textures/19/ag422683x218696.jpg b/RWT_Cache/Textures/19/ag422683x218696.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422683x218696.jpg differ diff --git a/RWT_Cache/Textures/19/ag422683x218697.jpg b/RWT_Cache/Textures/19/ag422683x218697.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422683x218697.jpg differ diff --git a/RWT_Cache/Textures/19/ag422683x218698.jpg b/RWT_Cache/Textures/19/ag422683x218698.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422683x218698.jpg differ diff --git a/RWT_Cache/Textures/19/ag422683x218699.jpg b/RWT_Cache/Textures/19/ag422683x218699.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422683x218699.jpg differ diff --git a/RWT_Cache/Textures/19/ag422683x218700.jpg b/RWT_Cache/Textures/19/ag422683x218700.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422683x218700.jpg differ diff --git a/RWT_Cache/Textures/19/ag422683x218701.jpg b/RWT_Cache/Textures/19/ag422683x218701.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422683x218701.jpg differ diff --git a/RWT_Cache/Textures/19/ag422683x218702.jpg b/RWT_Cache/Textures/19/ag422683x218702.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422683x218702.jpg differ diff --git a/RWT_Cache/Textures/19/ag422683x218703.jpg b/RWT_Cache/Textures/19/ag422683x218703.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422683x218703.jpg differ diff --git a/RWT_Cache/Textures/19/ag422683x218704.jpg b/RWT_Cache/Textures/19/ag422683x218704.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422683x218704.jpg differ diff --git a/RWT_Cache/Textures/19/ag422683x218705.jpg b/RWT_Cache/Textures/19/ag422683x218705.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422683x218705.jpg differ diff --git a/RWT_Cache/Textures/19/ag422683x218706.jpg b/RWT_Cache/Textures/19/ag422683x218706.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422683x218706.jpg differ diff --git a/RWT_Cache/Textures/19/ag422683x218707.jpg b/RWT_Cache/Textures/19/ag422683x218707.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422683x218707.jpg differ diff --git a/RWT_Cache/Textures/19/ag422683x218708.jpg b/RWT_Cache/Textures/19/ag422683x218708.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422683x218708.jpg differ diff --git a/RWT_Cache/Textures/19/ag422683x218709.jpg b/RWT_Cache/Textures/19/ag422683x218709.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422683x218709.jpg differ diff --git a/RWT_Cache/Textures/19/ag422683x218710.jpg b/RWT_Cache/Textures/19/ag422683x218710.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422683x218710.jpg differ diff --git a/RWT_Cache/Textures/19/ag422683x218711.jpg b/RWT_Cache/Textures/19/ag422683x218711.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422683x218711.jpg differ diff --git a/RWT_Cache/Textures/19/ag422683x218712.jpg b/RWT_Cache/Textures/19/ag422683x218712.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422683x218712.jpg differ diff --git a/RWT_Cache/Textures/19/ag422683x218713.jpg b/RWT_Cache/Textures/19/ag422683x218713.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422683x218713.jpg differ diff --git a/RWT_Cache/Textures/19/ag422683x218714.jpg b/RWT_Cache/Textures/19/ag422683x218714.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422683x218714.jpg differ diff --git a/RWT_Cache/Textures/19/ag422683x218715.jpg b/RWT_Cache/Textures/19/ag422683x218715.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422683x218715.jpg differ diff --git a/RWT_Cache/Textures/19/ag422683x218716.jpg b/RWT_Cache/Textures/19/ag422683x218716.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422683x218716.jpg differ diff --git a/RWT_Cache/Textures/19/ag422683x218717.jpg b/RWT_Cache/Textures/19/ag422683x218717.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422683x218717.jpg differ diff --git a/RWT_Cache/Textures/19/ag422683x218718.jpg b/RWT_Cache/Textures/19/ag422683x218718.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422683x218718.jpg differ diff --git a/RWT_Cache/Textures/19/ag422683x218719.jpg b/RWT_Cache/Textures/19/ag422683x218719.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422683x218719.jpg differ diff --git a/RWT_Cache/Textures/19/ag422683x218720.jpg b/RWT_Cache/Textures/19/ag422683x218720.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422683x218720.jpg differ diff --git a/RWT_Cache/Textures/19/ag422683x218721.jpg b/RWT_Cache/Textures/19/ag422683x218721.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422683x218721.jpg differ diff --git a/RWT_Cache/Textures/19/ag422683x218722.jpg b/RWT_Cache/Textures/19/ag422683x218722.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422683x218722.jpg differ diff --git a/RWT_Cache/Textures/19/ag422684x218695.jpg b/RWT_Cache/Textures/19/ag422684x218695.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422684x218695.jpg differ diff --git a/RWT_Cache/Textures/19/ag422684x218696.jpg b/RWT_Cache/Textures/19/ag422684x218696.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422684x218696.jpg differ diff --git a/RWT_Cache/Textures/19/ag422684x218697.jpg b/RWT_Cache/Textures/19/ag422684x218697.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422684x218697.jpg differ diff --git a/RWT_Cache/Textures/19/ag422684x218698.jpg b/RWT_Cache/Textures/19/ag422684x218698.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422684x218698.jpg differ diff --git a/RWT_Cache/Textures/19/ag422684x218699.jpg b/RWT_Cache/Textures/19/ag422684x218699.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422684x218699.jpg differ diff --git a/RWT_Cache/Textures/19/ag422684x218700.jpg b/RWT_Cache/Textures/19/ag422684x218700.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422684x218700.jpg differ diff --git a/RWT_Cache/Textures/19/ag422684x218701.jpg b/RWT_Cache/Textures/19/ag422684x218701.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422684x218701.jpg differ diff --git a/RWT_Cache/Textures/19/ag422684x218702.jpg b/RWT_Cache/Textures/19/ag422684x218702.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422684x218702.jpg differ diff --git a/RWT_Cache/Textures/19/ag422684x218703.jpg b/RWT_Cache/Textures/19/ag422684x218703.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422684x218703.jpg differ diff --git a/RWT_Cache/Textures/19/ag422684x218704.jpg b/RWT_Cache/Textures/19/ag422684x218704.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422684x218704.jpg differ diff --git a/RWT_Cache/Textures/19/ag422684x218705.jpg b/RWT_Cache/Textures/19/ag422684x218705.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422684x218705.jpg differ diff --git a/RWT_Cache/Textures/19/ag422684x218706.jpg b/RWT_Cache/Textures/19/ag422684x218706.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422684x218706.jpg differ diff --git a/RWT_Cache/Textures/19/ag422684x218707.jpg b/RWT_Cache/Textures/19/ag422684x218707.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422684x218707.jpg differ diff --git a/RWT_Cache/Textures/19/ag422684x218708.jpg b/RWT_Cache/Textures/19/ag422684x218708.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422684x218708.jpg differ diff --git a/RWT_Cache/Textures/19/ag422684x218709.jpg b/RWT_Cache/Textures/19/ag422684x218709.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422684x218709.jpg differ diff --git a/RWT_Cache/Textures/19/ag422684x218710.jpg b/RWT_Cache/Textures/19/ag422684x218710.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422684x218710.jpg differ diff --git a/RWT_Cache/Textures/19/ag422684x218711.jpg b/RWT_Cache/Textures/19/ag422684x218711.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422684x218711.jpg differ diff --git a/RWT_Cache/Textures/19/ag422684x218712.jpg b/RWT_Cache/Textures/19/ag422684x218712.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422684x218712.jpg differ diff --git a/RWT_Cache/Textures/19/ag422684x218713.jpg b/RWT_Cache/Textures/19/ag422684x218713.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422684x218713.jpg differ diff --git a/RWT_Cache/Textures/19/ag422684x218714.jpg b/RWT_Cache/Textures/19/ag422684x218714.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422684x218714.jpg differ diff --git a/RWT_Cache/Textures/19/ag422684x218715.jpg b/RWT_Cache/Textures/19/ag422684x218715.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422684x218715.jpg differ diff --git a/RWT_Cache/Textures/19/ag422684x218716.jpg b/RWT_Cache/Textures/19/ag422684x218716.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422684x218716.jpg differ diff --git a/RWT_Cache/Textures/19/ag422684x218717.jpg b/RWT_Cache/Textures/19/ag422684x218717.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422684x218717.jpg differ diff --git a/RWT_Cache/Textures/19/ag422684x218718.jpg b/RWT_Cache/Textures/19/ag422684x218718.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422684x218718.jpg differ diff --git a/RWT_Cache/Textures/19/ag422684x218719.jpg b/RWT_Cache/Textures/19/ag422684x218719.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422684x218719.jpg differ diff --git a/RWT_Cache/Textures/19/ag422684x218720.jpg b/RWT_Cache/Textures/19/ag422684x218720.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422684x218720.jpg differ diff --git a/RWT_Cache/Textures/19/ag422684x218721.jpg b/RWT_Cache/Textures/19/ag422684x218721.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422684x218721.jpg differ diff --git a/RWT_Cache/Textures/19/ag422684x218722.jpg b/RWT_Cache/Textures/19/ag422684x218722.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422684x218722.jpg differ diff --git a/RWT_Cache/Textures/19/ag422685x218695.jpg b/RWT_Cache/Textures/19/ag422685x218695.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422685x218695.jpg differ diff --git a/RWT_Cache/Textures/19/ag422685x218696.jpg b/RWT_Cache/Textures/19/ag422685x218696.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422685x218696.jpg differ diff --git a/RWT_Cache/Textures/19/ag422685x218697.jpg b/RWT_Cache/Textures/19/ag422685x218697.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422685x218697.jpg differ diff --git a/RWT_Cache/Textures/19/ag422685x218698.jpg b/RWT_Cache/Textures/19/ag422685x218698.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422685x218698.jpg differ diff --git a/RWT_Cache/Textures/19/ag422685x218699.jpg b/RWT_Cache/Textures/19/ag422685x218699.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422685x218699.jpg differ diff --git a/RWT_Cache/Textures/19/ag422685x218700.jpg b/RWT_Cache/Textures/19/ag422685x218700.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422685x218700.jpg differ diff --git a/RWT_Cache/Textures/19/ag422685x218701.jpg b/RWT_Cache/Textures/19/ag422685x218701.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422685x218701.jpg differ diff --git a/RWT_Cache/Textures/19/ag422685x218702.jpg b/RWT_Cache/Textures/19/ag422685x218702.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422685x218702.jpg differ diff --git a/RWT_Cache/Textures/19/ag422685x218703.jpg b/RWT_Cache/Textures/19/ag422685x218703.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422685x218703.jpg differ diff --git a/RWT_Cache/Textures/19/ag422685x218704.jpg b/RWT_Cache/Textures/19/ag422685x218704.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422685x218704.jpg differ diff --git a/RWT_Cache/Textures/19/ag422685x218705.jpg b/RWT_Cache/Textures/19/ag422685x218705.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422685x218705.jpg differ diff --git a/RWT_Cache/Textures/19/ag422685x218706.jpg b/RWT_Cache/Textures/19/ag422685x218706.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422685x218706.jpg differ diff --git a/RWT_Cache/Textures/19/ag422685x218707.jpg b/RWT_Cache/Textures/19/ag422685x218707.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422685x218707.jpg differ diff --git a/RWT_Cache/Textures/19/ag422685x218708.jpg b/RWT_Cache/Textures/19/ag422685x218708.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422685x218708.jpg differ diff --git a/RWT_Cache/Textures/19/ag422685x218709.jpg b/RWT_Cache/Textures/19/ag422685x218709.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422685x218709.jpg differ diff --git a/RWT_Cache/Textures/19/ag422685x218710.jpg b/RWT_Cache/Textures/19/ag422685x218710.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422685x218710.jpg differ diff --git a/RWT_Cache/Textures/19/ag422685x218711.jpg b/RWT_Cache/Textures/19/ag422685x218711.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422685x218711.jpg differ diff --git a/RWT_Cache/Textures/19/ag422685x218712.jpg b/RWT_Cache/Textures/19/ag422685x218712.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422685x218712.jpg differ diff --git a/RWT_Cache/Textures/19/ag422685x218713.jpg b/RWT_Cache/Textures/19/ag422685x218713.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422685x218713.jpg differ diff --git a/RWT_Cache/Textures/19/ag422685x218714.jpg b/RWT_Cache/Textures/19/ag422685x218714.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422685x218714.jpg differ diff --git a/RWT_Cache/Textures/19/ag422685x218715.jpg b/RWT_Cache/Textures/19/ag422685x218715.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422685x218715.jpg differ diff --git a/RWT_Cache/Textures/19/ag422685x218716.jpg b/RWT_Cache/Textures/19/ag422685x218716.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422685x218716.jpg differ diff --git a/RWT_Cache/Textures/19/ag422685x218717.jpg b/RWT_Cache/Textures/19/ag422685x218717.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422685x218717.jpg differ diff --git a/RWT_Cache/Textures/19/ag422685x218718.jpg b/RWT_Cache/Textures/19/ag422685x218718.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422685x218718.jpg differ diff --git a/RWT_Cache/Textures/19/ag422685x218719.jpg b/RWT_Cache/Textures/19/ag422685x218719.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422685x218719.jpg differ diff --git a/RWT_Cache/Textures/19/ag422685x218720.jpg b/RWT_Cache/Textures/19/ag422685x218720.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422685x218720.jpg differ diff --git a/RWT_Cache/Textures/19/ag422685x218721.jpg b/RWT_Cache/Textures/19/ag422685x218721.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422685x218721.jpg differ diff --git a/RWT_Cache/Textures/19/ag422685x218722.jpg b/RWT_Cache/Textures/19/ag422685x218722.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422685x218722.jpg differ diff --git a/RWT_Cache/Textures/19/ag422686x218695.jpg b/RWT_Cache/Textures/19/ag422686x218695.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422686x218695.jpg differ diff --git a/RWT_Cache/Textures/19/ag422686x218696.jpg b/RWT_Cache/Textures/19/ag422686x218696.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422686x218696.jpg differ diff --git a/RWT_Cache/Textures/19/ag422686x218697.jpg b/RWT_Cache/Textures/19/ag422686x218697.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422686x218697.jpg differ diff --git a/RWT_Cache/Textures/19/ag422686x218698.jpg b/RWT_Cache/Textures/19/ag422686x218698.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422686x218698.jpg differ diff --git a/RWT_Cache/Textures/19/ag422686x218699.jpg b/RWT_Cache/Textures/19/ag422686x218699.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422686x218699.jpg differ diff --git a/RWT_Cache/Textures/19/ag422686x218700.jpg b/RWT_Cache/Textures/19/ag422686x218700.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422686x218700.jpg differ diff --git a/RWT_Cache/Textures/19/ag422686x218701.jpg b/RWT_Cache/Textures/19/ag422686x218701.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422686x218701.jpg differ diff --git a/RWT_Cache/Textures/19/ag422686x218702.jpg b/RWT_Cache/Textures/19/ag422686x218702.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422686x218702.jpg differ diff --git a/RWT_Cache/Textures/19/ag422686x218703.jpg b/RWT_Cache/Textures/19/ag422686x218703.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422686x218703.jpg differ diff --git a/RWT_Cache/Textures/19/ag422686x218704.jpg b/RWT_Cache/Textures/19/ag422686x218704.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422686x218704.jpg differ diff --git a/RWT_Cache/Textures/19/ag422686x218705.jpg b/RWT_Cache/Textures/19/ag422686x218705.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422686x218705.jpg differ diff --git a/RWT_Cache/Textures/19/ag422686x218706.jpg b/RWT_Cache/Textures/19/ag422686x218706.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422686x218706.jpg differ diff --git a/RWT_Cache/Textures/19/ag422686x218707.jpg b/RWT_Cache/Textures/19/ag422686x218707.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422686x218707.jpg differ diff --git a/RWT_Cache/Textures/19/ag422686x218708.jpg b/RWT_Cache/Textures/19/ag422686x218708.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422686x218708.jpg differ diff --git a/RWT_Cache/Textures/19/ag422686x218709.jpg b/RWT_Cache/Textures/19/ag422686x218709.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422686x218709.jpg differ diff --git a/RWT_Cache/Textures/19/ag422686x218710.jpg b/RWT_Cache/Textures/19/ag422686x218710.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422686x218710.jpg differ diff --git a/RWT_Cache/Textures/19/ag422686x218711.jpg b/RWT_Cache/Textures/19/ag422686x218711.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422686x218711.jpg differ diff --git a/RWT_Cache/Textures/19/ag422686x218712.jpg b/RWT_Cache/Textures/19/ag422686x218712.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422686x218712.jpg differ diff --git a/RWT_Cache/Textures/19/ag422686x218713.jpg b/RWT_Cache/Textures/19/ag422686x218713.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422686x218713.jpg differ diff --git a/RWT_Cache/Textures/19/ag422686x218714.jpg b/RWT_Cache/Textures/19/ag422686x218714.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422686x218714.jpg differ diff --git a/RWT_Cache/Textures/19/ag422686x218715.jpg b/RWT_Cache/Textures/19/ag422686x218715.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422686x218715.jpg differ diff --git a/RWT_Cache/Textures/19/ag422686x218716.jpg b/RWT_Cache/Textures/19/ag422686x218716.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422686x218716.jpg differ diff --git a/RWT_Cache/Textures/19/ag422686x218717.jpg b/RWT_Cache/Textures/19/ag422686x218717.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422686x218717.jpg differ diff --git a/RWT_Cache/Textures/19/ag422686x218718.jpg b/RWT_Cache/Textures/19/ag422686x218718.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422686x218718.jpg differ diff --git a/RWT_Cache/Textures/19/ag422686x218719.jpg b/RWT_Cache/Textures/19/ag422686x218719.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422686x218719.jpg differ diff --git a/RWT_Cache/Textures/19/ag422686x218720.jpg b/RWT_Cache/Textures/19/ag422686x218720.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422686x218720.jpg differ diff --git a/RWT_Cache/Textures/19/ag422686x218721.jpg b/RWT_Cache/Textures/19/ag422686x218721.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422686x218721.jpg differ diff --git a/RWT_Cache/Textures/19/ag422686x218722.jpg b/RWT_Cache/Textures/19/ag422686x218722.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/19/ag422686x218722.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422656x218695.jpg b/RWT_Cache/Textures/19/mbs422656x218695.jpg new file mode 100644 index 000000000..894c38563 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422656x218695.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422656x218696.jpg b/RWT_Cache/Textures/19/mbs422656x218696.jpg new file mode 100644 index 000000000..16b9523cb Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422656x218696.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422656x218697.jpg b/RWT_Cache/Textures/19/mbs422656x218697.jpg new file mode 100644 index 000000000..75ca3d96b Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422656x218697.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422656x218698.jpg b/RWT_Cache/Textures/19/mbs422656x218698.jpg new file mode 100644 index 000000000..535bb23ba Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422656x218698.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422656x218699.jpg b/RWT_Cache/Textures/19/mbs422656x218699.jpg new file mode 100644 index 000000000..6ebeecddc Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422656x218699.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422656x218700.jpg b/RWT_Cache/Textures/19/mbs422656x218700.jpg new file mode 100644 index 000000000..819ecfa25 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422656x218700.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422656x218701.jpg b/RWT_Cache/Textures/19/mbs422656x218701.jpg new file mode 100644 index 000000000..a79c6d753 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422656x218701.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422656x218702.jpg b/RWT_Cache/Textures/19/mbs422656x218702.jpg new file mode 100644 index 000000000..298fb0596 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422656x218702.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422656x218703.jpg b/RWT_Cache/Textures/19/mbs422656x218703.jpg new file mode 100644 index 000000000..1b944bdd9 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422656x218703.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422656x218704.jpg b/RWT_Cache/Textures/19/mbs422656x218704.jpg new file mode 100644 index 000000000..004862c4b Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422656x218704.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422656x218705.jpg b/RWT_Cache/Textures/19/mbs422656x218705.jpg new file mode 100644 index 000000000..6314e2030 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422656x218705.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422656x218706.jpg b/RWT_Cache/Textures/19/mbs422656x218706.jpg new file mode 100644 index 000000000..2c53e7de0 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422656x218706.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422656x218707.jpg b/RWT_Cache/Textures/19/mbs422656x218707.jpg new file mode 100644 index 000000000..93e43a244 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422656x218707.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422656x218708.jpg b/RWT_Cache/Textures/19/mbs422656x218708.jpg new file mode 100644 index 000000000..533856f02 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422656x218708.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422656x218709.jpg b/RWT_Cache/Textures/19/mbs422656x218709.jpg new file mode 100644 index 000000000..6494e3054 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422656x218709.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422656x218710.jpg b/RWT_Cache/Textures/19/mbs422656x218710.jpg new file mode 100644 index 000000000..ae1270e03 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422656x218710.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422656x218711.jpg b/RWT_Cache/Textures/19/mbs422656x218711.jpg new file mode 100644 index 000000000..a28480fe0 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422656x218711.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422656x218712.jpg b/RWT_Cache/Textures/19/mbs422656x218712.jpg new file mode 100644 index 000000000..a87472454 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422656x218712.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422656x218713.jpg b/RWT_Cache/Textures/19/mbs422656x218713.jpg new file mode 100644 index 000000000..498658ea7 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422656x218713.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422656x218714.jpg b/RWT_Cache/Textures/19/mbs422656x218714.jpg new file mode 100644 index 000000000..ef6ccabd6 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422656x218714.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422656x218715.jpg b/RWT_Cache/Textures/19/mbs422656x218715.jpg new file mode 100644 index 000000000..c09eb680e Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422656x218715.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422656x218716.jpg b/RWT_Cache/Textures/19/mbs422656x218716.jpg new file mode 100644 index 000000000..44bc59e20 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422656x218716.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422656x218717.jpg b/RWT_Cache/Textures/19/mbs422656x218717.jpg new file mode 100644 index 000000000..fadd27622 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422656x218717.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422656x218718.jpg b/RWT_Cache/Textures/19/mbs422656x218718.jpg new file mode 100644 index 000000000..3c97f2263 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422656x218718.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422656x218719.jpg b/RWT_Cache/Textures/19/mbs422656x218719.jpg new file mode 100644 index 000000000..59372c84e Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422656x218719.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422656x218720.jpg b/RWT_Cache/Textures/19/mbs422656x218720.jpg new file mode 100644 index 000000000..566232cc4 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422656x218720.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422656x218721.jpg b/RWT_Cache/Textures/19/mbs422656x218721.jpg new file mode 100644 index 000000000..a03821ae5 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422656x218721.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422656x218722.jpg b/RWT_Cache/Textures/19/mbs422656x218722.jpg new file mode 100644 index 000000000..a03821ae5 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422656x218722.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422657x218695.jpg b/RWT_Cache/Textures/19/mbs422657x218695.jpg new file mode 100644 index 000000000..04274fba7 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422657x218695.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422657x218696.jpg b/RWT_Cache/Textures/19/mbs422657x218696.jpg new file mode 100644 index 000000000..4973287ab Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422657x218696.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422657x218697.jpg b/RWT_Cache/Textures/19/mbs422657x218697.jpg new file mode 100644 index 000000000..03f9107da Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422657x218697.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422657x218698.jpg b/RWT_Cache/Textures/19/mbs422657x218698.jpg new file mode 100644 index 000000000..40199e360 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422657x218698.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422657x218699.jpg b/RWT_Cache/Textures/19/mbs422657x218699.jpg new file mode 100644 index 000000000..38fb127d5 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422657x218699.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422657x218700.jpg b/RWT_Cache/Textures/19/mbs422657x218700.jpg new file mode 100644 index 000000000..4d62d0f37 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422657x218700.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422657x218701.jpg b/RWT_Cache/Textures/19/mbs422657x218701.jpg new file mode 100644 index 000000000..d4d91aa6e Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422657x218701.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422657x218702.jpg b/RWT_Cache/Textures/19/mbs422657x218702.jpg new file mode 100644 index 000000000..e0238d9be Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422657x218702.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422657x218703.jpg b/RWT_Cache/Textures/19/mbs422657x218703.jpg new file mode 100644 index 000000000..095206506 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422657x218703.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422657x218704.jpg b/RWT_Cache/Textures/19/mbs422657x218704.jpg new file mode 100644 index 000000000..627ecb49e Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422657x218704.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422657x218705.jpg b/RWT_Cache/Textures/19/mbs422657x218705.jpg new file mode 100644 index 000000000..b67bf875b Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422657x218705.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422657x218706.jpg b/RWT_Cache/Textures/19/mbs422657x218706.jpg new file mode 100644 index 000000000..a86d1ec7e Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422657x218706.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422657x218707.jpg b/RWT_Cache/Textures/19/mbs422657x218707.jpg new file mode 100644 index 000000000..29bc5effd Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422657x218707.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422657x218708.jpg b/RWT_Cache/Textures/19/mbs422657x218708.jpg new file mode 100644 index 000000000..7fdf1891f Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422657x218708.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422657x218709.jpg b/RWT_Cache/Textures/19/mbs422657x218709.jpg new file mode 100644 index 000000000..9cb752509 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422657x218709.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422657x218710.jpg b/RWT_Cache/Textures/19/mbs422657x218710.jpg new file mode 100644 index 000000000..750d88ffc Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422657x218710.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422657x218711.jpg b/RWT_Cache/Textures/19/mbs422657x218711.jpg new file mode 100644 index 000000000..f2c6c5646 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422657x218711.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422657x218712.jpg b/RWT_Cache/Textures/19/mbs422657x218712.jpg new file mode 100644 index 000000000..fd69994aa Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422657x218712.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422657x218713.jpg b/RWT_Cache/Textures/19/mbs422657x218713.jpg new file mode 100644 index 000000000..95d7dcd20 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422657x218713.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422657x218714.jpg b/RWT_Cache/Textures/19/mbs422657x218714.jpg new file mode 100644 index 000000000..06f00c706 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422657x218714.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422657x218715.jpg b/RWT_Cache/Textures/19/mbs422657x218715.jpg new file mode 100644 index 000000000..18607ec54 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422657x218715.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422657x218716.jpg b/RWT_Cache/Textures/19/mbs422657x218716.jpg new file mode 100644 index 000000000..04241f916 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422657x218716.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422657x218717.jpg b/RWT_Cache/Textures/19/mbs422657x218717.jpg new file mode 100644 index 000000000..572b16fce Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422657x218717.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422657x218718.jpg b/RWT_Cache/Textures/19/mbs422657x218718.jpg new file mode 100644 index 000000000..1128f4c5f Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422657x218718.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422657x218719.jpg b/RWT_Cache/Textures/19/mbs422657x218719.jpg new file mode 100644 index 000000000..a038f367d Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422657x218719.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422657x218720.jpg b/RWT_Cache/Textures/19/mbs422657x218720.jpg new file mode 100644 index 000000000..ded0c1dcc Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422657x218720.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422657x218721.jpg b/RWT_Cache/Textures/19/mbs422657x218721.jpg new file mode 100644 index 000000000..1cef090be Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422657x218721.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422657x218722.jpg b/RWT_Cache/Textures/19/mbs422657x218722.jpg new file mode 100644 index 000000000..1cef090be Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422657x218722.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422658x218695.jpg b/RWT_Cache/Textures/19/mbs422658x218695.jpg new file mode 100644 index 000000000..153ca684c Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422658x218695.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422658x218696.jpg b/RWT_Cache/Textures/19/mbs422658x218696.jpg new file mode 100644 index 000000000..e2caf5f61 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422658x218696.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422658x218697.jpg b/RWT_Cache/Textures/19/mbs422658x218697.jpg new file mode 100644 index 000000000..d45cad470 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422658x218697.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422658x218698.jpg b/RWT_Cache/Textures/19/mbs422658x218698.jpg new file mode 100644 index 000000000..fd758635e Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422658x218698.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422658x218699.jpg b/RWT_Cache/Textures/19/mbs422658x218699.jpg new file mode 100644 index 000000000..0d419733a Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422658x218699.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422658x218700.jpg b/RWT_Cache/Textures/19/mbs422658x218700.jpg new file mode 100644 index 000000000..144c9bf8a Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422658x218700.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422658x218701.jpg b/RWT_Cache/Textures/19/mbs422658x218701.jpg new file mode 100644 index 000000000..ca0eefccd Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422658x218701.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422658x218702.jpg b/RWT_Cache/Textures/19/mbs422658x218702.jpg new file mode 100644 index 000000000..7cbe5df05 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422658x218702.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422658x218703.jpg b/RWT_Cache/Textures/19/mbs422658x218703.jpg new file mode 100644 index 000000000..d9f90bc42 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422658x218703.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422658x218704.jpg b/RWT_Cache/Textures/19/mbs422658x218704.jpg new file mode 100644 index 000000000..ee41274db Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422658x218704.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422658x218705.jpg b/RWT_Cache/Textures/19/mbs422658x218705.jpg new file mode 100644 index 000000000..531fe6de5 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422658x218705.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422658x218706.jpg b/RWT_Cache/Textures/19/mbs422658x218706.jpg new file mode 100644 index 000000000..880dcb1e5 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422658x218706.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422658x218707.jpg b/RWT_Cache/Textures/19/mbs422658x218707.jpg new file mode 100644 index 000000000..84b470884 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422658x218707.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422658x218708.jpg b/RWT_Cache/Textures/19/mbs422658x218708.jpg new file mode 100644 index 000000000..d9383d13a Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422658x218708.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422658x218709.jpg b/RWT_Cache/Textures/19/mbs422658x218709.jpg new file mode 100644 index 000000000..787a3f4f5 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422658x218709.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422658x218710.jpg b/RWT_Cache/Textures/19/mbs422658x218710.jpg new file mode 100644 index 000000000..d0a694e7e Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422658x218710.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422658x218711.jpg b/RWT_Cache/Textures/19/mbs422658x218711.jpg new file mode 100644 index 000000000..a0bb43130 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422658x218711.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422658x218712.jpg b/RWT_Cache/Textures/19/mbs422658x218712.jpg new file mode 100644 index 000000000..7c1cf900d Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422658x218712.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422658x218713.jpg b/RWT_Cache/Textures/19/mbs422658x218713.jpg new file mode 100644 index 000000000..08f7f7e6a Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422658x218713.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422658x218714.jpg b/RWT_Cache/Textures/19/mbs422658x218714.jpg new file mode 100644 index 000000000..a80f1e6aa Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422658x218714.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422658x218715.jpg b/RWT_Cache/Textures/19/mbs422658x218715.jpg new file mode 100644 index 000000000..bfee80efd Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422658x218715.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422658x218716.jpg b/RWT_Cache/Textures/19/mbs422658x218716.jpg new file mode 100644 index 000000000..f1355894a Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422658x218716.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422658x218717.jpg b/RWT_Cache/Textures/19/mbs422658x218717.jpg new file mode 100644 index 000000000..e3d805a1c Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422658x218717.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422658x218718.jpg b/RWT_Cache/Textures/19/mbs422658x218718.jpg new file mode 100644 index 000000000..fd3021aeb Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422658x218718.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422658x218719.jpg b/RWT_Cache/Textures/19/mbs422658x218719.jpg new file mode 100644 index 000000000..57d72fea4 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422658x218719.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422658x218720.jpg b/RWT_Cache/Textures/19/mbs422658x218720.jpg new file mode 100644 index 000000000..164635a33 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422658x218720.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422658x218721.jpg b/RWT_Cache/Textures/19/mbs422658x218721.jpg new file mode 100644 index 000000000..f4fc4c8c0 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422658x218721.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422658x218722.jpg b/RWT_Cache/Textures/19/mbs422658x218722.jpg new file mode 100644 index 000000000..a860d3fb2 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422658x218722.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422658x218723.jpg b/RWT_Cache/Textures/19/mbs422658x218723.jpg new file mode 100644 index 000000000..58bfab47a Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422658x218723.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422659x218695.jpg b/RWT_Cache/Textures/19/mbs422659x218695.jpg new file mode 100644 index 000000000..a860d3fb2 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422659x218695.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422659x218696.jpg b/RWT_Cache/Textures/19/mbs422659x218696.jpg new file mode 100644 index 000000000..bd5f7157c Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422659x218696.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422659x218697.jpg b/RWT_Cache/Textures/19/mbs422659x218697.jpg new file mode 100644 index 000000000..8d5b3d3a4 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422659x218697.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422659x218698.jpg b/RWT_Cache/Textures/19/mbs422659x218698.jpg new file mode 100644 index 000000000..414221e1e Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422659x218698.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422659x218699.jpg b/RWT_Cache/Textures/19/mbs422659x218699.jpg new file mode 100644 index 000000000..cd242bbc5 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422659x218699.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422659x218700.jpg b/RWT_Cache/Textures/19/mbs422659x218700.jpg new file mode 100644 index 000000000..cc6127bc3 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422659x218700.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422659x218701.jpg b/RWT_Cache/Textures/19/mbs422659x218701.jpg new file mode 100644 index 000000000..cd207e09d Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422659x218701.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422659x218702.jpg b/RWT_Cache/Textures/19/mbs422659x218702.jpg new file mode 100644 index 000000000..83e105b68 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422659x218702.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422659x218703.jpg b/RWT_Cache/Textures/19/mbs422659x218703.jpg new file mode 100644 index 000000000..eb3ad9c09 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422659x218703.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422659x218704.jpg b/RWT_Cache/Textures/19/mbs422659x218704.jpg new file mode 100644 index 000000000..788482c98 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422659x218704.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422659x218705.jpg b/RWT_Cache/Textures/19/mbs422659x218705.jpg new file mode 100644 index 000000000..2aeface0b Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422659x218705.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422659x218706.jpg b/RWT_Cache/Textures/19/mbs422659x218706.jpg new file mode 100644 index 000000000..977904997 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422659x218706.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422659x218707.jpg b/RWT_Cache/Textures/19/mbs422659x218707.jpg new file mode 100644 index 000000000..413d43bc4 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422659x218707.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422659x218708.jpg b/RWT_Cache/Textures/19/mbs422659x218708.jpg new file mode 100644 index 000000000..303257ead Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422659x218708.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422659x218709.jpg b/RWT_Cache/Textures/19/mbs422659x218709.jpg new file mode 100644 index 000000000..86ee9e77b Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422659x218709.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422659x218710.jpg b/RWT_Cache/Textures/19/mbs422659x218710.jpg new file mode 100644 index 000000000..5042fa50f Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422659x218710.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422659x218711.jpg b/RWT_Cache/Textures/19/mbs422659x218711.jpg new file mode 100644 index 000000000..756f56612 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422659x218711.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422659x218712.jpg b/RWT_Cache/Textures/19/mbs422659x218712.jpg new file mode 100644 index 000000000..862255e02 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422659x218712.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422659x218713.jpg b/RWT_Cache/Textures/19/mbs422659x218713.jpg new file mode 100644 index 000000000..a5c8e195e Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422659x218713.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422659x218714.jpg b/RWT_Cache/Textures/19/mbs422659x218714.jpg new file mode 100644 index 000000000..8a81f69fc Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422659x218714.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422659x218715.jpg b/RWT_Cache/Textures/19/mbs422659x218715.jpg new file mode 100644 index 000000000..a7ef01415 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422659x218715.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422659x218716.jpg b/RWT_Cache/Textures/19/mbs422659x218716.jpg new file mode 100644 index 000000000..7d06b8383 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422659x218716.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422659x218717.jpg b/RWT_Cache/Textures/19/mbs422659x218717.jpg new file mode 100644 index 000000000..0c090ae78 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422659x218717.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422659x218718.jpg b/RWT_Cache/Textures/19/mbs422659x218718.jpg new file mode 100644 index 000000000..50e2b2fa5 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422659x218718.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422659x218719.jpg b/RWT_Cache/Textures/19/mbs422659x218719.jpg new file mode 100644 index 000000000..a64f09a7b Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422659x218719.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422659x218720.jpg b/RWT_Cache/Textures/19/mbs422659x218720.jpg new file mode 100644 index 000000000..296459fdf Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422659x218720.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422659x218721.jpg b/RWT_Cache/Textures/19/mbs422659x218721.jpg new file mode 100644 index 000000000..c8aed5591 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422659x218721.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422659x218722.jpg b/RWT_Cache/Textures/19/mbs422659x218722.jpg new file mode 100644 index 000000000..8adf2a8a0 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422659x218722.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422659x218723.jpg b/RWT_Cache/Textures/19/mbs422659x218723.jpg new file mode 100644 index 000000000..8ca269f30 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422659x218723.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422660x218695.jpg b/RWT_Cache/Textures/19/mbs422660x218695.jpg new file mode 100644 index 000000000..e88827f82 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422660x218695.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422660x218696.jpg b/RWT_Cache/Textures/19/mbs422660x218696.jpg new file mode 100644 index 000000000..91c5d0af7 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422660x218696.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422660x218697.jpg b/RWT_Cache/Textures/19/mbs422660x218697.jpg new file mode 100644 index 000000000..a292538b9 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422660x218697.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422660x218698.jpg b/RWT_Cache/Textures/19/mbs422660x218698.jpg new file mode 100644 index 000000000..6e087790b Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422660x218698.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422660x218699.jpg b/RWT_Cache/Textures/19/mbs422660x218699.jpg new file mode 100644 index 000000000..70f73526e Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422660x218699.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422660x218700.jpg b/RWT_Cache/Textures/19/mbs422660x218700.jpg new file mode 100644 index 000000000..4e9a7e83a Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422660x218700.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422660x218701.jpg b/RWT_Cache/Textures/19/mbs422660x218701.jpg new file mode 100644 index 000000000..a8ee0ea79 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422660x218701.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422660x218702.jpg b/RWT_Cache/Textures/19/mbs422660x218702.jpg new file mode 100644 index 000000000..27a4b1ea5 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422660x218702.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422660x218703.jpg b/RWT_Cache/Textures/19/mbs422660x218703.jpg new file mode 100644 index 000000000..2ce22ee14 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422660x218703.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422660x218704.jpg b/RWT_Cache/Textures/19/mbs422660x218704.jpg new file mode 100644 index 000000000..f68f9ec09 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422660x218704.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422660x218705.jpg b/RWT_Cache/Textures/19/mbs422660x218705.jpg new file mode 100644 index 000000000..884a49f60 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422660x218705.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422660x218706.jpg b/RWT_Cache/Textures/19/mbs422660x218706.jpg new file mode 100644 index 000000000..be032e373 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422660x218706.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422660x218707.jpg b/RWT_Cache/Textures/19/mbs422660x218707.jpg new file mode 100644 index 000000000..c41ea8285 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422660x218707.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422660x218708.jpg b/RWT_Cache/Textures/19/mbs422660x218708.jpg new file mode 100644 index 000000000..fa0e43ba4 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422660x218708.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422660x218709.jpg b/RWT_Cache/Textures/19/mbs422660x218709.jpg new file mode 100644 index 000000000..f60d63f54 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422660x218709.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422660x218710.jpg b/RWT_Cache/Textures/19/mbs422660x218710.jpg new file mode 100644 index 000000000..7b349d083 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422660x218710.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422660x218711.jpg b/RWT_Cache/Textures/19/mbs422660x218711.jpg new file mode 100644 index 000000000..5cb3c3ce6 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422660x218711.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422660x218712.jpg b/RWT_Cache/Textures/19/mbs422660x218712.jpg new file mode 100644 index 000000000..60c62c3e3 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422660x218712.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422660x218713.jpg b/RWT_Cache/Textures/19/mbs422660x218713.jpg new file mode 100644 index 000000000..ae1f4d65b Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422660x218713.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422660x218714.jpg b/RWT_Cache/Textures/19/mbs422660x218714.jpg new file mode 100644 index 000000000..f48c27314 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422660x218714.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422660x218715.jpg b/RWT_Cache/Textures/19/mbs422660x218715.jpg new file mode 100644 index 000000000..c71dc33f5 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422660x218715.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422660x218716.jpg b/RWT_Cache/Textures/19/mbs422660x218716.jpg new file mode 100644 index 000000000..96e08c582 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422660x218716.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422660x218717.jpg b/RWT_Cache/Textures/19/mbs422660x218717.jpg new file mode 100644 index 000000000..a01129d0c Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422660x218717.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422660x218718.jpg b/RWT_Cache/Textures/19/mbs422660x218718.jpg new file mode 100644 index 000000000..a03cc8fb3 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422660x218718.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422660x218719.jpg b/RWT_Cache/Textures/19/mbs422660x218719.jpg new file mode 100644 index 000000000..da3e88fad Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422660x218719.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422660x218720.jpg b/RWT_Cache/Textures/19/mbs422660x218720.jpg new file mode 100644 index 000000000..92012220f Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422660x218720.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422660x218721.jpg b/RWT_Cache/Textures/19/mbs422660x218721.jpg new file mode 100644 index 000000000..2c2a36b42 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422660x218721.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422660x218722.jpg b/RWT_Cache/Textures/19/mbs422660x218722.jpg new file mode 100644 index 000000000..cb72cee94 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422660x218722.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422660x218723.jpg b/RWT_Cache/Textures/19/mbs422660x218723.jpg new file mode 100644 index 000000000..5df3a7438 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422660x218723.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422661x218695.jpg b/RWT_Cache/Textures/19/mbs422661x218695.jpg new file mode 100644 index 000000000..736685b46 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422661x218695.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422661x218696.jpg b/RWT_Cache/Textures/19/mbs422661x218696.jpg new file mode 100644 index 000000000..b4cb9ca8e Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422661x218696.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422661x218697.jpg b/RWT_Cache/Textures/19/mbs422661x218697.jpg new file mode 100644 index 000000000..e6b1457a4 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422661x218697.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422661x218698.jpg b/RWT_Cache/Textures/19/mbs422661x218698.jpg new file mode 100644 index 000000000..0c1b1f756 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422661x218698.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422661x218699.jpg b/RWT_Cache/Textures/19/mbs422661x218699.jpg new file mode 100644 index 000000000..f4d5a25af Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422661x218699.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422661x218700.jpg b/RWT_Cache/Textures/19/mbs422661x218700.jpg new file mode 100644 index 000000000..7faed9c27 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422661x218700.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422661x218701.jpg b/RWT_Cache/Textures/19/mbs422661x218701.jpg new file mode 100644 index 000000000..d2fc32a1f Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422661x218701.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422661x218702.jpg b/RWT_Cache/Textures/19/mbs422661x218702.jpg new file mode 100644 index 000000000..2943c14e6 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422661x218702.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422661x218703.jpg b/RWT_Cache/Textures/19/mbs422661x218703.jpg new file mode 100644 index 000000000..ef910605e Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422661x218703.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422661x218704.jpg b/RWT_Cache/Textures/19/mbs422661x218704.jpg new file mode 100644 index 000000000..2e318a626 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422661x218704.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422661x218705.jpg b/RWT_Cache/Textures/19/mbs422661x218705.jpg new file mode 100644 index 000000000..fc125eefa Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422661x218705.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422661x218706.jpg b/RWT_Cache/Textures/19/mbs422661x218706.jpg new file mode 100644 index 000000000..bcd52ef8a Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422661x218706.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422661x218707.jpg b/RWT_Cache/Textures/19/mbs422661x218707.jpg new file mode 100644 index 000000000..404ea7bd3 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422661x218707.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422661x218708.jpg b/RWT_Cache/Textures/19/mbs422661x218708.jpg new file mode 100644 index 000000000..014fe647e Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422661x218708.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422661x218709.jpg b/RWT_Cache/Textures/19/mbs422661x218709.jpg new file mode 100644 index 000000000..b0cedc9da Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422661x218709.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422661x218710.jpg b/RWT_Cache/Textures/19/mbs422661x218710.jpg new file mode 100644 index 000000000..14ab4636d Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422661x218710.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422661x218711.jpg b/RWT_Cache/Textures/19/mbs422661x218711.jpg new file mode 100644 index 000000000..f2f3c2392 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422661x218711.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422661x218712.jpg b/RWT_Cache/Textures/19/mbs422661x218712.jpg new file mode 100644 index 000000000..de789c457 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422661x218712.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422661x218713.jpg b/RWT_Cache/Textures/19/mbs422661x218713.jpg new file mode 100644 index 000000000..7f7e65d8a Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422661x218713.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422661x218714.jpg b/RWT_Cache/Textures/19/mbs422661x218714.jpg new file mode 100644 index 000000000..969946817 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422661x218714.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422661x218715.jpg b/RWT_Cache/Textures/19/mbs422661x218715.jpg new file mode 100644 index 000000000..2f5499bef Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422661x218715.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422661x218716.jpg b/RWT_Cache/Textures/19/mbs422661x218716.jpg new file mode 100644 index 000000000..1ba947c61 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422661x218716.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422661x218717.jpg b/RWT_Cache/Textures/19/mbs422661x218717.jpg new file mode 100644 index 000000000..55a4aff1c Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422661x218717.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422661x218718.jpg b/RWT_Cache/Textures/19/mbs422661x218718.jpg new file mode 100644 index 000000000..8b383ccb5 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422661x218718.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422661x218719.jpg b/RWT_Cache/Textures/19/mbs422661x218719.jpg new file mode 100644 index 000000000..948e0fc0c Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422661x218719.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422661x218720.jpg b/RWT_Cache/Textures/19/mbs422661x218720.jpg new file mode 100644 index 000000000..b167dfee4 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422661x218720.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422661x218721.jpg b/RWT_Cache/Textures/19/mbs422661x218721.jpg new file mode 100644 index 000000000..5f2f9d391 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422661x218721.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422661x218722.jpg b/RWT_Cache/Textures/19/mbs422661x218722.jpg new file mode 100644 index 000000000..ad74ad725 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422661x218722.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422661x218723.jpg b/RWT_Cache/Textures/19/mbs422661x218723.jpg new file mode 100644 index 000000000..64fc929b9 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422661x218723.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422662x218695.jpg b/RWT_Cache/Textures/19/mbs422662x218695.jpg new file mode 100644 index 000000000..9b62c4bd9 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422662x218695.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422662x218696.jpg b/RWT_Cache/Textures/19/mbs422662x218696.jpg new file mode 100644 index 000000000..f11eda015 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422662x218696.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422662x218697.jpg b/RWT_Cache/Textures/19/mbs422662x218697.jpg new file mode 100644 index 000000000..2c171b3e1 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422662x218697.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422662x218698.jpg b/RWT_Cache/Textures/19/mbs422662x218698.jpg new file mode 100644 index 000000000..dd0802303 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422662x218698.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422662x218699.jpg b/RWT_Cache/Textures/19/mbs422662x218699.jpg new file mode 100644 index 000000000..9a8dcf8d5 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422662x218699.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422662x218700.jpg b/RWT_Cache/Textures/19/mbs422662x218700.jpg new file mode 100644 index 000000000..996f21a78 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422662x218700.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422662x218701.jpg b/RWT_Cache/Textures/19/mbs422662x218701.jpg new file mode 100644 index 000000000..2ee8ecd57 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422662x218701.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422662x218702.jpg b/RWT_Cache/Textures/19/mbs422662x218702.jpg new file mode 100644 index 000000000..9dbc50396 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422662x218702.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422662x218703.jpg b/RWT_Cache/Textures/19/mbs422662x218703.jpg new file mode 100644 index 000000000..8ec5c184c Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422662x218703.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422662x218704.jpg b/RWT_Cache/Textures/19/mbs422662x218704.jpg new file mode 100644 index 000000000..fca1bb5f7 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422662x218704.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422662x218705.jpg b/RWT_Cache/Textures/19/mbs422662x218705.jpg new file mode 100644 index 000000000..3cbdb8738 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422662x218705.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422662x218706.jpg b/RWT_Cache/Textures/19/mbs422662x218706.jpg new file mode 100644 index 000000000..a26906990 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422662x218706.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422662x218707.jpg b/RWT_Cache/Textures/19/mbs422662x218707.jpg new file mode 100644 index 000000000..971c3fda6 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422662x218707.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422662x218708.jpg b/RWT_Cache/Textures/19/mbs422662x218708.jpg new file mode 100644 index 000000000..207f2b63c Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422662x218708.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422662x218709.jpg b/RWT_Cache/Textures/19/mbs422662x218709.jpg new file mode 100644 index 000000000..dc65af792 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422662x218709.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422662x218710.jpg b/RWT_Cache/Textures/19/mbs422662x218710.jpg new file mode 100644 index 000000000..5307a3205 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422662x218710.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422662x218711.jpg b/RWT_Cache/Textures/19/mbs422662x218711.jpg new file mode 100644 index 000000000..75748d617 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422662x218711.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422662x218712.jpg b/RWT_Cache/Textures/19/mbs422662x218712.jpg new file mode 100644 index 000000000..69fccbd70 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422662x218712.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422662x218713.jpg b/RWT_Cache/Textures/19/mbs422662x218713.jpg new file mode 100644 index 000000000..e4fb58606 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422662x218713.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422662x218714.jpg b/RWT_Cache/Textures/19/mbs422662x218714.jpg new file mode 100644 index 000000000..aeeece306 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422662x218714.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422662x218715.jpg b/RWT_Cache/Textures/19/mbs422662x218715.jpg new file mode 100644 index 000000000..b34b292c8 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422662x218715.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422662x218716.jpg b/RWT_Cache/Textures/19/mbs422662x218716.jpg new file mode 100644 index 000000000..843b48da3 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422662x218716.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422662x218717.jpg b/RWT_Cache/Textures/19/mbs422662x218717.jpg new file mode 100644 index 000000000..d6d892cc2 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422662x218717.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422662x218718.jpg b/RWT_Cache/Textures/19/mbs422662x218718.jpg new file mode 100644 index 000000000..02c7ca111 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422662x218718.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422662x218719.jpg b/RWT_Cache/Textures/19/mbs422662x218719.jpg new file mode 100644 index 000000000..357056270 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422662x218719.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422662x218720.jpg b/RWT_Cache/Textures/19/mbs422662x218720.jpg new file mode 100644 index 000000000..7e8707bd5 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422662x218720.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422662x218721.jpg b/RWT_Cache/Textures/19/mbs422662x218721.jpg new file mode 100644 index 000000000..c24a72c88 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422662x218721.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422662x218722.jpg b/RWT_Cache/Textures/19/mbs422662x218722.jpg new file mode 100644 index 000000000..a2cafbd93 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422662x218722.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422662x218723.jpg b/RWT_Cache/Textures/19/mbs422662x218723.jpg new file mode 100644 index 000000000..69a888a34 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422662x218723.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422663x218695.jpg b/RWT_Cache/Textures/19/mbs422663x218695.jpg new file mode 100644 index 000000000..a89e98534 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422663x218695.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422663x218696.jpg b/RWT_Cache/Textures/19/mbs422663x218696.jpg new file mode 100644 index 000000000..e261e4873 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422663x218696.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422663x218697.jpg b/RWT_Cache/Textures/19/mbs422663x218697.jpg new file mode 100644 index 000000000..98ceb6f35 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422663x218697.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422663x218698.jpg b/RWT_Cache/Textures/19/mbs422663x218698.jpg new file mode 100644 index 000000000..c31d5eac3 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422663x218698.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422663x218699.jpg b/RWT_Cache/Textures/19/mbs422663x218699.jpg new file mode 100644 index 000000000..056c4ba16 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422663x218699.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422663x218700.jpg b/RWT_Cache/Textures/19/mbs422663x218700.jpg new file mode 100644 index 000000000..6253347d5 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422663x218700.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422663x218701.jpg b/RWT_Cache/Textures/19/mbs422663x218701.jpg new file mode 100644 index 000000000..eeccc9641 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422663x218701.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422663x218702.jpg b/RWT_Cache/Textures/19/mbs422663x218702.jpg new file mode 100644 index 000000000..f3e13da0b Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422663x218702.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422663x218703.jpg b/RWT_Cache/Textures/19/mbs422663x218703.jpg new file mode 100644 index 000000000..609726936 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422663x218703.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422663x218704.jpg b/RWT_Cache/Textures/19/mbs422663x218704.jpg new file mode 100644 index 000000000..e0c518422 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422663x218704.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422663x218705.jpg b/RWT_Cache/Textures/19/mbs422663x218705.jpg new file mode 100644 index 000000000..234882779 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422663x218705.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422663x218706.jpg b/RWT_Cache/Textures/19/mbs422663x218706.jpg new file mode 100644 index 000000000..6cc3e210a Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422663x218706.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422663x218707.jpg b/RWT_Cache/Textures/19/mbs422663x218707.jpg new file mode 100644 index 000000000..2de5aec69 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422663x218707.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422663x218708.jpg b/RWT_Cache/Textures/19/mbs422663x218708.jpg new file mode 100644 index 000000000..c8c104929 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422663x218708.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422663x218709.jpg b/RWT_Cache/Textures/19/mbs422663x218709.jpg new file mode 100644 index 000000000..6387f66bc Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422663x218709.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422663x218710.jpg b/RWT_Cache/Textures/19/mbs422663x218710.jpg new file mode 100644 index 000000000..648a79cb2 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422663x218710.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422663x218711.jpg b/RWT_Cache/Textures/19/mbs422663x218711.jpg new file mode 100644 index 000000000..ee06519cd Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422663x218711.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422663x218712.jpg b/RWT_Cache/Textures/19/mbs422663x218712.jpg new file mode 100644 index 000000000..b85bdd2c4 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422663x218712.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422663x218713.jpg b/RWT_Cache/Textures/19/mbs422663x218713.jpg new file mode 100644 index 000000000..a4be2b538 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422663x218713.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422663x218714.jpg b/RWT_Cache/Textures/19/mbs422663x218714.jpg new file mode 100644 index 000000000..e3797070b Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422663x218714.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422663x218715.jpg b/RWT_Cache/Textures/19/mbs422663x218715.jpg new file mode 100644 index 000000000..77696ca73 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422663x218715.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422663x218716.jpg b/RWT_Cache/Textures/19/mbs422663x218716.jpg new file mode 100644 index 000000000..73544f28f Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422663x218716.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422663x218717.jpg b/RWT_Cache/Textures/19/mbs422663x218717.jpg new file mode 100644 index 000000000..a8b69c0bb Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422663x218717.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422663x218718.jpg b/RWT_Cache/Textures/19/mbs422663x218718.jpg new file mode 100644 index 000000000..b3c07c981 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422663x218718.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422663x218719.jpg b/RWT_Cache/Textures/19/mbs422663x218719.jpg new file mode 100644 index 000000000..d47ec6c9f Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422663x218719.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422663x218720.jpg b/RWT_Cache/Textures/19/mbs422663x218720.jpg new file mode 100644 index 000000000..999d9e294 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422663x218720.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422663x218721.jpg b/RWT_Cache/Textures/19/mbs422663x218721.jpg new file mode 100644 index 000000000..7f81bca25 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422663x218721.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422663x218722.jpg b/RWT_Cache/Textures/19/mbs422663x218722.jpg new file mode 100644 index 000000000..23a078be3 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422663x218722.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422663x218723.jpg b/RWT_Cache/Textures/19/mbs422663x218723.jpg new file mode 100644 index 000000000..be64f319b Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422663x218723.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422664x218695.jpg b/RWT_Cache/Textures/19/mbs422664x218695.jpg new file mode 100644 index 000000000..14b6d0713 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422664x218695.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422664x218696.jpg b/RWT_Cache/Textures/19/mbs422664x218696.jpg new file mode 100644 index 000000000..7ec71efee Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422664x218696.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422664x218697.jpg b/RWT_Cache/Textures/19/mbs422664x218697.jpg new file mode 100644 index 000000000..bcc584993 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422664x218697.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422664x218698.jpg b/RWT_Cache/Textures/19/mbs422664x218698.jpg new file mode 100644 index 000000000..762749aa7 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422664x218698.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422664x218699.jpg b/RWT_Cache/Textures/19/mbs422664x218699.jpg new file mode 100644 index 000000000..1c921d7c2 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422664x218699.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422664x218700.jpg b/RWT_Cache/Textures/19/mbs422664x218700.jpg new file mode 100644 index 000000000..887189718 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422664x218700.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422664x218701.jpg b/RWT_Cache/Textures/19/mbs422664x218701.jpg new file mode 100644 index 000000000..1e41363ec Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422664x218701.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422664x218702.jpg b/RWT_Cache/Textures/19/mbs422664x218702.jpg new file mode 100644 index 000000000..2227ae387 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422664x218702.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422664x218703.jpg b/RWT_Cache/Textures/19/mbs422664x218703.jpg new file mode 100644 index 000000000..bf4f68095 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422664x218703.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422664x218704.jpg b/RWT_Cache/Textures/19/mbs422664x218704.jpg new file mode 100644 index 000000000..87297ac33 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422664x218704.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422664x218705.jpg b/RWT_Cache/Textures/19/mbs422664x218705.jpg new file mode 100644 index 000000000..5fc65411e Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422664x218705.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422664x218706.jpg b/RWT_Cache/Textures/19/mbs422664x218706.jpg new file mode 100644 index 000000000..b41a66a30 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422664x218706.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422664x218707.jpg b/RWT_Cache/Textures/19/mbs422664x218707.jpg new file mode 100644 index 000000000..b34f54fca Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422664x218707.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422664x218708.jpg b/RWT_Cache/Textures/19/mbs422664x218708.jpg new file mode 100644 index 000000000..f503ae1ca Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422664x218708.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422664x218709.jpg b/RWT_Cache/Textures/19/mbs422664x218709.jpg new file mode 100644 index 000000000..89746a44b Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422664x218709.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422664x218710.jpg b/RWT_Cache/Textures/19/mbs422664x218710.jpg new file mode 100644 index 000000000..3a31a2c31 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422664x218710.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422664x218711.jpg b/RWT_Cache/Textures/19/mbs422664x218711.jpg new file mode 100644 index 000000000..5d6b597a5 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422664x218711.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422664x218712.jpg b/RWT_Cache/Textures/19/mbs422664x218712.jpg new file mode 100644 index 000000000..496cee187 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422664x218712.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422664x218713.jpg b/RWT_Cache/Textures/19/mbs422664x218713.jpg new file mode 100644 index 000000000..1bb51bb6e Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422664x218713.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422664x218714.jpg b/RWT_Cache/Textures/19/mbs422664x218714.jpg new file mode 100644 index 000000000..72bf8792b Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422664x218714.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422664x218715.jpg b/RWT_Cache/Textures/19/mbs422664x218715.jpg new file mode 100644 index 000000000..4963d96ab Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422664x218715.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422664x218716.jpg b/RWT_Cache/Textures/19/mbs422664x218716.jpg new file mode 100644 index 000000000..4a6183079 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422664x218716.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422664x218717.jpg b/RWT_Cache/Textures/19/mbs422664x218717.jpg new file mode 100644 index 000000000..8afff6394 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422664x218717.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422664x218718.jpg b/RWT_Cache/Textures/19/mbs422664x218718.jpg new file mode 100644 index 000000000..b27167410 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422664x218718.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422664x218719.jpg b/RWT_Cache/Textures/19/mbs422664x218719.jpg new file mode 100644 index 000000000..88c709c87 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422664x218719.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422664x218720.jpg b/RWT_Cache/Textures/19/mbs422664x218720.jpg new file mode 100644 index 000000000..ee168293e Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422664x218720.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422664x218721.jpg b/RWT_Cache/Textures/19/mbs422664x218721.jpg new file mode 100644 index 000000000..890171767 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422664x218721.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422664x218722.jpg b/RWT_Cache/Textures/19/mbs422664x218722.jpg new file mode 100644 index 000000000..1a7895a49 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422664x218722.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422664x218723.jpg b/RWT_Cache/Textures/19/mbs422664x218723.jpg new file mode 100644 index 000000000..e215ee5bb Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422664x218723.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422665x218695.jpg b/RWT_Cache/Textures/19/mbs422665x218695.jpg new file mode 100644 index 000000000..7649b8f77 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422665x218695.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422665x218696.jpg b/RWT_Cache/Textures/19/mbs422665x218696.jpg new file mode 100644 index 000000000..4d03435b9 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422665x218696.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422665x218697.jpg b/RWT_Cache/Textures/19/mbs422665x218697.jpg new file mode 100644 index 000000000..db1fb5af7 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422665x218697.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422665x218698.jpg b/RWT_Cache/Textures/19/mbs422665x218698.jpg new file mode 100644 index 000000000..5dd758463 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422665x218698.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422665x218699.jpg b/RWT_Cache/Textures/19/mbs422665x218699.jpg new file mode 100644 index 000000000..222adae7b Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422665x218699.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422665x218700.jpg b/RWT_Cache/Textures/19/mbs422665x218700.jpg new file mode 100644 index 000000000..f4c9e2d60 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422665x218700.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422665x218701.jpg b/RWT_Cache/Textures/19/mbs422665x218701.jpg new file mode 100644 index 000000000..11fb87833 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422665x218701.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422665x218702.jpg b/RWT_Cache/Textures/19/mbs422665x218702.jpg new file mode 100644 index 000000000..a7e79390b Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422665x218702.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422665x218703.jpg b/RWT_Cache/Textures/19/mbs422665x218703.jpg new file mode 100644 index 000000000..386f9eb78 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422665x218703.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422665x218704.jpg b/RWT_Cache/Textures/19/mbs422665x218704.jpg new file mode 100644 index 000000000..faf9d543d Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422665x218704.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422665x218705.jpg b/RWT_Cache/Textures/19/mbs422665x218705.jpg new file mode 100644 index 000000000..195de37ea Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422665x218705.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422665x218706.jpg b/RWT_Cache/Textures/19/mbs422665x218706.jpg new file mode 100644 index 000000000..fb6db40aa Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422665x218706.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422665x218707.jpg b/RWT_Cache/Textures/19/mbs422665x218707.jpg new file mode 100644 index 000000000..6af931dbb Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422665x218707.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422665x218708.jpg b/RWT_Cache/Textures/19/mbs422665x218708.jpg new file mode 100644 index 000000000..a9adeceb8 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422665x218708.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422665x218709.jpg b/RWT_Cache/Textures/19/mbs422665x218709.jpg new file mode 100644 index 000000000..9bed3edf9 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422665x218709.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422665x218710.jpg b/RWT_Cache/Textures/19/mbs422665x218710.jpg new file mode 100644 index 000000000..21d0cf619 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422665x218710.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422665x218711.jpg b/RWT_Cache/Textures/19/mbs422665x218711.jpg new file mode 100644 index 000000000..0e441b4ad Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422665x218711.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422665x218712.jpg b/RWT_Cache/Textures/19/mbs422665x218712.jpg new file mode 100644 index 000000000..f995e2c6a Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422665x218712.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422665x218713.jpg b/RWT_Cache/Textures/19/mbs422665x218713.jpg new file mode 100644 index 000000000..1b423787c Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422665x218713.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422665x218714.jpg b/RWT_Cache/Textures/19/mbs422665x218714.jpg new file mode 100644 index 000000000..1d14b3075 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422665x218714.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422665x218715.jpg b/RWT_Cache/Textures/19/mbs422665x218715.jpg new file mode 100644 index 000000000..d542f7350 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422665x218715.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422665x218716.jpg b/RWT_Cache/Textures/19/mbs422665x218716.jpg new file mode 100644 index 000000000..601f2cf41 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422665x218716.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422665x218717.jpg b/RWT_Cache/Textures/19/mbs422665x218717.jpg new file mode 100644 index 000000000..b8dd68623 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422665x218717.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422665x218718.jpg b/RWT_Cache/Textures/19/mbs422665x218718.jpg new file mode 100644 index 000000000..b255db51e Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422665x218718.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422665x218719.jpg b/RWT_Cache/Textures/19/mbs422665x218719.jpg new file mode 100644 index 000000000..0c9275e04 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422665x218719.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422665x218720.jpg b/RWT_Cache/Textures/19/mbs422665x218720.jpg new file mode 100644 index 000000000..ed8ad8cf6 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422665x218720.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422665x218721.jpg b/RWT_Cache/Textures/19/mbs422665x218721.jpg new file mode 100644 index 000000000..464bad808 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422665x218721.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422665x218722.jpg b/RWT_Cache/Textures/19/mbs422665x218722.jpg new file mode 100644 index 000000000..72e93753f Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422665x218722.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422665x218723.jpg b/RWT_Cache/Textures/19/mbs422665x218723.jpg new file mode 100644 index 000000000..a70d63d31 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422665x218723.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422666x218695.jpg b/RWT_Cache/Textures/19/mbs422666x218695.jpg new file mode 100644 index 000000000..8cab35663 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422666x218695.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422666x218696.jpg b/RWT_Cache/Textures/19/mbs422666x218696.jpg new file mode 100644 index 000000000..cb0e50711 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422666x218696.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422666x218697.jpg b/RWT_Cache/Textures/19/mbs422666x218697.jpg new file mode 100644 index 000000000..c9a5b41ec Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422666x218697.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422666x218698.jpg b/RWT_Cache/Textures/19/mbs422666x218698.jpg new file mode 100644 index 000000000..21e6ff502 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422666x218698.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422666x218699.jpg b/RWT_Cache/Textures/19/mbs422666x218699.jpg new file mode 100644 index 000000000..5d24fab4c Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422666x218699.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422666x218700.jpg b/RWT_Cache/Textures/19/mbs422666x218700.jpg new file mode 100644 index 000000000..a5d3ce19c Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422666x218700.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422666x218701.jpg b/RWT_Cache/Textures/19/mbs422666x218701.jpg new file mode 100644 index 000000000..fae7d8cfd Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422666x218701.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422666x218702.jpg b/RWT_Cache/Textures/19/mbs422666x218702.jpg new file mode 100644 index 000000000..7aa26670c Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422666x218702.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422666x218703.jpg b/RWT_Cache/Textures/19/mbs422666x218703.jpg new file mode 100644 index 000000000..6af16f901 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422666x218703.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422666x218704.jpg b/RWT_Cache/Textures/19/mbs422666x218704.jpg new file mode 100644 index 000000000..54a43d2a8 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422666x218704.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422666x218705.jpg b/RWT_Cache/Textures/19/mbs422666x218705.jpg new file mode 100644 index 000000000..fdcea0e8e Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422666x218705.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422666x218706.jpg b/RWT_Cache/Textures/19/mbs422666x218706.jpg new file mode 100644 index 000000000..9af9bdd67 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422666x218706.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422666x218707.jpg b/RWT_Cache/Textures/19/mbs422666x218707.jpg new file mode 100644 index 000000000..1021a0557 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422666x218707.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422666x218708.jpg b/RWT_Cache/Textures/19/mbs422666x218708.jpg new file mode 100644 index 000000000..8ff71f83b Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422666x218708.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422666x218709.jpg b/RWT_Cache/Textures/19/mbs422666x218709.jpg new file mode 100644 index 000000000..3d76c4250 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422666x218709.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422666x218710.jpg b/RWT_Cache/Textures/19/mbs422666x218710.jpg new file mode 100644 index 000000000..7f8457c20 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422666x218710.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422666x218711.jpg b/RWT_Cache/Textures/19/mbs422666x218711.jpg new file mode 100644 index 000000000..541be121f Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422666x218711.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422666x218712.jpg b/RWT_Cache/Textures/19/mbs422666x218712.jpg new file mode 100644 index 000000000..57b36ae15 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422666x218712.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422666x218713.jpg b/RWT_Cache/Textures/19/mbs422666x218713.jpg new file mode 100644 index 000000000..c534eea34 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422666x218713.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422666x218714.jpg b/RWT_Cache/Textures/19/mbs422666x218714.jpg new file mode 100644 index 000000000..c3a8df9fa Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422666x218714.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422666x218715.jpg b/RWT_Cache/Textures/19/mbs422666x218715.jpg new file mode 100644 index 000000000..df8447c1f Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422666x218715.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422666x218716.jpg b/RWT_Cache/Textures/19/mbs422666x218716.jpg new file mode 100644 index 000000000..45704139f Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422666x218716.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422666x218717.jpg b/RWT_Cache/Textures/19/mbs422666x218717.jpg new file mode 100644 index 000000000..2a64a9f6a Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422666x218717.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422666x218718.jpg b/RWT_Cache/Textures/19/mbs422666x218718.jpg new file mode 100644 index 000000000..beb723bea Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422666x218718.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422666x218719.jpg b/RWT_Cache/Textures/19/mbs422666x218719.jpg new file mode 100644 index 000000000..b11296c08 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422666x218719.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422666x218720.jpg b/RWT_Cache/Textures/19/mbs422666x218720.jpg new file mode 100644 index 000000000..0e1bce6dd Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422666x218720.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422666x218721.jpg b/RWT_Cache/Textures/19/mbs422666x218721.jpg new file mode 100644 index 000000000..510a77c5c Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422666x218721.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422666x218722.jpg b/RWT_Cache/Textures/19/mbs422666x218722.jpg new file mode 100644 index 000000000..c0fa043c5 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422666x218722.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422666x218723.jpg b/RWT_Cache/Textures/19/mbs422666x218723.jpg new file mode 100644 index 000000000..5776b2e97 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422666x218723.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422667x218695.jpg b/RWT_Cache/Textures/19/mbs422667x218695.jpg new file mode 100644 index 000000000..ebd59f087 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422667x218695.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422667x218696.jpg b/RWT_Cache/Textures/19/mbs422667x218696.jpg new file mode 100644 index 000000000..27bd2fbaa Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422667x218696.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422667x218697.jpg b/RWT_Cache/Textures/19/mbs422667x218697.jpg new file mode 100644 index 000000000..8c37aa142 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422667x218697.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422667x218698.jpg b/RWT_Cache/Textures/19/mbs422667x218698.jpg new file mode 100644 index 000000000..deecf4093 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422667x218698.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422667x218699.jpg b/RWT_Cache/Textures/19/mbs422667x218699.jpg new file mode 100644 index 000000000..97692919a Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422667x218699.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422667x218700.jpg b/RWT_Cache/Textures/19/mbs422667x218700.jpg new file mode 100644 index 000000000..0b7bbbad4 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422667x218700.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422667x218701.jpg b/RWT_Cache/Textures/19/mbs422667x218701.jpg new file mode 100644 index 000000000..08a76da80 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422667x218701.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422667x218702.jpg b/RWT_Cache/Textures/19/mbs422667x218702.jpg new file mode 100644 index 000000000..1dc6f8747 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422667x218702.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422667x218703.jpg b/RWT_Cache/Textures/19/mbs422667x218703.jpg new file mode 100644 index 000000000..94406d818 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422667x218703.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422667x218704.jpg b/RWT_Cache/Textures/19/mbs422667x218704.jpg new file mode 100644 index 000000000..8f58efa20 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422667x218704.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422667x218705.jpg b/RWT_Cache/Textures/19/mbs422667x218705.jpg new file mode 100644 index 000000000..dfe0b8baa Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422667x218705.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422667x218706.jpg b/RWT_Cache/Textures/19/mbs422667x218706.jpg new file mode 100644 index 000000000..6dae87135 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422667x218706.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422667x218707.jpg b/RWT_Cache/Textures/19/mbs422667x218707.jpg new file mode 100644 index 000000000..db4e6551e Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422667x218707.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422667x218708.jpg b/RWT_Cache/Textures/19/mbs422667x218708.jpg new file mode 100644 index 000000000..33c01d42c Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422667x218708.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422667x218709.jpg b/RWT_Cache/Textures/19/mbs422667x218709.jpg new file mode 100644 index 000000000..c6e723659 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422667x218709.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422667x218710.jpg b/RWT_Cache/Textures/19/mbs422667x218710.jpg new file mode 100644 index 000000000..a26bbab5e Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422667x218710.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422667x218711.jpg b/RWT_Cache/Textures/19/mbs422667x218711.jpg new file mode 100644 index 000000000..a165b3a9b Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422667x218711.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422667x218712.jpg b/RWT_Cache/Textures/19/mbs422667x218712.jpg new file mode 100644 index 000000000..aff34481f Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422667x218712.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422667x218713.jpg b/RWT_Cache/Textures/19/mbs422667x218713.jpg new file mode 100644 index 000000000..b2eb945c6 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422667x218713.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422667x218714.jpg b/RWT_Cache/Textures/19/mbs422667x218714.jpg new file mode 100644 index 000000000..3a9e59977 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422667x218714.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422667x218715.jpg b/RWT_Cache/Textures/19/mbs422667x218715.jpg new file mode 100644 index 000000000..f92b66253 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422667x218715.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422667x218716.jpg b/RWT_Cache/Textures/19/mbs422667x218716.jpg new file mode 100644 index 000000000..190e50fb6 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422667x218716.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422667x218717.jpg b/RWT_Cache/Textures/19/mbs422667x218717.jpg new file mode 100644 index 000000000..522f8c845 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422667x218717.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422667x218718.jpg b/RWT_Cache/Textures/19/mbs422667x218718.jpg new file mode 100644 index 000000000..4f29190b9 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422667x218718.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422667x218719.jpg b/RWT_Cache/Textures/19/mbs422667x218719.jpg new file mode 100644 index 000000000..01e7cdd8d Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422667x218719.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422667x218720.jpg b/RWT_Cache/Textures/19/mbs422667x218720.jpg new file mode 100644 index 000000000..4b173e58d Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422667x218720.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422667x218721.jpg b/RWT_Cache/Textures/19/mbs422667x218721.jpg new file mode 100644 index 000000000..94459ec29 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422667x218721.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422667x218722.jpg b/RWT_Cache/Textures/19/mbs422667x218722.jpg new file mode 100644 index 000000000..83126b631 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422667x218722.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422667x218723.jpg b/RWT_Cache/Textures/19/mbs422667x218723.jpg new file mode 100644 index 000000000..5ab51393b Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422667x218723.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422668x218695.jpg b/RWT_Cache/Textures/19/mbs422668x218695.jpg new file mode 100644 index 000000000..531aa63a9 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422668x218695.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422668x218696.jpg b/RWT_Cache/Textures/19/mbs422668x218696.jpg new file mode 100644 index 000000000..b377e5aa8 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422668x218696.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422668x218697.jpg b/RWT_Cache/Textures/19/mbs422668x218697.jpg new file mode 100644 index 000000000..731f434e5 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422668x218697.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422668x218698.jpg b/RWT_Cache/Textures/19/mbs422668x218698.jpg new file mode 100644 index 000000000..ef2ab1820 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422668x218698.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422668x218699.jpg b/RWT_Cache/Textures/19/mbs422668x218699.jpg new file mode 100644 index 000000000..adad9cd0b Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422668x218699.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422668x218700.jpg b/RWT_Cache/Textures/19/mbs422668x218700.jpg new file mode 100644 index 000000000..0244a1a74 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422668x218700.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422668x218701.jpg b/RWT_Cache/Textures/19/mbs422668x218701.jpg new file mode 100644 index 000000000..64bc0518a Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422668x218701.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422668x218702.jpg b/RWT_Cache/Textures/19/mbs422668x218702.jpg new file mode 100644 index 000000000..16f5c9347 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422668x218702.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422668x218703.jpg b/RWT_Cache/Textures/19/mbs422668x218703.jpg new file mode 100644 index 000000000..b3a9b52f7 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422668x218703.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422668x218704.jpg b/RWT_Cache/Textures/19/mbs422668x218704.jpg new file mode 100644 index 000000000..487377321 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422668x218704.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422668x218705.jpg b/RWT_Cache/Textures/19/mbs422668x218705.jpg new file mode 100644 index 000000000..d9e26ca62 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422668x218705.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422668x218706.jpg b/RWT_Cache/Textures/19/mbs422668x218706.jpg new file mode 100644 index 000000000..f87b91140 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422668x218706.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422668x218707.jpg b/RWT_Cache/Textures/19/mbs422668x218707.jpg new file mode 100644 index 000000000..71cf01eed Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422668x218707.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422668x218708.jpg b/RWT_Cache/Textures/19/mbs422668x218708.jpg new file mode 100644 index 000000000..a5622a324 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422668x218708.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422668x218709.jpg b/RWT_Cache/Textures/19/mbs422668x218709.jpg new file mode 100644 index 000000000..912048057 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422668x218709.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422668x218710.jpg b/RWT_Cache/Textures/19/mbs422668x218710.jpg new file mode 100644 index 000000000..eb337d8a0 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422668x218710.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422668x218711.jpg b/RWT_Cache/Textures/19/mbs422668x218711.jpg new file mode 100644 index 000000000..c53e7eee1 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422668x218711.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422668x218712.jpg b/RWT_Cache/Textures/19/mbs422668x218712.jpg new file mode 100644 index 000000000..720e82340 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422668x218712.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422668x218713.jpg b/RWT_Cache/Textures/19/mbs422668x218713.jpg new file mode 100644 index 000000000..173529693 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422668x218713.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422668x218714.jpg b/RWT_Cache/Textures/19/mbs422668x218714.jpg new file mode 100644 index 000000000..9f2068fa9 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422668x218714.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422668x218715.jpg b/RWT_Cache/Textures/19/mbs422668x218715.jpg new file mode 100644 index 000000000..7fded60cd Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422668x218715.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422668x218716.jpg b/RWT_Cache/Textures/19/mbs422668x218716.jpg new file mode 100644 index 000000000..a3c6fae57 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422668x218716.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422668x218717.jpg b/RWT_Cache/Textures/19/mbs422668x218717.jpg new file mode 100644 index 000000000..b4204598b Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422668x218717.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422668x218718.jpg b/RWT_Cache/Textures/19/mbs422668x218718.jpg new file mode 100644 index 000000000..c16a6670c Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422668x218718.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422668x218719.jpg b/RWT_Cache/Textures/19/mbs422668x218719.jpg new file mode 100644 index 000000000..28a40c242 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422668x218719.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422668x218720.jpg b/RWT_Cache/Textures/19/mbs422668x218720.jpg new file mode 100644 index 000000000..a5364df16 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422668x218720.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422668x218721.jpg b/RWT_Cache/Textures/19/mbs422668x218721.jpg new file mode 100644 index 000000000..a737f72da Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422668x218721.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422668x218722.jpg b/RWT_Cache/Textures/19/mbs422668x218722.jpg new file mode 100644 index 000000000..8d7ceb463 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422668x218722.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422668x218723.jpg b/RWT_Cache/Textures/19/mbs422668x218723.jpg new file mode 100644 index 000000000..f2e71f90c Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422668x218723.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422669x218695.jpg b/RWT_Cache/Textures/19/mbs422669x218695.jpg new file mode 100644 index 000000000..a860d3fb2 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422669x218695.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422669x218696.jpg b/RWT_Cache/Textures/19/mbs422669x218696.jpg new file mode 100644 index 000000000..64df6b21f Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422669x218696.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422669x218697.jpg b/RWT_Cache/Textures/19/mbs422669x218697.jpg new file mode 100644 index 000000000..3ab27f1da Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422669x218697.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422669x218698.jpg b/RWT_Cache/Textures/19/mbs422669x218698.jpg new file mode 100644 index 000000000..59c619e68 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422669x218698.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422669x218699.jpg b/RWT_Cache/Textures/19/mbs422669x218699.jpg new file mode 100644 index 000000000..abf90f2ef Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422669x218699.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422669x218700.jpg b/RWT_Cache/Textures/19/mbs422669x218700.jpg new file mode 100644 index 000000000..75ef93e17 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422669x218700.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422669x218701.jpg b/RWT_Cache/Textures/19/mbs422669x218701.jpg new file mode 100644 index 000000000..4e0370d3d Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422669x218701.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422669x218702.jpg b/RWT_Cache/Textures/19/mbs422669x218702.jpg new file mode 100644 index 000000000..6c468673a Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422669x218702.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422669x218703.jpg b/RWT_Cache/Textures/19/mbs422669x218703.jpg new file mode 100644 index 000000000..ade90e278 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422669x218703.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422669x218704.jpg b/RWT_Cache/Textures/19/mbs422669x218704.jpg new file mode 100644 index 000000000..d6448420b Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422669x218704.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422669x218705.jpg b/RWT_Cache/Textures/19/mbs422669x218705.jpg new file mode 100644 index 000000000..760c9937d Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422669x218705.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422669x218706.jpg b/RWT_Cache/Textures/19/mbs422669x218706.jpg new file mode 100644 index 000000000..e4504e57c Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422669x218706.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422669x218707.jpg b/RWT_Cache/Textures/19/mbs422669x218707.jpg new file mode 100644 index 000000000..9a12fed3c Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422669x218707.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422669x218708.jpg b/RWT_Cache/Textures/19/mbs422669x218708.jpg new file mode 100644 index 000000000..442c05a74 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422669x218708.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422669x218709.jpg b/RWT_Cache/Textures/19/mbs422669x218709.jpg new file mode 100644 index 000000000..1e46b6400 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422669x218709.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422669x218710.jpg b/RWT_Cache/Textures/19/mbs422669x218710.jpg new file mode 100644 index 000000000..96679b492 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422669x218710.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422669x218711.jpg b/RWT_Cache/Textures/19/mbs422669x218711.jpg new file mode 100644 index 000000000..0cdd8690d Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422669x218711.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422669x218712.jpg b/RWT_Cache/Textures/19/mbs422669x218712.jpg new file mode 100644 index 000000000..35d40341a Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422669x218712.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422669x218713.jpg b/RWT_Cache/Textures/19/mbs422669x218713.jpg new file mode 100644 index 000000000..afca1d98f Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422669x218713.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422669x218714.jpg b/RWT_Cache/Textures/19/mbs422669x218714.jpg new file mode 100644 index 000000000..5e9d630dd Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422669x218714.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422669x218715.jpg b/RWT_Cache/Textures/19/mbs422669x218715.jpg new file mode 100644 index 000000000..0b6c59646 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422669x218715.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422669x218716.jpg b/RWT_Cache/Textures/19/mbs422669x218716.jpg new file mode 100644 index 000000000..e1c7c1698 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422669x218716.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422669x218717.jpg b/RWT_Cache/Textures/19/mbs422669x218717.jpg new file mode 100644 index 000000000..98a58a8ca Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422669x218717.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422669x218718.jpg b/RWT_Cache/Textures/19/mbs422669x218718.jpg new file mode 100644 index 000000000..c51d61a26 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422669x218718.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422669x218719.jpg b/RWT_Cache/Textures/19/mbs422669x218719.jpg new file mode 100644 index 000000000..290eabdfc Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422669x218719.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422669x218720.jpg b/RWT_Cache/Textures/19/mbs422669x218720.jpg new file mode 100644 index 000000000..9b5be0666 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422669x218720.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422669x218721.jpg b/RWT_Cache/Textures/19/mbs422669x218721.jpg new file mode 100644 index 000000000..b58e26181 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422669x218721.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422669x218722.jpg b/RWT_Cache/Textures/19/mbs422669x218722.jpg new file mode 100644 index 000000000..a96b10932 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422669x218722.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422669x218723.jpg b/RWT_Cache/Textures/19/mbs422669x218723.jpg new file mode 100644 index 000000000..3a23ff26b Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422669x218723.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422670x218695.jpg b/RWT_Cache/Textures/19/mbs422670x218695.jpg new file mode 100644 index 000000000..1c157672b Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422670x218695.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422670x218696.jpg b/RWT_Cache/Textures/19/mbs422670x218696.jpg new file mode 100644 index 000000000..50344be3c Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422670x218696.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422670x218697.jpg b/RWT_Cache/Textures/19/mbs422670x218697.jpg new file mode 100644 index 000000000..b29893f07 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422670x218697.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422670x218698.jpg b/RWT_Cache/Textures/19/mbs422670x218698.jpg new file mode 100644 index 000000000..c94741eed Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422670x218698.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422670x218699.jpg b/RWT_Cache/Textures/19/mbs422670x218699.jpg new file mode 100644 index 000000000..1f3570f46 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422670x218699.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422670x218700.jpg b/RWT_Cache/Textures/19/mbs422670x218700.jpg new file mode 100644 index 000000000..c80d46a9c Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422670x218700.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422670x218701.jpg b/RWT_Cache/Textures/19/mbs422670x218701.jpg new file mode 100644 index 000000000..9751fcc00 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422670x218701.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422670x218702.jpg b/RWT_Cache/Textures/19/mbs422670x218702.jpg new file mode 100644 index 000000000..5f4aab92d Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422670x218702.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422670x218703.jpg b/RWT_Cache/Textures/19/mbs422670x218703.jpg new file mode 100644 index 000000000..85b6060b4 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422670x218703.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422670x218704.jpg b/RWT_Cache/Textures/19/mbs422670x218704.jpg new file mode 100644 index 000000000..21ebe9116 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422670x218704.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422670x218705.jpg b/RWT_Cache/Textures/19/mbs422670x218705.jpg new file mode 100644 index 000000000..921c95be3 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422670x218705.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422670x218706.jpg b/RWT_Cache/Textures/19/mbs422670x218706.jpg new file mode 100644 index 000000000..3593c202f Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422670x218706.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422670x218707.jpg b/RWT_Cache/Textures/19/mbs422670x218707.jpg new file mode 100644 index 000000000..0235c1e42 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422670x218707.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422670x218708.jpg b/RWT_Cache/Textures/19/mbs422670x218708.jpg new file mode 100644 index 000000000..6da11a016 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422670x218708.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422670x218709.jpg b/RWT_Cache/Textures/19/mbs422670x218709.jpg new file mode 100644 index 000000000..93fac2c74 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422670x218709.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422670x218710.jpg b/RWT_Cache/Textures/19/mbs422670x218710.jpg new file mode 100644 index 000000000..474629ed3 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422670x218710.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422670x218711.jpg b/RWT_Cache/Textures/19/mbs422670x218711.jpg new file mode 100644 index 000000000..9018fd885 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422670x218711.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422670x218712.jpg b/RWT_Cache/Textures/19/mbs422670x218712.jpg new file mode 100644 index 000000000..4dd6db4cb Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422670x218712.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422670x218713.jpg b/RWT_Cache/Textures/19/mbs422670x218713.jpg new file mode 100644 index 000000000..d3bbe52bc Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422670x218713.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422670x218714.jpg b/RWT_Cache/Textures/19/mbs422670x218714.jpg new file mode 100644 index 000000000..120b583a5 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422670x218714.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422670x218715.jpg b/RWT_Cache/Textures/19/mbs422670x218715.jpg new file mode 100644 index 000000000..7f292f320 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422670x218715.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422670x218716.jpg b/RWT_Cache/Textures/19/mbs422670x218716.jpg new file mode 100644 index 000000000..e79895384 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422670x218716.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422670x218717.jpg b/RWT_Cache/Textures/19/mbs422670x218717.jpg new file mode 100644 index 000000000..bbd17bad3 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422670x218717.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422670x218718.jpg b/RWT_Cache/Textures/19/mbs422670x218718.jpg new file mode 100644 index 000000000..05d82079c Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422670x218718.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422670x218719.jpg b/RWT_Cache/Textures/19/mbs422670x218719.jpg new file mode 100644 index 000000000..591c82e8e Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422670x218719.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422670x218720.jpg b/RWT_Cache/Textures/19/mbs422670x218720.jpg new file mode 100644 index 000000000..4240f7851 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422670x218720.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422670x218721.jpg b/RWT_Cache/Textures/19/mbs422670x218721.jpg new file mode 100644 index 000000000..856c0376e Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422670x218721.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422670x218722.jpg b/RWT_Cache/Textures/19/mbs422670x218722.jpg new file mode 100644 index 000000000..2532a10e0 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422670x218722.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422670x218723.jpg b/RWT_Cache/Textures/19/mbs422670x218723.jpg new file mode 100644 index 000000000..1046b6fa6 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422670x218723.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422671x218695.jpg b/RWT_Cache/Textures/19/mbs422671x218695.jpg new file mode 100644 index 000000000..eda1f0ef9 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422671x218695.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422671x218696.jpg b/RWT_Cache/Textures/19/mbs422671x218696.jpg new file mode 100644 index 000000000..003f07b69 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422671x218696.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422671x218697.jpg b/RWT_Cache/Textures/19/mbs422671x218697.jpg new file mode 100644 index 000000000..9eae7c160 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422671x218697.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422671x218698.jpg b/RWT_Cache/Textures/19/mbs422671x218698.jpg new file mode 100644 index 000000000..e6d614908 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422671x218698.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422671x218699.jpg b/RWT_Cache/Textures/19/mbs422671x218699.jpg new file mode 100644 index 000000000..6ad585b96 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422671x218699.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422671x218700.jpg b/RWT_Cache/Textures/19/mbs422671x218700.jpg new file mode 100644 index 000000000..9c2bfcd8e Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422671x218700.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422671x218701.jpg b/RWT_Cache/Textures/19/mbs422671x218701.jpg new file mode 100644 index 000000000..6c0d3bb69 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422671x218701.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422671x218702.jpg b/RWT_Cache/Textures/19/mbs422671x218702.jpg new file mode 100644 index 000000000..a957e375e Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422671x218702.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422671x218703.jpg b/RWT_Cache/Textures/19/mbs422671x218703.jpg new file mode 100644 index 000000000..ecd55461c Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422671x218703.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422671x218704.jpg b/RWT_Cache/Textures/19/mbs422671x218704.jpg new file mode 100644 index 000000000..0893902f7 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422671x218704.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422671x218705.jpg b/RWT_Cache/Textures/19/mbs422671x218705.jpg new file mode 100644 index 000000000..bb7fcde02 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422671x218705.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422671x218706.jpg b/RWT_Cache/Textures/19/mbs422671x218706.jpg new file mode 100644 index 000000000..edd001db7 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422671x218706.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422671x218707.jpg b/RWT_Cache/Textures/19/mbs422671x218707.jpg new file mode 100644 index 000000000..8ef7b0259 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422671x218707.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422671x218708.jpg b/RWT_Cache/Textures/19/mbs422671x218708.jpg new file mode 100644 index 000000000..5bf0083af Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422671x218708.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422671x218709.jpg b/RWT_Cache/Textures/19/mbs422671x218709.jpg new file mode 100644 index 000000000..8a2fa0613 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422671x218709.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422671x218710.jpg b/RWT_Cache/Textures/19/mbs422671x218710.jpg new file mode 100644 index 000000000..064ffa088 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422671x218710.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422671x218711.jpg b/RWT_Cache/Textures/19/mbs422671x218711.jpg new file mode 100644 index 000000000..fe4926109 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422671x218711.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422671x218712.jpg b/RWT_Cache/Textures/19/mbs422671x218712.jpg new file mode 100644 index 000000000..dff1850ed Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422671x218712.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422671x218713.jpg b/RWT_Cache/Textures/19/mbs422671x218713.jpg new file mode 100644 index 000000000..b2d075258 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422671x218713.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422671x218714.jpg b/RWT_Cache/Textures/19/mbs422671x218714.jpg new file mode 100644 index 000000000..7100af0df Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422671x218714.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422671x218715.jpg b/RWT_Cache/Textures/19/mbs422671x218715.jpg new file mode 100644 index 000000000..1b93c383d Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422671x218715.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422671x218716.jpg b/RWT_Cache/Textures/19/mbs422671x218716.jpg new file mode 100644 index 000000000..dad2d49e1 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422671x218716.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422671x218717.jpg b/RWT_Cache/Textures/19/mbs422671x218717.jpg new file mode 100644 index 000000000..6493e961d Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422671x218717.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422671x218718.jpg b/RWT_Cache/Textures/19/mbs422671x218718.jpg new file mode 100644 index 000000000..d6f3a93c2 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422671x218718.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422671x218719.jpg b/RWT_Cache/Textures/19/mbs422671x218719.jpg new file mode 100644 index 000000000..582203611 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422671x218719.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422671x218720.jpg b/RWT_Cache/Textures/19/mbs422671x218720.jpg new file mode 100644 index 000000000..3e43eb0c1 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422671x218720.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422671x218721.jpg b/RWT_Cache/Textures/19/mbs422671x218721.jpg new file mode 100644 index 000000000..5af1eb1f1 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422671x218721.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422671x218722.jpg b/RWT_Cache/Textures/19/mbs422671x218722.jpg new file mode 100644 index 000000000..fe3752955 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422671x218722.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422671x218723.jpg b/RWT_Cache/Textures/19/mbs422671x218723.jpg new file mode 100644 index 000000000..5daf67d8b Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422671x218723.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422672x218695.jpg b/RWT_Cache/Textures/19/mbs422672x218695.jpg new file mode 100644 index 000000000..4916d4742 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422672x218695.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422672x218696.jpg b/RWT_Cache/Textures/19/mbs422672x218696.jpg new file mode 100644 index 000000000..9f159ff00 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422672x218696.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422672x218697.jpg b/RWT_Cache/Textures/19/mbs422672x218697.jpg new file mode 100644 index 000000000..7366d0fad Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422672x218697.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422672x218698.jpg b/RWT_Cache/Textures/19/mbs422672x218698.jpg new file mode 100644 index 000000000..ab05931b1 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422672x218698.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422672x218699.jpg b/RWT_Cache/Textures/19/mbs422672x218699.jpg new file mode 100644 index 000000000..08aa9dd73 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422672x218699.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422672x218700.jpg b/RWT_Cache/Textures/19/mbs422672x218700.jpg new file mode 100644 index 000000000..b89dd7355 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422672x218700.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422672x218701.jpg b/RWT_Cache/Textures/19/mbs422672x218701.jpg new file mode 100644 index 000000000..96eb9b5ed Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422672x218701.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422672x218702.jpg b/RWT_Cache/Textures/19/mbs422672x218702.jpg new file mode 100644 index 000000000..b80032234 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422672x218702.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422672x218703.jpg b/RWT_Cache/Textures/19/mbs422672x218703.jpg new file mode 100644 index 000000000..b7bfd7be2 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422672x218703.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422672x218704.jpg b/RWT_Cache/Textures/19/mbs422672x218704.jpg new file mode 100644 index 000000000..5193e4e8f Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422672x218704.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422672x218705.jpg b/RWT_Cache/Textures/19/mbs422672x218705.jpg new file mode 100644 index 000000000..b3a632273 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422672x218705.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422672x218706.jpg b/RWT_Cache/Textures/19/mbs422672x218706.jpg new file mode 100644 index 000000000..2e3b52869 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422672x218706.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422672x218707.jpg b/RWT_Cache/Textures/19/mbs422672x218707.jpg new file mode 100644 index 000000000..90b9dda52 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422672x218707.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422672x218708.jpg b/RWT_Cache/Textures/19/mbs422672x218708.jpg new file mode 100644 index 000000000..ed740ae3b Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422672x218708.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422672x218709.jpg b/RWT_Cache/Textures/19/mbs422672x218709.jpg new file mode 100644 index 000000000..ac5b27aa4 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422672x218709.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422672x218710.jpg b/RWT_Cache/Textures/19/mbs422672x218710.jpg new file mode 100644 index 000000000..ae058fd25 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422672x218710.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422672x218711.jpg b/RWT_Cache/Textures/19/mbs422672x218711.jpg new file mode 100644 index 000000000..34b29eeb1 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422672x218711.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422672x218712.jpg b/RWT_Cache/Textures/19/mbs422672x218712.jpg new file mode 100644 index 000000000..27ee667d3 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422672x218712.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422672x218713.jpg b/RWT_Cache/Textures/19/mbs422672x218713.jpg new file mode 100644 index 000000000..012adf55d Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422672x218713.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422672x218714.jpg b/RWT_Cache/Textures/19/mbs422672x218714.jpg new file mode 100644 index 000000000..b943ec62b Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422672x218714.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422672x218715.jpg b/RWT_Cache/Textures/19/mbs422672x218715.jpg new file mode 100644 index 000000000..b5cb8c84c Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422672x218715.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422672x218716.jpg b/RWT_Cache/Textures/19/mbs422672x218716.jpg new file mode 100644 index 000000000..ff3f3d090 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422672x218716.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422672x218717.jpg b/RWT_Cache/Textures/19/mbs422672x218717.jpg new file mode 100644 index 000000000..f2963ebbb Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422672x218717.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422672x218718.jpg b/RWT_Cache/Textures/19/mbs422672x218718.jpg new file mode 100644 index 000000000..5dbe1788d Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422672x218718.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422672x218719.jpg b/RWT_Cache/Textures/19/mbs422672x218719.jpg new file mode 100644 index 000000000..3a90db4f7 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422672x218719.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422672x218720.jpg b/RWT_Cache/Textures/19/mbs422672x218720.jpg new file mode 100644 index 000000000..cccc592d6 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422672x218720.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422672x218721.jpg b/RWT_Cache/Textures/19/mbs422672x218721.jpg new file mode 100644 index 000000000..6121f67ac Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422672x218721.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422672x218722.jpg b/RWT_Cache/Textures/19/mbs422672x218722.jpg new file mode 100644 index 000000000..103191758 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422672x218722.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422672x218723.jpg b/RWT_Cache/Textures/19/mbs422672x218723.jpg new file mode 100644 index 000000000..9b74adacb Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422672x218723.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422673x218695.jpg b/RWT_Cache/Textures/19/mbs422673x218695.jpg new file mode 100644 index 000000000..f7f530a0e Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422673x218695.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422673x218696.jpg b/RWT_Cache/Textures/19/mbs422673x218696.jpg new file mode 100644 index 000000000..de4715b00 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422673x218696.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422673x218697.jpg b/RWT_Cache/Textures/19/mbs422673x218697.jpg new file mode 100644 index 000000000..249508335 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422673x218697.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422673x218698.jpg b/RWT_Cache/Textures/19/mbs422673x218698.jpg new file mode 100644 index 000000000..4989b788c Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422673x218698.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422673x218699.jpg b/RWT_Cache/Textures/19/mbs422673x218699.jpg new file mode 100644 index 000000000..94b327869 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422673x218699.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422673x218700.jpg b/RWT_Cache/Textures/19/mbs422673x218700.jpg new file mode 100644 index 000000000..a21719c1d Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422673x218700.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422673x218701.jpg b/RWT_Cache/Textures/19/mbs422673x218701.jpg new file mode 100644 index 000000000..f3037e3e8 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422673x218701.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422673x218702.jpg b/RWT_Cache/Textures/19/mbs422673x218702.jpg new file mode 100644 index 000000000..55ea6e815 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422673x218702.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422673x218703.jpg b/RWT_Cache/Textures/19/mbs422673x218703.jpg new file mode 100644 index 000000000..022dfd8b8 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422673x218703.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422673x218704.jpg b/RWT_Cache/Textures/19/mbs422673x218704.jpg new file mode 100644 index 000000000..da1c439c3 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422673x218704.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422673x218705.jpg b/RWT_Cache/Textures/19/mbs422673x218705.jpg new file mode 100644 index 000000000..c09708d9a Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422673x218705.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422673x218706.jpg b/RWT_Cache/Textures/19/mbs422673x218706.jpg new file mode 100644 index 000000000..3b52c39cc Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422673x218706.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422673x218707.jpg b/RWT_Cache/Textures/19/mbs422673x218707.jpg new file mode 100644 index 000000000..e5df2b9a6 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422673x218707.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422673x218708.jpg b/RWT_Cache/Textures/19/mbs422673x218708.jpg new file mode 100644 index 000000000..c10ce40e1 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422673x218708.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422673x218709.jpg b/RWT_Cache/Textures/19/mbs422673x218709.jpg new file mode 100644 index 000000000..1ce08b302 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422673x218709.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422673x218710.jpg b/RWT_Cache/Textures/19/mbs422673x218710.jpg new file mode 100644 index 000000000..9bd6afef2 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422673x218710.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422673x218711.jpg b/RWT_Cache/Textures/19/mbs422673x218711.jpg new file mode 100644 index 000000000..87226ac52 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422673x218711.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422673x218712.jpg b/RWT_Cache/Textures/19/mbs422673x218712.jpg new file mode 100644 index 000000000..7db43d700 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422673x218712.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422673x218713.jpg b/RWT_Cache/Textures/19/mbs422673x218713.jpg new file mode 100644 index 000000000..ab80d6c9d Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422673x218713.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422673x218714.jpg b/RWT_Cache/Textures/19/mbs422673x218714.jpg new file mode 100644 index 000000000..49e11d7ff Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422673x218714.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422673x218715.jpg b/RWT_Cache/Textures/19/mbs422673x218715.jpg new file mode 100644 index 000000000..34f3f0a61 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422673x218715.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422673x218716.jpg b/RWT_Cache/Textures/19/mbs422673x218716.jpg new file mode 100644 index 000000000..b0a5d6fa9 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422673x218716.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422673x218717.jpg b/RWT_Cache/Textures/19/mbs422673x218717.jpg new file mode 100644 index 000000000..b10f92abd Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422673x218717.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422673x218718.jpg b/RWT_Cache/Textures/19/mbs422673x218718.jpg new file mode 100644 index 000000000..a08b10167 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422673x218718.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422673x218719.jpg b/RWT_Cache/Textures/19/mbs422673x218719.jpg new file mode 100644 index 000000000..306b45010 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422673x218719.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422673x218720.jpg b/RWT_Cache/Textures/19/mbs422673x218720.jpg new file mode 100644 index 000000000..8e25682f7 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422673x218720.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422673x218721.jpg b/RWT_Cache/Textures/19/mbs422673x218721.jpg new file mode 100644 index 000000000..a0abe8f3b Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422673x218721.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422673x218722.jpg b/RWT_Cache/Textures/19/mbs422673x218722.jpg new file mode 100644 index 000000000..92dce6170 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422673x218722.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422673x218723.jpg b/RWT_Cache/Textures/19/mbs422673x218723.jpg new file mode 100644 index 000000000..c63f7c9f8 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422673x218723.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422674x218695.jpg b/RWT_Cache/Textures/19/mbs422674x218695.jpg new file mode 100644 index 000000000..ec970a287 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422674x218695.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422674x218696.jpg b/RWT_Cache/Textures/19/mbs422674x218696.jpg new file mode 100644 index 000000000..85454e201 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422674x218696.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422674x218697.jpg b/RWT_Cache/Textures/19/mbs422674x218697.jpg new file mode 100644 index 000000000..7f8f28ec3 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422674x218697.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422674x218698.jpg b/RWT_Cache/Textures/19/mbs422674x218698.jpg new file mode 100644 index 000000000..9224efb2a Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422674x218698.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422674x218699.jpg b/RWT_Cache/Textures/19/mbs422674x218699.jpg new file mode 100644 index 000000000..ec1c55d6c Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422674x218699.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422674x218700.jpg b/RWT_Cache/Textures/19/mbs422674x218700.jpg new file mode 100644 index 000000000..822feaec3 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422674x218700.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422674x218701.jpg b/RWT_Cache/Textures/19/mbs422674x218701.jpg new file mode 100644 index 000000000..b0c1d8680 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422674x218701.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422674x218702.jpg b/RWT_Cache/Textures/19/mbs422674x218702.jpg new file mode 100644 index 000000000..4c394dc6f Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422674x218702.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422674x218703.jpg b/RWT_Cache/Textures/19/mbs422674x218703.jpg new file mode 100644 index 000000000..70a2cecc8 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422674x218703.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422674x218704.jpg b/RWT_Cache/Textures/19/mbs422674x218704.jpg new file mode 100644 index 000000000..0f658f721 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422674x218704.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422674x218705.jpg b/RWT_Cache/Textures/19/mbs422674x218705.jpg new file mode 100644 index 000000000..2666a3e9f Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422674x218705.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422674x218706.jpg b/RWT_Cache/Textures/19/mbs422674x218706.jpg new file mode 100644 index 000000000..6625d4a79 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422674x218706.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422674x218707.jpg b/RWT_Cache/Textures/19/mbs422674x218707.jpg new file mode 100644 index 000000000..bff1325a2 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422674x218707.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422674x218708.jpg b/RWT_Cache/Textures/19/mbs422674x218708.jpg new file mode 100644 index 000000000..b1793c2a6 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422674x218708.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422674x218709.jpg b/RWT_Cache/Textures/19/mbs422674x218709.jpg new file mode 100644 index 000000000..eb9506839 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422674x218709.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422674x218710.jpg b/RWT_Cache/Textures/19/mbs422674x218710.jpg new file mode 100644 index 000000000..597dac0e8 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422674x218710.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422674x218711.jpg b/RWT_Cache/Textures/19/mbs422674x218711.jpg new file mode 100644 index 000000000..2efbfb5be Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422674x218711.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422674x218712.jpg b/RWT_Cache/Textures/19/mbs422674x218712.jpg new file mode 100644 index 000000000..97252d310 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422674x218712.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422674x218713.jpg b/RWT_Cache/Textures/19/mbs422674x218713.jpg new file mode 100644 index 000000000..561d00429 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422674x218713.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422674x218714.jpg b/RWT_Cache/Textures/19/mbs422674x218714.jpg new file mode 100644 index 000000000..eac2ede32 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422674x218714.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422674x218715.jpg b/RWT_Cache/Textures/19/mbs422674x218715.jpg new file mode 100644 index 000000000..9aeac81df Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422674x218715.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422674x218716.jpg b/RWT_Cache/Textures/19/mbs422674x218716.jpg new file mode 100644 index 000000000..857319afd Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422674x218716.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422674x218717.jpg b/RWT_Cache/Textures/19/mbs422674x218717.jpg new file mode 100644 index 000000000..8d7528398 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422674x218717.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422674x218718.jpg b/RWT_Cache/Textures/19/mbs422674x218718.jpg new file mode 100644 index 000000000..e37f59952 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422674x218718.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422674x218719.jpg b/RWT_Cache/Textures/19/mbs422674x218719.jpg new file mode 100644 index 000000000..4e23ce3a4 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422674x218719.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422674x218720.jpg b/RWT_Cache/Textures/19/mbs422674x218720.jpg new file mode 100644 index 000000000..c7fc3e1bd Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422674x218720.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422674x218721.jpg b/RWT_Cache/Textures/19/mbs422674x218721.jpg new file mode 100644 index 000000000..a7b09de0c Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422674x218721.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422674x218722.jpg b/RWT_Cache/Textures/19/mbs422674x218722.jpg new file mode 100644 index 000000000..add296f5a Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422674x218722.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422674x218723.jpg b/RWT_Cache/Textures/19/mbs422674x218723.jpg new file mode 100644 index 000000000..0fc78582d Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422674x218723.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422675x218695.jpg b/RWT_Cache/Textures/19/mbs422675x218695.jpg new file mode 100644 index 000000000..5435d336a Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422675x218695.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422675x218696.jpg b/RWT_Cache/Textures/19/mbs422675x218696.jpg new file mode 100644 index 000000000..bd70e498a Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422675x218696.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422675x218697.jpg b/RWT_Cache/Textures/19/mbs422675x218697.jpg new file mode 100644 index 000000000..ac1da9f6d Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422675x218697.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422675x218698.jpg b/RWT_Cache/Textures/19/mbs422675x218698.jpg new file mode 100644 index 000000000..3d4b2ddba Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422675x218698.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422675x218699.jpg b/RWT_Cache/Textures/19/mbs422675x218699.jpg new file mode 100644 index 000000000..afbaa9031 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422675x218699.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422675x218700.jpg b/RWT_Cache/Textures/19/mbs422675x218700.jpg new file mode 100644 index 000000000..d88db338b Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422675x218700.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422675x218701.jpg b/RWT_Cache/Textures/19/mbs422675x218701.jpg new file mode 100644 index 000000000..2bebf67a5 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422675x218701.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422675x218702.jpg b/RWT_Cache/Textures/19/mbs422675x218702.jpg new file mode 100644 index 000000000..68032bb3a Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422675x218702.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422675x218703.jpg b/RWT_Cache/Textures/19/mbs422675x218703.jpg new file mode 100644 index 000000000..265eef546 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422675x218703.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422675x218704.jpg b/RWT_Cache/Textures/19/mbs422675x218704.jpg new file mode 100644 index 000000000..a105e5e57 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422675x218704.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422675x218705.jpg b/RWT_Cache/Textures/19/mbs422675x218705.jpg new file mode 100644 index 000000000..f7cd5bac5 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422675x218705.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422675x218706.jpg b/RWT_Cache/Textures/19/mbs422675x218706.jpg new file mode 100644 index 000000000..2d58ae00e Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422675x218706.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422675x218707.jpg b/RWT_Cache/Textures/19/mbs422675x218707.jpg new file mode 100644 index 000000000..8d25dc74d Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422675x218707.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422675x218708.jpg b/RWT_Cache/Textures/19/mbs422675x218708.jpg new file mode 100644 index 000000000..50752c31e Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422675x218708.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422675x218709.jpg b/RWT_Cache/Textures/19/mbs422675x218709.jpg new file mode 100644 index 000000000..279371e8a Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422675x218709.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422675x218710.jpg b/RWT_Cache/Textures/19/mbs422675x218710.jpg new file mode 100644 index 000000000..6800a69e1 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422675x218710.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422675x218711.jpg b/RWT_Cache/Textures/19/mbs422675x218711.jpg new file mode 100644 index 000000000..532789366 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422675x218711.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422675x218712.jpg b/RWT_Cache/Textures/19/mbs422675x218712.jpg new file mode 100644 index 000000000..9a22d7255 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422675x218712.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422675x218713.jpg b/RWT_Cache/Textures/19/mbs422675x218713.jpg new file mode 100644 index 000000000..7412e6aff Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422675x218713.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422675x218714.jpg b/RWT_Cache/Textures/19/mbs422675x218714.jpg new file mode 100644 index 000000000..aba72dc60 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422675x218714.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422675x218715.jpg b/RWT_Cache/Textures/19/mbs422675x218715.jpg new file mode 100644 index 000000000..aa30746b3 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422675x218715.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422675x218716.jpg b/RWT_Cache/Textures/19/mbs422675x218716.jpg new file mode 100644 index 000000000..67c71a733 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422675x218716.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422675x218717.jpg b/RWT_Cache/Textures/19/mbs422675x218717.jpg new file mode 100644 index 000000000..c2d9e9b07 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422675x218717.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422675x218718.jpg b/RWT_Cache/Textures/19/mbs422675x218718.jpg new file mode 100644 index 000000000..5a5872bd0 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422675x218718.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422675x218719.jpg b/RWT_Cache/Textures/19/mbs422675x218719.jpg new file mode 100644 index 000000000..2e53d5523 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422675x218719.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422675x218720.jpg b/RWT_Cache/Textures/19/mbs422675x218720.jpg new file mode 100644 index 000000000..70113b912 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422675x218720.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422675x218721.jpg b/RWT_Cache/Textures/19/mbs422675x218721.jpg new file mode 100644 index 000000000..455bc0956 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422675x218721.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422675x218722.jpg b/RWT_Cache/Textures/19/mbs422675x218722.jpg new file mode 100644 index 000000000..121bc340b Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422675x218722.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422675x218723.jpg b/RWT_Cache/Textures/19/mbs422675x218723.jpg new file mode 100644 index 000000000..3f4d812d5 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422675x218723.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422676x218695.jpg b/RWT_Cache/Textures/19/mbs422676x218695.jpg new file mode 100644 index 000000000..ed23f976d Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422676x218695.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422676x218696.jpg b/RWT_Cache/Textures/19/mbs422676x218696.jpg new file mode 100644 index 000000000..dd7660145 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422676x218696.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422676x218697.jpg b/RWT_Cache/Textures/19/mbs422676x218697.jpg new file mode 100644 index 000000000..08f29331b Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422676x218697.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422676x218698.jpg b/RWT_Cache/Textures/19/mbs422676x218698.jpg new file mode 100644 index 000000000..f08547024 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422676x218698.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422676x218699.jpg b/RWT_Cache/Textures/19/mbs422676x218699.jpg new file mode 100644 index 000000000..44ce8dad0 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422676x218699.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422676x218700.jpg b/RWT_Cache/Textures/19/mbs422676x218700.jpg new file mode 100644 index 000000000..7e13021b6 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422676x218700.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422676x218701.jpg b/RWT_Cache/Textures/19/mbs422676x218701.jpg new file mode 100644 index 000000000..2e6656700 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422676x218701.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422676x218702.jpg b/RWT_Cache/Textures/19/mbs422676x218702.jpg new file mode 100644 index 000000000..4cb90c7bc Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422676x218702.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422676x218703.jpg b/RWT_Cache/Textures/19/mbs422676x218703.jpg new file mode 100644 index 000000000..cd5d6eb59 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422676x218703.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422676x218704.jpg b/RWT_Cache/Textures/19/mbs422676x218704.jpg new file mode 100644 index 000000000..3b363bc1f Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422676x218704.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422676x218705.jpg b/RWT_Cache/Textures/19/mbs422676x218705.jpg new file mode 100644 index 000000000..29f3ee1e6 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422676x218705.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422676x218706.jpg b/RWT_Cache/Textures/19/mbs422676x218706.jpg new file mode 100644 index 000000000..b52ece5d8 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422676x218706.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422676x218707.jpg b/RWT_Cache/Textures/19/mbs422676x218707.jpg new file mode 100644 index 000000000..1d11fbcb0 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422676x218707.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422676x218708.jpg b/RWT_Cache/Textures/19/mbs422676x218708.jpg new file mode 100644 index 000000000..85698d49c Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422676x218708.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422676x218709.jpg b/RWT_Cache/Textures/19/mbs422676x218709.jpg new file mode 100644 index 000000000..4a61e2cb6 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422676x218709.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422676x218710.jpg b/RWT_Cache/Textures/19/mbs422676x218710.jpg new file mode 100644 index 000000000..8cf640bfd Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422676x218710.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422676x218711.jpg b/RWT_Cache/Textures/19/mbs422676x218711.jpg new file mode 100644 index 000000000..fdd471585 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422676x218711.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422676x218712.jpg b/RWT_Cache/Textures/19/mbs422676x218712.jpg new file mode 100644 index 000000000..30735734d Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422676x218712.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422676x218713.jpg b/RWT_Cache/Textures/19/mbs422676x218713.jpg new file mode 100644 index 000000000..9a765d7d9 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422676x218713.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422676x218714.jpg b/RWT_Cache/Textures/19/mbs422676x218714.jpg new file mode 100644 index 000000000..154188855 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422676x218714.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422676x218715.jpg b/RWT_Cache/Textures/19/mbs422676x218715.jpg new file mode 100644 index 000000000..01d6cb21f Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422676x218715.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422676x218716.jpg b/RWT_Cache/Textures/19/mbs422676x218716.jpg new file mode 100644 index 000000000..0a4638a00 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422676x218716.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422676x218717.jpg b/RWT_Cache/Textures/19/mbs422676x218717.jpg new file mode 100644 index 000000000..46c582afb Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422676x218717.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422676x218718.jpg b/RWT_Cache/Textures/19/mbs422676x218718.jpg new file mode 100644 index 000000000..7ecb83efb Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422676x218718.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422676x218719.jpg b/RWT_Cache/Textures/19/mbs422676x218719.jpg new file mode 100644 index 000000000..f3b7f56e5 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422676x218719.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422676x218720.jpg b/RWT_Cache/Textures/19/mbs422676x218720.jpg new file mode 100644 index 000000000..94bb51b5f Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422676x218720.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422676x218721.jpg b/RWT_Cache/Textures/19/mbs422676x218721.jpg new file mode 100644 index 000000000..a84178ffa Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422676x218721.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422676x218722.jpg b/RWT_Cache/Textures/19/mbs422676x218722.jpg new file mode 100644 index 000000000..c3a0f1366 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422676x218722.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422676x218723.jpg b/RWT_Cache/Textures/19/mbs422676x218723.jpg new file mode 100644 index 000000000..149c89755 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422676x218723.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422677x218695.jpg b/RWT_Cache/Textures/19/mbs422677x218695.jpg new file mode 100644 index 000000000..0da40c380 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422677x218695.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422677x218696.jpg b/RWT_Cache/Textures/19/mbs422677x218696.jpg new file mode 100644 index 000000000..2fa62718b Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422677x218696.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422677x218697.jpg b/RWT_Cache/Textures/19/mbs422677x218697.jpg new file mode 100644 index 000000000..424d9e33d Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422677x218697.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422677x218698.jpg b/RWT_Cache/Textures/19/mbs422677x218698.jpg new file mode 100644 index 000000000..01ce7e877 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422677x218698.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422677x218699.jpg b/RWT_Cache/Textures/19/mbs422677x218699.jpg new file mode 100644 index 000000000..39dc73271 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422677x218699.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422677x218700.jpg b/RWT_Cache/Textures/19/mbs422677x218700.jpg new file mode 100644 index 000000000..f4cd9792f Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422677x218700.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422677x218701.jpg b/RWT_Cache/Textures/19/mbs422677x218701.jpg new file mode 100644 index 000000000..4675aa582 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422677x218701.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422677x218702.jpg b/RWT_Cache/Textures/19/mbs422677x218702.jpg new file mode 100644 index 000000000..aa0a7c08f Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422677x218702.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422677x218703.jpg b/RWT_Cache/Textures/19/mbs422677x218703.jpg new file mode 100644 index 000000000..e0a9b310c Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422677x218703.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422677x218704.jpg b/RWT_Cache/Textures/19/mbs422677x218704.jpg new file mode 100644 index 000000000..91d99f3e3 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422677x218704.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422677x218705.jpg b/RWT_Cache/Textures/19/mbs422677x218705.jpg new file mode 100644 index 000000000..dad2e3289 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422677x218705.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422677x218706.jpg b/RWT_Cache/Textures/19/mbs422677x218706.jpg new file mode 100644 index 000000000..0e31d6062 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422677x218706.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422677x218707.jpg b/RWT_Cache/Textures/19/mbs422677x218707.jpg new file mode 100644 index 000000000..c9c027fb6 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422677x218707.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422677x218708.jpg b/RWT_Cache/Textures/19/mbs422677x218708.jpg new file mode 100644 index 000000000..0d1ec683f Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422677x218708.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422677x218709.jpg b/RWT_Cache/Textures/19/mbs422677x218709.jpg new file mode 100644 index 000000000..03f48c60d Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422677x218709.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422677x218710.jpg b/RWT_Cache/Textures/19/mbs422677x218710.jpg new file mode 100644 index 000000000..337461cb0 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422677x218710.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422677x218711.jpg b/RWT_Cache/Textures/19/mbs422677x218711.jpg new file mode 100644 index 000000000..029c7188f Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422677x218711.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422677x218712.jpg b/RWT_Cache/Textures/19/mbs422677x218712.jpg new file mode 100644 index 000000000..c8c471465 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422677x218712.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422677x218713.jpg b/RWT_Cache/Textures/19/mbs422677x218713.jpg new file mode 100644 index 000000000..c77934b0c Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422677x218713.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422677x218714.jpg b/RWT_Cache/Textures/19/mbs422677x218714.jpg new file mode 100644 index 000000000..61373185f Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422677x218714.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422677x218715.jpg b/RWT_Cache/Textures/19/mbs422677x218715.jpg new file mode 100644 index 000000000..0a4ccefa6 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422677x218715.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422677x218716.jpg b/RWT_Cache/Textures/19/mbs422677x218716.jpg new file mode 100644 index 000000000..83510bc78 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422677x218716.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422677x218717.jpg b/RWT_Cache/Textures/19/mbs422677x218717.jpg new file mode 100644 index 000000000..50a244f93 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422677x218717.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422677x218718.jpg b/RWT_Cache/Textures/19/mbs422677x218718.jpg new file mode 100644 index 000000000..5e07d2dd1 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422677x218718.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422677x218719.jpg b/RWT_Cache/Textures/19/mbs422677x218719.jpg new file mode 100644 index 000000000..56ce77304 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422677x218719.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422677x218720.jpg b/RWT_Cache/Textures/19/mbs422677x218720.jpg new file mode 100644 index 000000000..95fba63bf Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422677x218720.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422677x218721.jpg b/RWT_Cache/Textures/19/mbs422677x218721.jpg new file mode 100644 index 000000000..698fa906a Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422677x218721.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422677x218722.jpg b/RWT_Cache/Textures/19/mbs422677x218722.jpg new file mode 100644 index 000000000..052151c46 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422677x218722.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422677x218723.jpg b/RWT_Cache/Textures/19/mbs422677x218723.jpg new file mode 100644 index 000000000..33bef33eb Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422677x218723.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422678x218695.jpg b/RWT_Cache/Textures/19/mbs422678x218695.jpg new file mode 100644 index 000000000..79db4e8c2 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422678x218695.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422678x218696.jpg b/RWT_Cache/Textures/19/mbs422678x218696.jpg new file mode 100644 index 000000000..5d7a5c882 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422678x218696.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422678x218697.jpg b/RWT_Cache/Textures/19/mbs422678x218697.jpg new file mode 100644 index 000000000..4f66a5fd4 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422678x218697.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422678x218698.jpg b/RWT_Cache/Textures/19/mbs422678x218698.jpg new file mode 100644 index 000000000..89e900d2f Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422678x218698.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422678x218699.jpg b/RWT_Cache/Textures/19/mbs422678x218699.jpg new file mode 100644 index 000000000..5c4ab4c3f Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422678x218699.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422678x218700.jpg b/RWT_Cache/Textures/19/mbs422678x218700.jpg new file mode 100644 index 000000000..05043c231 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422678x218700.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422678x218701.jpg b/RWT_Cache/Textures/19/mbs422678x218701.jpg new file mode 100644 index 000000000..d5d92562b Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422678x218701.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422678x218702.jpg b/RWT_Cache/Textures/19/mbs422678x218702.jpg new file mode 100644 index 000000000..acbe1d26a Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422678x218702.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422678x218703.jpg b/RWT_Cache/Textures/19/mbs422678x218703.jpg new file mode 100644 index 000000000..fa25e2aec Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422678x218703.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422678x218704.jpg b/RWT_Cache/Textures/19/mbs422678x218704.jpg new file mode 100644 index 000000000..35e0ec070 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422678x218704.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422678x218705.jpg b/RWT_Cache/Textures/19/mbs422678x218705.jpg new file mode 100644 index 000000000..11a9c726c Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422678x218705.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422678x218706.jpg b/RWT_Cache/Textures/19/mbs422678x218706.jpg new file mode 100644 index 000000000..b725cab0a Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422678x218706.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422678x218707.jpg b/RWT_Cache/Textures/19/mbs422678x218707.jpg new file mode 100644 index 000000000..3953c4f2e Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422678x218707.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422678x218708.jpg b/RWT_Cache/Textures/19/mbs422678x218708.jpg new file mode 100644 index 000000000..5b262a285 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422678x218708.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422678x218709.jpg b/RWT_Cache/Textures/19/mbs422678x218709.jpg new file mode 100644 index 000000000..1d0d05c29 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422678x218709.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422678x218710.jpg b/RWT_Cache/Textures/19/mbs422678x218710.jpg new file mode 100644 index 000000000..92fb61e44 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422678x218710.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422678x218711.jpg b/RWT_Cache/Textures/19/mbs422678x218711.jpg new file mode 100644 index 000000000..08b09289b Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422678x218711.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422678x218712.jpg b/RWT_Cache/Textures/19/mbs422678x218712.jpg new file mode 100644 index 000000000..548daa528 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422678x218712.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422678x218713.jpg b/RWT_Cache/Textures/19/mbs422678x218713.jpg new file mode 100644 index 000000000..69976e8b5 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422678x218713.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422678x218714.jpg b/RWT_Cache/Textures/19/mbs422678x218714.jpg new file mode 100644 index 000000000..389221e70 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422678x218714.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422678x218715.jpg b/RWT_Cache/Textures/19/mbs422678x218715.jpg new file mode 100644 index 000000000..71cd9f8c7 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422678x218715.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422678x218716.jpg b/RWT_Cache/Textures/19/mbs422678x218716.jpg new file mode 100644 index 000000000..4aadaef6c Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422678x218716.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422678x218717.jpg b/RWT_Cache/Textures/19/mbs422678x218717.jpg new file mode 100644 index 000000000..7922b435e Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422678x218717.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422678x218718.jpg b/RWT_Cache/Textures/19/mbs422678x218718.jpg new file mode 100644 index 000000000..45cbefe2c Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422678x218718.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422678x218719.jpg b/RWT_Cache/Textures/19/mbs422678x218719.jpg new file mode 100644 index 000000000..72c940845 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422678x218719.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422678x218720.jpg b/RWT_Cache/Textures/19/mbs422678x218720.jpg new file mode 100644 index 000000000..ef5cae4cc Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422678x218720.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422678x218721.jpg b/RWT_Cache/Textures/19/mbs422678x218721.jpg new file mode 100644 index 000000000..a395b505b Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422678x218721.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422678x218722.jpg b/RWT_Cache/Textures/19/mbs422678x218722.jpg new file mode 100644 index 000000000..13e448e5a Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422678x218722.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422678x218723.jpg b/RWT_Cache/Textures/19/mbs422678x218723.jpg new file mode 100644 index 000000000..c30f2dd0f Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422678x218723.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422679x218695.jpg b/RWT_Cache/Textures/19/mbs422679x218695.jpg new file mode 100644 index 000000000..7bcdf1ded Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422679x218695.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422679x218696.jpg b/RWT_Cache/Textures/19/mbs422679x218696.jpg new file mode 100644 index 000000000..06865f6f4 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422679x218696.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422679x218697.jpg b/RWT_Cache/Textures/19/mbs422679x218697.jpg new file mode 100644 index 000000000..60c80190e Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422679x218697.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422679x218698.jpg b/RWT_Cache/Textures/19/mbs422679x218698.jpg new file mode 100644 index 000000000..99f728fb1 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422679x218698.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422679x218699.jpg b/RWT_Cache/Textures/19/mbs422679x218699.jpg new file mode 100644 index 000000000..526e1cc82 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422679x218699.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422679x218700.jpg b/RWT_Cache/Textures/19/mbs422679x218700.jpg new file mode 100644 index 000000000..dd44b89c9 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422679x218700.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422679x218701.jpg b/RWT_Cache/Textures/19/mbs422679x218701.jpg new file mode 100644 index 000000000..3e513f2de Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422679x218701.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422679x218702.jpg b/RWT_Cache/Textures/19/mbs422679x218702.jpg new file mode 100644 index 000000000..4c88ea8bd Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422679x218702.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422679x218703.jpg b/RWT_Cache/Textures/19/mbs422679x218703.jpg new file mode 100644 index 000000000..eec049bca Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422679x218703.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422679x218704.jpg b/RWT_Cache/Textures/19/mbs422679x218704.jpg new file mode 100644 index 000000000..8a0f886fe Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422679x218704.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422679x218705.jpg b/RWT_Cache/Textures/19/mbs422679x218705.jpg new file mode 100644 index 000000000..7cdf600f7 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422679x218705.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422679x218706.jpg b/RWT_Cache/Textures/19/mbs422679x218706.jpg new file mode 100644 index 000000000..38ae43261 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422679x218706.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422679x218707.jpg b/RWT_Cache/Textures/19/mbs422679x218707.jpg new file mode 100644 index 000000000..5eec30cc3 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422679x218707.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422679x218708.jpg b/RWT_Cache/Textures/19/mbs422679x218708.jpg new file mode 100644 index 000000000..c02a5559e Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422679x218708.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422679x218709.jpg b/RWT_Cache/Textures/19/mbs422679x218709.jpg new file mode 100644 index 000000000..937abaf41 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422679x218709.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422679x218710.jpg b/RWT_Cache/Textures/19/mbs422679x218710.jpg new file mode 100644 index 000000000..2b9b51169 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422679x218710.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422679x218711.jpg b/RWT_Cache/Textures/19/mbs422679x218711.jpg new file mode 100644 index 000000000..2e9cd283e Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422679x218711.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422679x218712.jpg b/RWT_Cache/Textures/19/mbs422679x218712.jpg new file mode 100644 index 000000000..40c1738b8 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422679x218712.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422679x218713.jpg b/RWT_Cache/Textures/19/mbs422679x218713.jpg new file mode 100644 index 000000000..291e5ca95 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422679x218713.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422679x218714.jpg b/RWT_Cache/Textures/19/mbs422679x218714.jpg new file mode 100644 index 000000000..2d1f271ea Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422679x218714.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422679x218715.jpg b/RWT_Cache/Textures/19/mbs422679x218715.jpg new file mode 100644 index 000000000..511e96288 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422679x218715.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422679x218716.jpg b/RWT_Cache/Textures/19/mbs422679x218716.jpg new file mode 100644 index 000000000..02d6f8bb2 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422679x218716.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422679x218717.jpg b/RWT_Cache/Textures/19/mbs422679x218717.jpg new file mode 100644 index 000000000..f7ff93153 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422679x218717.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422679x218718.jpg b/RWT_Cache/Textures/19/mbs422679x218718.jpg new file mode 100644 index 000000000..56df3b65e Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422679x218718.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422679x218719.jpg b/RWT_Cache/Textures/19/mbs422679x218719.jpg new file mode 100644 index 000000000..314a1ed49 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422679x218719.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422679x218720.jpg b/RWT_Cache/Textures/19/mbs422679x218720.jpg new file mode 100644 index 000000000..4344f8f62 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422679x218720.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422679x218721.jpg b/RWT_Cache/Textures/19/mbs422679x218721.jpg new file mode 100644 index 000000000..a4274a01c Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422679x218721.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422679x218722.jpg b/RWT_Cache/Textures/19/mbs422679x218722.jpg new file mode 100644 index 000000000..3c17a4fde Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422679x218722.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422679x218723.jpg b/RWT_Cache/Textures/19/mbs422679x218723.jpg new file mode 100644 index 000000000..cbef1b6ae Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422679x218723.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422680x218695.jpg b/RWT_Cache/Textures/19/mbs422680x218695.jpg new file mode 100644 index 000000000..fdf6a8155 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422680x218695.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422680x218696.jpg b/RWT_Cache/Textures/19/mbs422680x218696.jpg new file mode 100644 index 000000000..ef45c0292 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422680x218696.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422680x218697.jpg b/RWT_Cache/Textures/19/mbs422680x218697.jpg new file mode 100644 index 000000000..af5c8460c Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422680x218697.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422680x218698.jpg b/RWT_Cache/Textures/19/mbs422680x218698.jpg new file mode 100644 index 000000000..9f26eb62b Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422680x218698.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422680x218699.jpg b/RWT_Cache/Textures/19/mbs422680x218699.jpg new file mode 100644 index 000000000..ef08ab206 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422680x218699.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422680x218700.jpg b/RWT_Cache/Textures/19/mbs422680x218700.jpg new file mode 100644 index 000000000..d3089c481 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422680x218700.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422680x218701.jpg b/RWT_Cache/Textures/19/mbs422680x218701.jpg new file mode 100644 index 000000000..0be0846c3 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422680x218701.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422680x218702.jpg b/RWT_Cache/Textures/19/mbs422680x218702.jpg new file mode 100644 index 000000000..ee5e46c13 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422680x218702.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422680x218703.jpg b/RWT_Cache/Textures/19/mbs422680x218703.jpg new file mode 100644 index 000000000..cfbafe882 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422680x218703.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422680x218704.jpg b/RWT_Cache/Textures/19/mbs422680x218704.jpg new file mode 100644 index 000000000..993484e2f Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422680x218704.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422680x218705.jpg b/RWT_Cache/Textures/19/mbs422680x218705.jpg new file mode 100644 index 000000000..a126cd2cb Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422680x218705.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422680x218706.jpg b/RWT_Cache/Textures/19/mbs422680x218706.jpg new file mode 100644 index 000000000..f2998177e Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422680x218706.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422680x218707.jpg b/RWT_Cache/Textures/19/mbs422680x218707.jpg new file mode 100644 index 000000000..cc983c302 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422680x218707.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422680x218708.jpg b/RWT_Cache/Textures/19/mbs422680x218708.jpg new file mode 100644 index 000000000..68e52463c Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422680x218708.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422680x218709.jpg b/RWT_Cache/Textures/19/mbs422680x218709.jpg new file mode 100644 index 000000000..4068fb4bf Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422680x218709.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422680x218710.jpg b/RWT_Cache/Textures/19/mbs422680x218710.jpg new file mode 100644 index 000000000..46720ff55 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422680x218710.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422680x218711.jpg b/RWT_Cache/Textures/19/mbs422680x218711.jpg new file mode 100644 index 000000000..86efd486f Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422680x218711.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422680x218712.jpg b/RWT_Cache/Textures/19/mbs422680x218712.jpg new file mode 100644 index 000000000..d937e28c9 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422680x218712.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422680x218713.jpg b/RWT_Cache/Textures/19/mbs422680x218713.jpg new file mode 100644 index 000000000..cee6dac2c Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422680x218713.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422680x218714.jpg b/RWT_Cache/Textures/19/mbs422680x218714.jpg new file mode 100644 index 000000000..5372c92d0 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422680x218714.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422680x218715.jpg b/RWT_Cache/Textures/19/mbs422680x218715.jpg new file mode 100644 index 000000000..a050af7c3 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422680x218715.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422680x218716.jpg b/RWT_Cache/Textures/19/mbs422680x218716.jpg new file mode 100644 index 000000000..005786bfb Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422680x218716.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422680x218717.jpg b/RWT_Cache/Textures/19/mbs422680x218717.jpg new file mode 100644 index 000000000..d3f8c11ce Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422680x218717.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422680x218718.jpg b/RWT_Cache/Textures/19/mbs422680x218718.jpg new file mode 100644 index 000000000..8c3b97504 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422680x218718.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422680x218719.jpg b/RWT_Cache/Textures/19/mbs422680x218719.jpg new file mode 100644 index 000000000..954387eee Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422680x218719.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422680x218720.jpg b/RWT_Cache/Textures/19/mbs422680x218720.jpg new file mode 100644 index 000000000..a73f2fc01 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422680x218720.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422680x218721.jpg b/RWT_Cache/Textures/19/mbs422680x218721.jpg new file mode 100644 index 000000000..3088977ca Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422680x218721.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422680x218722.jpg b/RWT_Cache/Textures/19/mbs422680x218722.jpg new file mode 100644 index 000000000..2335260b7 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422680x218722.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422680x218723.jpg b/RWT_Cache/Textures/19/mbs422680x218723.jpg new file mode 100644 index 000000000..8426b499b Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422680x218723.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422681x218695.jpg b/RWT_Cache/Textures/19/mbs422681x218695.jpg new file mode 100644 index 000000000..18500163e Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422681x218695.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422681x218696.jpg b/RWT_Cache/Textures/19/mbs422681x218696.jpg new file mode 100644 index 000000000..c9575e23b Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422681x218696.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422681x218697.jpg b/RWT_Cache/Textures/19/mbs422681x218697.jpg new file mode 100644 index 000000000..294e5fb80 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422681x218697.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422681x218698.jpg b/RWT_Cache/Textures/19/mbs422681x218698.jpg new file mode 100644 index 000000000..fde6fb7dc Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422681x218698.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422681x218699.jpg b/RWT_Cache/Textures/19/mbs422681x218699.jpg new file mode 100644 index 000000000..d7bad579d Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422681x218699.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422681x218700.jpg b/RWT_Cache/Textures/19/mbs422681x218700.jpg new file mode 100644 index 000000000..9cf54ce14 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422681x218700.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422681x218701.jpg b/RWT_Cache/Textures/19/mbs422681x218701.jpg new file mode 100644 index 000000000..2d5f98140 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422681x218701.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422681x218702.jpg b/RWT_Cache/Textures/19/mbs422681x218702.jpg new file mode 100644 index 000000000..54fc22811 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422681x218702.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422681x218703.jpg b/RWT_Cache/Textures/19/mbs422681x218703.jpg new file mode 100644 index 000000000..cca1e081e Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422681x218703.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422681x218704.jpg b/RWT_Cache/Textures/19/mbs422681x218704.jpg new file mode 100644 index 000000000..dbc271afb Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422681x218704.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422681x218705.jpg b/RWT_Cache/Textures/19/mbs422681x218705.jpg new file mode 100644 index 000000000..53f50d899 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422681x218705.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422681x218706.jpg b/RWT_Cache/Textures/19/mbs422681x218706.jpg new file mode 100644 index 000000000..f08f2349e Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422681x218706.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422681x218707.jpg b/RWT_Cache/Textures/19/mbs422681x218707.jpg new file mode 100644 index 000000000..413b87822 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422681x218707.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422681x218708.jpg b/RWT_Cache/Textures/19/mbs422681x218708.jpg new file mode 100644 index 000000000..29f54f73b Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422681x218708.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422681x218709.jpg b/RWT_Cache/Textures/19/mbs422681x218709.jpg new file mode 100644 index 000000000..4ddb75c6f Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422681x218709.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422681x218710.jpg b/RWT_Cache/Textures/19/mbs422681x218710.jpg new file mode 100644 index 000000000..bf029f277 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422681x218710.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422681x218711.jpg b/RWT_Cache/Textures/19/mbs422681x218711.jpg new file mode 100644 index 000000000..68e788c07 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422681x218711.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422681x218712.jpg b/RWT_Cache/Textures/19/mbs422681x218712.jpg new file mode 100644 index 000000000..0e6466d83 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422681x218712.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422681x218713.jpg b/RWT_Cache/Textures/19/mbs422681x218713.jpg new file mode 100644 index 000000000..8e9dcbe12 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422681x218713.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422681x218714.jpg b/RWT_Cache/Textures/19/mbs422681x218714.jpg new file mode 100644 index 000000000..ff884e665 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422681x218714.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422681x218715.jpg b/RWT_Cache/Textures/19/mbs422681x218715.jpg new file mode 100644 index 000000000..f967d067e Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422681x218715.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422681x218716.jpg b/RWT_Cache/Textures/19/mbs422681x218716.jpg new file mode 100644 index 000000000..978d9fd86 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422681x218716.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422681x218717.jpg b/RWT_Cache/Textures/19/mbs422681x218717.jpg new file mode 100644 index 000000000..3c5378d3d Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422681x218717.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422681x218718.jpg b/RWT_Cache/Textures/19/mbs422681x218718.jpg new file mode 100644 index 000000000..9efc920e5 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422681x218718.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422681x218719.jpg b/RWT_Cache/Textures/19/mbs422681x218719.jpg new file mode 100644 index 000000000..5b314eb4b Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422681x218719.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422681x218720.jpg b/RWT_Cache/Textures/19/mbs422681x218720.jpg new file mode 100644 index 000000000..0f64558d7 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422681x218720.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422681x218721.jpg b/RWT_Cache/Textures/19/mbs422681x218721.jpg new file mode 100644 index 000000000..49b569edb Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422681x218721.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422681x218722.jpg b/RWT_Cache/Textures/19/mbs422681x218722.jpg new file mode 100644 index 000000000..f3cab9fd6 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422681x218722.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422681x218723.jpg b/RWT_Cache/Textures/19/mbs422681x218723.jpg new file mode 100644 index 000000000..e16815271 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422681x218723.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422682x218695.jpg b/RWT_Cache/Textures/19/mbs422682x218695.jpg new file mode 100644 index 000000000..7ac0c0711 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422682x218695.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422682x218696.jpg b/RWT_Cache/Textures/19/mbs422682x218696.jpg new file mode 100644 index 000000000..a5298078c Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422682x218696.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422682x218697.jpg b/RWT_Cache/Textures/19/mbs422682x218697.jpg new file mode 100644 index 000000000..206f96bc4 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422682x218697.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422682x218698.jpg b/RWT_Cache/Textures/19/mbs422682x218698.jpg new file mode 100644 index 000000000..09e0c2371 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422682x218698.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422682x218699.jpg b/RWT_Cache/Textures/19/mbs422682x218699.jpg new file mode 100644 index 000000000..9728e723c Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422682x218699.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422682x218700.jpg b/RWT_Cache/Textures/19/mbs422682x218700.jpg new file mode 100644 index 000000000..89ca1f1a8 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422682x218700.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422682x218701.jpg b/RWT_Cache/Textures/19/mbs422682x218701.jpg new file mode 100644 index 000000000..02688289e Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422682x218701.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422682x218702.jpg b/RWT_Cache/Textures/19/mbs422682x218702.jpg new file mode 100644 index 000000000..939deff80 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422682x218702.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422682x218703.jpg b/RWT_Cache/Textures/19/mbs422682x218703.jpg new file mode 100644 index 000000000..dedace112 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422682x218703.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422682x218704.jpg b/RWT_Cache/Textures/19/mbs422682x218704.jpg new file mode 100644 index 000000000..83d751e2c Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422682x218704.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422682x218705.jpg b/RWT_Cache/Textures/19/mbs422682x218705.jpg new file mode 100644 index 000000000..30b376799 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422682x218705.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422682x218706.jpg b/RWT_Cache/Textures/19/mbs422682x218706.jpg new file mode 100644 index 000000000..9798a76a1 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422682x218706.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422682x218707.jpg b/RWT_Cache/Textures/19/mbs422682x218707.jpg new file mode 100644 index 000000000..47d9247e0 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422682x218707.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422682x218708.jpg b/RWT_Cache/Textures/19/mbs422682x218708.jpg new file mode 100644 index 000000000..8992932a7 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422682x218708.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422682x218709.jpg b/RWT_Cache/Textures/19/mbs422682x218709.jpg new file mode 100644 index 000000000..1e8b3bb2d Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422682x218709.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422682x218710.jpg b/RWT_Cache/Textures/19/mbs422682x218710.jpg new file mode 100644 index 000000000..87b1ac759 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422682x218710.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422682x218711.jpg b/RWT_Cache/Textures/19/mbs422682x218711.jpg new file mode 100644 index 000000000..37161d60c Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422682x218711.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422682x218712.jpg b/RWT_Cache/Textures/19/mbs422682x218712.jpg new file mode 100644 index 000000000..073865298 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422682x218712.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422682x218713.jpg b/RWT_Cache/Textures/19/mbs422682x218713.jpg new file mode 100644 index 000000000..b76c3a522 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422682x218713.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422682x218714.jpg b/RWT_Cache/Textures/19/mbs422682x218714.jpg new file mode 100644 index 000000000..4d7b7b297 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422682x218714.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422682x218715.jpg b/RWT_Cache/Textures/19/mbs422682x218715.jpg new file mode 100644 index 000000000..0f0febdd7 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422682x218715.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422682x218716.jpg b/RWT_Cache/Textures/19/mbs422682x218716.jpg new file mode 100644 index 000000000..0d9fe69e4 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422682x218716.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422682x218717.jpg b/RWT_Cache/Textures/19/mbs422682x218717.jpg new file mode 100644 index 000000000..37babfc0b Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422682x218717.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422682x218718.jpg b/RWT_Cache/Textures/19/mbs422682x218718.jpg new file mode 100644 index 000000000..bb17dded2 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422682x218718.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422682x218719.jpg b/RWT_Cache/Textures/19/mbs422682x218719.jpg new file mode 100644 index 000000000..bac6c9e19 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422682x218719.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422682x218720.jpg b/RWT_Cache/Textures/19/mbs422682x218720.jpg new file mode 100644 index 000000000..45413b061 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422682x218720.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422682x218721.jpg b/RWT_Cache/Textures/19/mbs422682x218721.jpg new file mode 100644 index 000000000..cd3efda78 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422682x218721.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422682x218722.jpg b/RWT_Cache/Textures/19/mbs422682x218722.jpg new file mode 100644 index 000000000..bd55a0369 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422682x218722.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422682x218723.jpg b/RWT_Cache/Textures/19/mbs422682x218723.jpg new file mode 100644 index 000000000..c8131cf24 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422682x218723.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422683x218695.jpg b/RWT_Cache/Textures/19/mbs422683x218695.jpg new file mode 100644 index 000000000..36cc74ca8 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422683x218695.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422683x218696.jpg b/RWT_Cache/Textures/19/mbs422683x218696.jpg new file mode 100644 index 000000000..4f6a1d489 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422683x218696.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422683x218697.jpg b/RWT_Cache/Textures/19/mbs422683x218697.jpg new file mode 100644 index 000000000..1afa6b6f8 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422683x218697.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422683x218698.jpg b/RWT_Cache/Textures/19/mbs422683x218698.jpg new file mode 100644 index 000000000..66ca91a15 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422683x218698.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422683x218699.jpg b/RWT_Cache/Textures/19/mbs422683x218699.jpg new file mode 100644 index 000000000..f70eea846 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422683x218699.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422683x218700.jpg b/RWT_Cache/Textures/19/mbs422683x218700.jpg new file mode 100644 index 000000000..d9ea42bc0 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422683x218700.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422683x218701.jpg b/RWT_Cache/Textures/19/mbs422683x218701.jpg new file mode 100644 index 000000000..338d3ad15 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422683x218701.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422683x218702.jpg b/RWT_Cache/Textures/19/mbs422683x218702.jpg new file mode 100644 index 000000000..a55516839 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422683x218702.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422683x218703.jpg b/RWT_Cache/Textures/19/mbs422683x218703.jpg new file mode 100644 index 000000000..4563c7454 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422683x218703.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422683x218704.jpg b/RWT_Cache/Textures/19/mbs422683x218704.jpg new file mode 100644 index 000000000..736c55914 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422683x218704.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422683x218705.jpg b/RWT_Cache/Textures/19/mbs422683x218705.jpg new file mode 100644 index 000000000..c867f6e35 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422683x218705.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422683x218706.jpg b/RWT_Cache/Textures/19/mbs422683x218706.jpg new file mode 100644 index 000000000..1f6a9bc56 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422683x218706.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422683x218707.jpg b/RWT_Cache/Textures/19/mbs422683x218707.jpg new file mode 100644 index 000000000..643dc3144 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422683x218707.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422683x218708.jpg b/RWT_Cache/Textures/19/mbs422683x218708.jpg new file mode 100644 index 000000000..f3265b331 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422683x218708.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422683x218709.jpg b/RWT_Cache/Textures/19/mbs422683x218709.jpg new file mode 100644 index 000000000..5ac5e59e6 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422683x218709.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422683x218710.jpg b/RWT_Cache/Textures/19/mbs422683x218710.jpg new file mode 100644 index 000000000..196bada54 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422683x218710.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422683x218711.jpg b/RWT_Cache/Textures/19/mbs422683x218711.jpg new file mode 100644 index 000000000..13fd41abe Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422683x218711.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422683x218712.jpg b/RWT_Cache/Textures/19/mbs422683x218712.jpg new file mode 100644 index 000000000..07371797f Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422683x218712.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422683x218713.jpg b/RWT_Cache/Textures/19/mbs422683x218713.jpg new file mode 100644 index 000000000..1c4543d14 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422683x218713.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422683x218714.jpg b/RWT_Cache/Textures/19/mbs422683x218714.jpg new file mode 100644 index 000000000..0df30a27d Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422683x218714.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422683x218715.jpg b/RWT_Cache/Textures/19/mbs422683x218715.jpg new file mode 100644 index 000000000..bcd82d213 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422683x218715.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422683x218716.jpg b/RWT_Cache/Textures/19/mbs422683x218716.jpg new file mode 100644 index 000000000..8753a388f Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422683x218716.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422683x218717.jpg b/RWT_Cache/Textures/19/mbs422683x218717.jpg new file mode 100644 index 000000000..50003c63c Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422683x218717.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422683x218718.jpg b/RWT_Cache/Textures/19/mbs422683x218718.jpg new file mode 100644 index 000000000..9038b18c9 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422683x218718.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422683x218719.jpg b/RWT_Cache/Textures/19/mbs422683x218719.jpg new file mode 100644 index 000000000..76de9ca76 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422683x218719.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422683x218720.jpg b/RWT_Cache/Textures/19/mbs422683x218720.jpg new file mode 100644 index 000000000..94ec43f02 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422683x218720.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422683x218721.jpg b/RWT_Cache/Textures/19/mbs422683x218721.jpg new file mode 100644 index 000000000..8102b9b76 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422683x218721.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422683x218722.jpg b/RWT_Cache/Textures/19/mbs422683x218722.jpg new file mode 100644 index 000000000..5fe674ec4 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422683x218722.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422683x218723.jpg b/RWT_Cache/Textures/19/mbs422683x218723.jpg new file mode 100644 index 000000000..43542c4b0 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422683x218723.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422684x218695.jpg b/RWT_Cache/Textures/19/mbs422684x218695.jpg new file mode 100644 index 000000000..f0aba96eb Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422684x218695.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422684x218696.jpg b/RWT_Cache/Textures/19/mbs422684x218696.jpg new file mode 100644 index 000000000..ec5edddd3 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422684x218696.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422684x218697.jpg b/RWT_Cache/Textures/19/mbs422684x218697.jpg new file mode 100644 index 000000000..0ba109e08 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422684x218697.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422684x218698.jpg b/RWT_Cache/Textures/19/mbs422684x218698.jpg new file mode 100644 index 000000000..b0e7f4082 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422684x218698.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422684x218699.jpg b/RWT_Cache/Textures/19/mbs422684x218699.jpg new file mode 100644 index 000000000..d6ecc761a Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422684x218699.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422684x218700.jpg b/RWT_Cache/Textures/19/mbs422684x218700.jpg new file mode 100644 index 000000000..d209294b7 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422684x218700.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422684x218701.jpg b/RWT_Cache/Textures/19/mbs422684x218701.jpg new file mode 100644 index 000000000..7ca90a49b Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422684x218701.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422684x218702.jpg b/RWT_Cache/Textures/19/mbs422684x218702.jpg new file mode 100644 index 000000000..891976296 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422684x218702.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422684x218703.jpg b/RWT_Cache/Textures/19/mbs422684x218703.jpg new file mode 100644 index 000000000..77f076d1f Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422684x218703.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422684x218704.jpg b/RWT_Cache/Textures/19/mbs422684x218704.jpg new file mode 100644 index 000000000..54b0f5e56 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422684x218704.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422684x218705.jpg b/RWT_Cache/Textures/19/mbs422684x218705.jpg new file mode 100644 index 000000000..53f4b431e Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422684x218705.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422684x218706.jpg b/RWT_Cache/Textures/19/mbs422684x218706.jpg new file mode 100644 index 000000000..f41bbb75f Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422684x218706.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422684x218707.jpg b/RWT_Cache/Textures/19/mbs422684x218707.jpg new file mode 100644 index 000000000..d4e04dd2c Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422684x218707.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422684x218708.jpg b/RWT_Cache/Textures/19/mbs422684x218708.jpg new file mode 100644 index 000000000..9d33c8543 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422684x218708.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422684x218709.jpg b/RWT_Cache/Textures/19/mbs422684x218709.jpg new file mode 100644 index 000000000..5c1d8cc43 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422684x218709.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422684x218710.jpg b/RWT_Cache/Textures/19/mbs422684x218710.jpg new file mode 100644 index 000000000..197a42af8 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422684x218710.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422684x218711.jpg b/RWT_Cache/Textures/19/mbs422684x218711.jpg new file mode 100644 index 000000000..e83d3bd64 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422684x218711.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422684x218712.jpg b/RWT_Cache/Textures/19/mbs422684x218712.jpg new file mode 100644 index 000000000..46c3490a4 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422684x218712.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422684x218713.jpg b/RWT_Cache/Textures/19/mbs422684x218713.jpg new file mode 100644 index 000000000..2a519d1b1 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422684x218713.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422684x218714.jpg b/RWT_Cache/Textures/19/mbs422684x218714.jpg new file mode 100644 index 000000000..236496083 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422684x218714.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422684x218715.jpg b/RWT_Cache/Textures/19/mbs422684x218715.jpg new file mode 100644 index 000000000..9b107ad84 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422684x218715.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422684x218716.jpg b/RWT_Cache/Textures/19/mbs422684x218716.jpg new file mode 100644 index 000000000..c1e49b3d7 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422684x218716.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422684x218717.jpg b/RWT_Cache/Textures/19/mbs422684x218717.jpg new file mode 100644 index 000000000..11e3784ab Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422684x218717.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422684x218718.jpg b/RWT_Cache/Textures/19/mbs422684x218718.jpg new file mode 100644 index 000000000..ab446166a Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422684x218718.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422684x218719.jpg b/RWT_Cache/Textures/19/mbs422684x218719.jpg new file mode 100644 index 000000000..39d63c073 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422684x218719.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422684x218720.jpg b/RWT_Cache/Textures/19/mbs422684x218720.jpg new file mode 100644 index 000000000..a6c100d94 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422684x218720.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422684x218721.jpg b/RWT_Cache/Textures/19/mbs422684x218721.jpg new file mode 100644 index 000000000..680439f47 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422684x218721.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422684x218722.jpg b/RWT_Cache/Textures/19/mbs422684x218722.jpg new file mode 100644 index 000000000..429083e25 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422684x218722.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422684x218723.jpg b/RWT_Cache/Textures/19/mbs422684x218723.jpg new file mode 100644 index 000000000..6d86bb670 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422684x218723.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422685x218695.jpg b/RWT_Cache/Textures/19/mbs422685x218695.jpg new file mode 100644 index 000000000..5c3e68c9c Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422685x218695.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422685x218696.jpg b/RWT_Cache/Textures/19/mbs422685x218696.jpg new file mode 100644 index 000000000..9cfcccd75 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422685x218696.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422685x218697.jpg b/RWT_Cache/Textures/19/mbs422685x218697.jpg new file mode 100644 index 000000000..f8ee7fafd Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422685x218697.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422685x218698.jpg b/RWT_Cache/Textures/19/mbs422685x218698.jpg new file mode 100644 index 000000000..1ec9eb5d3 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422685x218698.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422685x218699.jpg b/RWT_Cache/Textures/19/mbs422685x218699.jpg new file mode 100644 index 000000000..b4bb77823 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422685x218699.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422685x218700.jpg b/RWT_Cache/Textures/19/mbs422685x218700.jpg new file mode 100644 index 000000000..60f61ead2 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422685x218700.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422685x218701.jpg b/RWT_Cache/Textures/19/mbs422685x218701.jpg new file mode 100644 index 000000000..15b3612b1 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422685x218701.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422685x218702.jpg b/RWT_Cache/Textures/19/mbs422685x218702.jpg new file mode 100644 index 000000000..65fc405b8 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422685x218702.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422685x218703.jpg b/RWT_Cache/Textures/19/mbs422685x218703.jpg new file mode 100644 index 000000000..9bb165f74 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422685x218703.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422685x218704.jpg b/RWT_Cache/Textures/19/mbs422685x218704.jpg new file mode 100644 index 000000000..e04f5bdf1 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422685x218704.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422685x218705.jpg b/RWT_Cache/Textures/19/mbs422685x218705.jpg new file mode 100644 index 000000000..e5e006bbe Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422685x218705.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422685x218706.jpg b/RWT_Cache/Textures/19/mbs422685x218706.jpg new file mode 100644 index 000000000..7d483f5a7 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422685x218706.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422685x218707.jpg b/RWT_Cache/Textures/19/mbs422685x218707.jpg new file mode 100644 index 000000000..1dc7bcdad Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422685x218707.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422685x218708.jpg b/RWT_Cache/Textures/19/mbs422685x218708.jpg new file mode 100644 index 000000000..0b5607093 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422685x218708.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422685x218709.jpg b/RWT_Cache/Textures/19/mbs422685x218709.jpg new file mode 100644 index 000000000..575d6d873 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422685x218709.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422685x218710.jpg b/RWT_Cache/Textures/19/mbs422685x218710.jpg new file mode 100644 index 000000000..113d826b2 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422685x218710.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422685x218711.jpg b/RWT_Cache/Textures/19/mbs422685x218711.jpg new file mode 100644 index 000000000..8b341c6ad Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422685x218711.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422685x218712.jpg b/RWT_Cache/Textures/19/mbs422685x218712.jpg new file mode 100644 index 000000000..73f4de49b Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422685x218712.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422685x218713.jpg b/RWT_Cache/Textures/19/mbs422685x218713.jpg new file mode 100644 index 000000000..be035854c Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422685x218713.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422685x218714.jpg b/RWT_Cache/Textures/19/mbs422685x218714.jpg new file mode 100644 index 000000000..e9dc1a285 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422685x218714.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422685x218715.jpg b/RWT_Cache/Textures/19/mbs422685x218715.jpg new file mode 100644 index 000000000..4ab9324c7 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422685x218715.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422685x218716.jpg b/RWT_Cache/Textures/19/mbs422685x218716.jpg new file mode 100644 index 000000000..9493fb8ce Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422685x218716.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422685x218717.jpg b/RWT_Cache/Textures/19/mbs422685x218717.jpg new file mode 100644 index 000000000..1fe25a5ef Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422685x218717.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422685x218718.jpg b/RWT_Cache/Textures/19/mbs422685x218718.jpg new file mode 100644 index 000000000..7d245b3fa Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422685x218718.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422685x218719.jpg b/RWT_Cache/Textures/19/mbs422685x218719.jpg new file mode 100644 index 000000000..e1b40372f Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422685x218719.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422685x218720.jpg b/RWT_Cache/Textures/19/mbs422685x218720.jpg new file mode 100644 index 000000000..fc7a29695 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422685x218720.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422685x218721.jpg b/RWT_Cache/Textures/19/mbs422685x218721.jpg new file mode 100644 index 000000000..3b5e29329 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422685x218721.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422685x218722.jpg b/RWT_Cache/Textures/19/mbs422685x218722.jpg new file mode 100644 index 000000000..f8821e159 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422685x218722.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422686x218695.jpg b/RWT_Cache/Textures/19/mbs422686x218695.jpg new file mode 100644 index 000000000..2a4f9038a Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422686x218695.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422686x218696.jpg b/RWT_Cache/Textures/19/mbs422686x218696.jpg new file mode 100644 index 000000000..a9cb3018d Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422686x218696.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422686x218697.jpg b/RWT_Cache/Textures/19/mbs422686x218697.jpg new file mode 100644 index 000000000..af6bd05d0 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422686x218697.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422686x218698.jpg b/RWT_Cache/Textures/19/mbs422686x218698.jpg new file mode 100644 index 000000000..6521ae515 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422686x218698.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422686x218699.jpg b/RWT_Cache/Textures/19/mbs422686x218699.jpg new file mode 100644 index 000000000..444e0ac7a Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422686x218699.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422686x218700.jpg b/RWT_Cache/Textures/19/mbs422686x218700.jpg new file mode 100644 index 000000000..db218e2b6 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422686x218700.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422686x218701.jpg b/RWT_Cache/Textures/19/mbs422686x218701.jpg new file mode 100644 index 000000000..03f9107da Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422686x218701.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422686x218702.jpg b/RWT_Cache/Textures/19/mbs422686x218702.jpg new file mode 100644 index 000000000..8ded7029c Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422686x218702.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422686x218703.jpg b/RWT_Cache/Textures/19/mbs422686x218703.jpg new file mode 100644 index 000000000..13414c79b Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422686x218703.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422686x218704.jpg b/RWT_Cache/Textures/19/mbs422686x218704.jpg new file mode 100644 index 000000000..91b5befe7 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422686x218704.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422686x218705.jpg b/RWT_Cache/Textures/19/mbs422686x218705.jpg new file mode 100644 index 000000000..7611d645b Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422686x218705.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422686x218706.jpg b/RWT_Cache/Textures/19/mbs422686x218706.jpg new file mode 100644 index 000000000..af6a6e3b7 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422686x218706.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422686x218707.jpg b/RWT_Cache/Textures/19/mbs422686x218707.jpg new file mode 100644 index 000000000..90bd9512d Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422686x218707.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422686x218708.jpg b/RWT_Cache/Textures/19/mbs422686x218708.jpg new file mode 100644 index 000000000..73e16b605 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422686x218708.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422686x218709.jpg b/RWT_Cache/Textures/19/mbs422686x218709.jpg new file mode 100644 index 000000000..ff3541079 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422686x218709.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422686x218710.jpg b/RWT_Cache/Textures/19/mbs422686x218710.jpg new file mode 100644 index 000000000..e3cdad7b1 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422686x218710.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422686x218711.jpg b/RWT_Cache/Textures/19/mbs422686x218711.jpg new file mode 100644 index 000000000..124a0f205 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422686x218711.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422686x218712.jpg b/RWT_Cache/Textures/19/mbs422686x218712.jpg new file mode 100644 index 000000000..28833e26d Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422686x218712.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422686x218713.jpg b/RWT_Cache/Textures/19/mbs422686x218713.jpg new file mode 100644 index 000000000..646d6b4fc Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422686x218713.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422686x218714.jpg b/RWT_Cache/Textures/19/mbs422686x218714.jpg new file mode 100644 index 000000000..c59c61d99 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422686x218714.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422686x218715.jpg b/RWT_Cache/Textures/19/mbs422686x218715.jpg new file mode 100644 index 000000000..20b2e4772 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422686x218715.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422686x218716.jpg b/RWT_Cache/Textures/19/mbs422686x218716.jpg new file mode 100644 index 000000000..e358d96ee Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422686x218716.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422686x218717.jpg b/RWT_Cache/Textures/19/mbs422686x218717.jpg new file mode 100644 index 000000000..ced378dd1 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422686x218717.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422686x218718.jpg b/RWT_Cache/Textures/19/mbs422686x218718.jpg new file mode 100644 index 000000000..332bb15a4 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422686x218718.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422686x218719.jpg b/RWT_Cache/Textures/19/mbs422686x218719.jpg new file mode 100644 index 000000000..0a86cef02 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422686x218719.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422686x218720.jpg b/RWT_Cache/Textures/19/mbs422686x218720.jpg new file mode 100644 index 000000000..c2eac92bf Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422686x218720.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422686x218721.jpg b/RWT_Cache/Textures/19/mbs422686x218721.jpg new file mode 100644 index 000000000..8ef74701c Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422686x218721.jpg differ diff --git a/RWT_Cache/Textures/19/mbs422686x218722.jpg b/RWT_Cache/Textures/19/mbs422686x218722.jpg new file mode 100644 index 000000000..d0d5d2832 Binary files /dev/null and b/RWT_Cache/Textures/19/mbs422686x218722.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422656x218695.jpg b/RWT_Cache/Textures/19/s2s422656x218695.jpg new file mode 100644 index 000000000..71e4519a4 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422656x218695.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422656x218696.jpg b/RWT_Cache/Textures/19/s2s422656x218696.jpg new file mode 100644 index 000000000..344d14097 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422656x218696.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422656x218697.jpg b/RWT_Cache/Textures/19/s2s422656x218697.jpg new file mode 100644 index 000000000..f7ce2dd81 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422656x218697.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422656x218698.jpg b/RWT_Cache/Textures/19/s2s422656x218698.jpg new file mode 100644 index 000000000..422c0d685 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422656x218698.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422656x218699.jpg b/RWT_Cache/Textures/19/s2s422656x218699.jpg new file mode 100644 index 000000000..a1cd5cdf2 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422656x218699.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422656x218700.jpg b/RWT_Cache/Textures/19/s2s422656x218700.jpg new file mode 100644 index 000000000..3e18e3621 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422656x218700.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422656x218701.jpg b/RWT_Cache/Textures/19/s2s422656x218701.jpg new file mode 100644 index 000000000..35f5d378f Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422656x218701.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422656x218702.jpg b/RWT_Cache/Textures/19/s2s422656x218702.jpg new file mode 100644 index 000000000..fdcb3c025 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422656x218702.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422656x218703.jpg b/RWT_Cache/Textures/19/s2s422656x218703.jpg new file mode 100644 index 000000000..0831b52d6 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422656x218703.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422656x218704.jpg b/RWT_Cache/Textures/19/s2s422656x218704.jpg new file mode 100644 index 000000000..7398fddb6 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422656x218704.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422656x218705.jpg b/RWT_Cache/Textures/19/s2s422656x218705.jpg new file mode 100644 index 000000000..623b0cb29 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422656x218705.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422656x218706.jpg b/RWT_Cache/Textures/19/s2s422656x218706.jpg new file mode 100644 index 000000000..5e25f4a1e Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422656x218706.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422656x218707.jpg b/RWT_Cache/Textures/19/s2s422656x218707.jpg new file mode 100644 index 000000000..d6115f5fd Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422656x218707.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422656x218708.jpg b/RWT_Cache/Textures/19/s2s422656x218708.jpg new file mode 100644 index 000000000..7af695d45 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422656x218708.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422656x218709.jpg b/RWT_Cache/Textures/19/s2s422656x218709.jpg new file mode 100644 index 000000000..74cdbf598 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422656x218709.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422656x218710.jpg b/RWT_Cache/Textures/19/s2s422656x218710.jpg new file mode 100644 index 000000000..fa1c95559 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422656x218710.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422656x218711.jpg b/RWT_Cache/Textures/19/s2s422656x218711.jpg new file mode 100644 index 000000000..ed464d7e2 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422656x218711.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422656x218712.jpg b/RWT_Cache/Textures/19/s2s422656x218712.jpg new file mode 100644 index 000000000..55e508069 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422656x218712.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422656x218713.jpg b/RWT_Cache/Textures/19/s2s422656x218713.jpg new file mode 100644 index 000000000..04fefc607 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422656x218713.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422656x218714.jpg b/RWT_Cache/Textures/19/s2s422656x218714.jpg new file mode 100644 index 000000000..2e010edc0 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422656x218714.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422656x218715.jpg b/RWT_Cache/Textures/19/s2s422656x218715.jpg new file mode 100644 index 000000000..c1bfbad83 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422656x218715.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422656x218716.jpg b/RWT_Cache/Textures/19/s2s422656x218716.jpg new file mode 100644 index 000000000..16f5ae58d Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422656x218716.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422656x218717.jpg b/RWT_Cache/Textures/19/s2s422656x218717.jpg new file mode 100644 index 000000000..dfc6595dc Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422656x218717.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422656x218718.jpg b/RWT_Cache/Textures/19/s2s422656x218718.jpg new file mode 100644 index 000000000..45e168efb Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422656x218718.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422656x218719.jpg b/RWT_Cache/Textures/19/s2s422656x218719.jpg new file mode 100644 index 000000000..8fb6be5e4 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422656x218719.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422656x218720.jpg b/RWT_Cache/Textures/19/s2s422656x218720.jpg new file mode 100644 index 000000000..4d0546f5e Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422656x218720.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422656x218721.jpg b/RWT_Cache/Textures/19/s2s422656x218721.jpg new file mode 100644 index 000000000..13f8ddedd Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422656x218721.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422656x218722.jpg b/RWT_Cache/Textures/19/s2s422656x218722.jpg new file mode 100644 index 000000000..f3d419cde Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422656x218722.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422657x218695.jpg b/RWT_Cache/Textures/19/s2s422657x218695.jpg new file mode 100644 index 000000000..fe24a2ac2 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422657x218695.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422657x218696.jpg b/RWT_Cache/Textures/19/s2s422657x218696.jpg new file mode 100644 index 000000000..5dca7a92e Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422657x218696.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422657x218697.jpg b/RWT_Cache/Textures/19/s2s422657x218697.jpg new file mode 100644 index 000000000..e0bf58ccd Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422657x218697.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422657x218698.jpg b/RWT_Cache/Textures/19/s2s422657x218698.jpg new file mode 100644 index 000000000..9cadcc974 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422657x218698.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422657x218699.jpg b/RWT_Cache/Textures/19/s2s422657x218699.jpg new file mode 100644 index 000000000..82ca1da1d Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422657x218699.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422657x218700.jpg b/RWT_Cache/Textures/19/s2s422657x218700.jpg new file mode 100644 index 000000000..b68d7decb Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422657x218700.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422657x218701.jpg b/RWT_Cache/Textures/19/s2s422657x218701.jpg new file mode 100644 index 000000000..2f79cd114 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422657x218701.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422657x218702.jpg b/RWT_Cache/Textures/19/s2s422657x218702.jpg new file mode 100644 index 000000000..6451ec258 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422657x218702.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422657x218703.jpg b/RWT_Cache/Textures/19/s2s422657x218703.jpg new file mode 100644 index 000000000..eb6bfe190 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422657x218703.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422657x218704.jpg b/RWT_Cache/Textures/19/s2s422657x218704.jpg new file mode 100644 index 000000000..440ef425e Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422657x218704.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422657x218705.jpg b/RWT_Cache/Textures/19/s2s422657x218705.jpg new file mode 100644 index 000000000..043b01757 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422657x218705.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422657x218706.jpg b/RWT_Cache/Textures/19/s2s422657x218706.jpg new file mode 100644 index 000000000..05ceaabfe Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422657x218706.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422657x218707.jpg b/RWT_Cache/Textures/19/s2s422657x218707.jpg new file mode 100644 index 000000000..67ca983b8 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422657x218707.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422657x218708.jpg b/RWT_Cache/Textures/19/s2s422657x218708.jpg new file mode 100644 index 000000000..0670fb3a6 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422657x218708.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422657x218709.jpg b/RWT_Cache/Textures/19/s2s422657x218709.jpg new file mode 100644 index 000000000..350e4bd77 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422657x218709.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422657x218710.jpg b/RWT_Cache/Textures/19/s2s422657x218710.jpg new file mode 100644 index 000000000..f5dec8538 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422657x218710.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422657x218711.jpg b/RWT_Cache/Textures/19/s2s422657x218711.jpg new file mode 100644 index 000000000..69467b00c Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422657x218711.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422657x218712.jpg b/RWT_Cache/Textures/19/s2s422657x218712.jpg new file mode 100644 index 000000000..ac02873ca Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422657x218712.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422657x218713.jpg b/RWT_Cache/Textures/19/s2s422657x218713.jpg new file mode 100644 index 000000000..eb6d4ede6 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422657x218713.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422657x218714.jpg b/RWT_Cache/Textures/19/s2s422657x218714.jpg new file mode 100644 index 000000000..b95bb67a3 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422657x218714.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422657x218715.jpg b/RWT_Cache/Textures/19/s2s422657x218715.jpg new file mode 100644 index 000000000..a4c499fc5 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422657x218715.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422657x218716.jpg b/RWT_Cache/Textures/19/s2s422657x218716.jpg new file mode 100644 index 000000000..d1b5903f5 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422657x218716.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422657x218717.jpg b/RWT_Cache/Textures/19/s2s422657x218717.jpg new file mode 100644 index 000000000..390782756 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422657x218717.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422657x218718.jpg b/RWT_Cache/Textures/19/s2s422657x218718.jpg new file mode 100644 index 000000000..9912592c1 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422657x218718.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422657x218719.jpg b/RWT_Cache/Textures/19/s2s422657x218719.jpg new file mode 100644 index 000000000..26ac67e42 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422657x218719.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422657x218720.jpg b/RWT_Cache/Textures/19/s2s422657x218720.jpg new file mode 100644 index 000000000..464e0f63d Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422657x218720.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422657x218721.jpg b/RWT_Cache/Textures/19/s2s422657x218721.jpg new file mode 100644 index 000000000..405580881 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422657x218721.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422657x218722.jpg b/RWT_Cache/Textures/19/s2s422657x218722.jpg new file mode 100644 index 000000000..1ef743952 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422657x218722.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422658x218695.jpg b/RWT_Cache/Textures/19/s2s422658x218695.jpg new file mode 100644 index 000000000..c31a56719 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422658x218695.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422658x218696.jpg b/RWT_Cache/Textures/19/s2s422658x218696.jpg new file mode 100644 index 000000000..44f3141d0 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422658x218696.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422658x218697.jpg b/RWT_Cache/Textures/19/s2s422658x218697.jpg new file mode 100644 index 000000000..aa2a2c126 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422658x218697.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422658x218698.jpg b/RWT_Cache/Textures/19/s2s422658x218698.jpg new file mode 100644 index 000000000..790ba909c Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422658x218698.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422658x218699.jpg b/RWT_Cache/Textures/19/s2s422658x218699.jpg new file mode 100644 index 000000000..82cba7359 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422658x218699.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422658x218700.jpg b/RWT_Cache/Textures/19/s2s422658x218700.jpg new file mode 100644 index 000000000..4cacc0db0 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422658x218700.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422658x218701.jpg b/RWT_Cache/Textures/19/s2s422658x218701.jpg new file mode 100644 index 000000000..485a1a3cd Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422658x218701.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422658x218702.jpg b/RWT_Cache/Textures/19/s2s422658x218702.jpg new file mode 100644 index 000000000..43d25f85c Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422658x218702.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422658x218703.jpg b/RWT_Cache/Textures/19/s2s422658x218703.jpg new file mode 100644 index 000000000..ac93e31ca Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422658x218703.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422658x218704.jpg b/RWT_Cache/Textures/19/s2s422658x218704.jpg new file mode 100644 index 000000000..566d6ae1e Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422658x218704.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422658x218705.jpg b/RWT_Cache/Textures/19/s2s422658x218705.jpg new file mode 100644 index 000000000..6bed2d393 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422658x218705.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422658x218706.jpg b/RWT_Cache/Textures/19/s2s422658x218706.jpg new file mode 100644 index 000000000..11b10c049 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422658x218706.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422658x218707.jpg b/RWT_Cache/Textures/19/s2s422658x218707.jpg new file mode 100644 index 000000000..3b0344e60 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422658x218707.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422658x218708.jpg b/RWT_Cache/Textures/19/s2s422658x218708.jpg new file mode 100644 index 000000000..5c371f4f6 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422658x218708.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422658x218709.jpg b/RWT_Cache/Textures/19/s2s422658x218709.jpg new file mode 100644 index 000000000..96a1018e3 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422658x218709.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422658x218710.jpg b/RWT_Cache/Textures/19/s2s422658x218710.jpg new file mode 100644 index 000000000..3bb5894e1 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422658x218710.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422658x218711.jpg b/RWT_Cache/Textures/19/s2s422658x218711.jpg new file mode 100644 index 000000000..769e95936 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422658x218711.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422658x218712.jpg b/RWT_Cache/Textures/19/s2s422658x218712.jpg new file mode 100644 index 000000000..09a94d5a5 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422658x218712.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422658x218713.jpg b/RWT_Cache/Textures/19/s2s422658x218713.jpg new file mode 100644 index 000000000..8cd2e8a30 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422658x218713.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422658x218714.jpg b/RWT_Cache/Textures/19/s2s422658x218714.jpg new file mode 100644 index 000000000..096a550f3 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422658x218714.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422658x218715.jpg b/RWT_Cache/Textures/19/s2s422658x218715.jpg new file mode 100644 index 000000000..5da4ee3d8 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422658x218715.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422658x218716.jpg b/RWT_Cache/Textures/19/s2s422658x218716.jpg new file mode 100644 index 000000000..e1d9cf0be Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422658x218716.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422658x218717.jpg b/RWT_Cache/Textures/19/s2s422658x218717.jpg new file mode 100644 index 000000000..ab9b97f7b Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422658x218717.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422658x218718.jpg b/RWT_Cache/Textures/19/s2s422658x218718.jpg new file mode 100644 index 000000000..ca091c49a Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422658x218718.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422658x218719.jpg b/RWT_Cache/Textures/19/s2s422658x218719.jpg new file mode 100644 index 000000000..f8652a9f6 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422658x218719.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422658x218720.jpg b/RWT_Cache/Textures/19/s2s422658x218720.jpg new file mode 100644 index 000000000..690bfaa9f Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422658x218720.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422658x218721.jpg b/RWT_Cache/Textures/19/s2s422658x218721.jpg new file mode 100644 index 000000000..a3f5adcc7 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422658x218721.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422658x218722.jpg b/RWT_Cache/Textures/19/s2s422658x218722.jpg new file mode 100644 index 000000000..ce78a4073 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422658x218722.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422659x218695.jpg b/RWT_Cache/Textures/19/s2s422659x218695.jpg new file mode 100644 index 000000000..41182732f Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422659x218695.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422659x218696.jpg b/RWT_Cache/Textures/19/s2s422659x218696.jpg new file mode 100644 index 000000000..436af4b61 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422659x218696.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422659x218697.jpg b/RWT_Cache/Textures/19/s2s422659x218697.jpg new file mode 100644 index 000000000..5d62e5b4d Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422659x218697.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422659x218698.jpg b/RWT_Cache/Textures/19/s2s422659x218698.jpg new file mode 100644 index 000000000..ac2497a63 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422659x218698.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422659x218699.jpg b/RWT_Cache/Textures/19/s2s422659x218699.jpg new file mode 100644 index 000000000..51529ca71 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422659x218699.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422659x218700.jpg b/RWT_Cache/Textures/19/s2s422659x218700.jpg new file mode 100644 index 000000000..7275c013f Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422659x218700.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422659x218701.jpg b/RWT_Cache/Textures/19/s2s422659x218701.jpg new file mode 100644 index 000000000..e8977112e Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422659x218701.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422659x218702.jpg b/RWT_Cache/Textures/19/s2s422659x218702.jpg new file mode 100644 index 000000000..19b3c1295 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422659x218702.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422659x218703.jpg b/RWT_Cache/Textures/19/s2s422659x218703.jpg new file mode 100644 index 000000000..7751362c5 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422659x218703.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422659x218704.jpg b/RWT_Cache/Textures/19/s2s422659x218704.jpg new file mode 100644 index 000000000..01bea8521 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422659x218704.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422659x218705.jpg b/RWT_Cache/Textures/19/s2s422659x218705.jpg new file mode 100644 index 000000000..0ebd8ba9d Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422659x218705.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422659x218706.jpg b/RWT_Cache/Textures/19/s2s422659x218706.jpg new file mode 100644 index 000000000..663b6b693 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422659x218706.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422659x218707.jpg b/RWT_Cache/Textures/19/s2s422659x218707.jpg new file mode 100644 index 000000000..0a97a40db Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422659x218707.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422659x218708.jpg b/RWT_Cache/Textures/19/s2s422659x218708.jpg new file mode 100644 index 000000000..6c616ba66 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422659x218708.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422659x218709.jpg b/RWT_Cache/Textures/19/s2s422659x218709.jpg new file mode 100644 index 000000000..fab8463fb Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422659x218709.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422659x218710.jpg b/RWT_Cache/Textures/19/s2s422659x218710.jpg new file mode 100644 index 000000000..9a44d762b Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422659x218710.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422659x218711.jpg b/RWT_Cache/Textures/19/s2s422659x218711.jpg new file mode 100644 index 000000000..9fd6a19c5 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422659x218711.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422659x218712.jpg b/RWT_Cache/Textures/19/s2s422659x218712.jpg new file mode 100644 index 000000000..1f30f30c9 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422659x218712.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422659x218713.jpg b/RWT_Cache/Textures/19/s2s422659x218713.jpg new file mode 100644 index 000000000..59a49b4eb Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422659x218713.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422659x218714.jpg b/RWT_Cache/Textures/19/s2s422659x218714.jpg new file mode 100644 index 000000000..5de339590 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422659x218714.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422659x218715.jpg b/RWT_Cache/Textures/19/s2s422659x218715.jpg new file mode 100644 index 000000000..5954cbd5d Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422659x218715.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422659x218716.jpg b/RWT_Cache/Textures/19/s2s422659x218716.jpg new file mode 100644 index 000000000..c8b047a4e Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422659x218716.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422659x218717.jpg b/RWT_Cache/Textures/19/s2s422659x218717.jpg new file mode 100644 index 000000000..ef5e87940 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422659x218717.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422659x218718.jpg b/RWT_Cache/Textures/19/s2s422659x218718.jpg new file mode 100644 index 000000000..4b1066a86 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422659x218718.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422659x218719.jpg b/RWT_Cache/Textures/19/s2s422659x218719.jpg new file mode 100644 index 000000000..f45593d41 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422659x218719.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422659x218720.jpg b/RWT_Cache/Textures/19/s2s422659x218720.jpg new file mode 100644 index 000000000..5149117ae Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422659x218720.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422659x218721.jpg b/RWT_Cache/Textures/19/s2s422659x218721.jpg new file mode 100644 index 000000000..fb6fc1ff1 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422659x218721.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422659x218722.jpg b/RWT_Cache/Textures/19/s2s422659x218722.jpg new file mode 100644 index 000000000..8db4f44bb Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422659x218722.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422660x218695.jpg b/RWT_Cache/Textures/19/s2s422660x218695.jpg new file mode 100644 index 000000000..95d1e195f Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422660x218695.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422660x218696.jpg b/RWT_Cache/Textures/19/s2s422660x218696.jpg new file mode 100644 index 000000000..166530a84 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422660x218696.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422660x218697.jpg b/RWT_Cache/Textures/19/s2s422660x218697.jpg new file mode 100644 index 000000000..81ae3b9ca Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422660x218697.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422660x218698.jpg b/RWT_Cache/Textures/19/s2s422660x218698.jpg new file mode 100644 index 000000000..006ec0c36 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422660x218698.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422660x218699.jpg b/RWT_Cache/Textures/19/s2s422660x218699.jpg new file mode 100644 index 000000000..958c62358 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422660x218699.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422660x218700.jpg b/RWT_Cache/Textures/19/s2s422660x218700.jpg new file mode 100644 index 000000000..62d9e3bd2 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422660x218700.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422660x218701.jpg b/RWT_Cache/Textures/19/s2s422660x218701.jpg new file mode 100644 index 000000000..c45ad13ae Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422660x218701.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422660x218702.jpg b/RWT_Cache/Textures/19/s2s422660x218702.jpg new file mode 100644 index 000000000..c526faae6 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422660x218702.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422660x218703.jpg b/RWT_Cache/Textures/19/s2s422660x218703.jpg new file mode 100644 index 000000000..aa156e9c6 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422660x218703.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422660x218704.jpg b/RWT_Cache/Textures/19/s2s422660x218704.jpg new file mode 100644 index 000000000..610e29993 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422660x218704.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422660x218705.jpg b/RWT_Cache/Textures/19/s2s422660x218705.jpg new file mode 100644 index 000000000..1a3d847ca Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422660x218705.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422660x218706.jpg b/RWT_Cache/Textures/19/s2s422660x218706.jpg new file mode 100644 index 000000000..eb6089117 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422660x218706.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422660x218707.jpg b/RWT_Cache/Textures/19/s2s422660x218707.jpg new file mode 100644 index 000000000..536cf8ebf Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422660x218707.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422660x218708.jpg b/RWT_Cache/Textures/19/s2s422660x218708.jpg new file mode 100644 index 000000000..57998f975 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422660x218708.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422660x218709.jpg b/RWT_Cache/Textures/19/s2s422660x218709.jpg new file mode 100644 index 000000000..2ea9f0c55 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422660x218709.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422660x218710.jpg b/RWT_Cache/Textures/19/s2s422660x218710.jpg new file mode 100644 index 000000000..6c81d4525 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422660x218710.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422660x218711.jpg b/RWT_Cache/Textures/19/s2s422660x218711.jpg new file mode 100644 index 000000000..001e10b40 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422660x218711.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422660x218712.jpg b/RWT_Cache/Textures/19/s2s422660x218712.jpg new file mode 100644 index 000000000..106735975 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422660x218712.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422660x218713.jpg b/RWT_Cache/Textures/19/s2s422660x218713.jpg new file mode 100644 index 000000000..ab566a732 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422660x218713.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422660x218714.jpg b/RWT_Cache/Textures/19/s2s422660x218714.jpg new file mode 100644 index 000000000..1dd4f29b4 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422660x218714.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422660x218715.jpg b/RWT_Cache/Textures/19/s2s422660x218715.jpg new file mode 100644 index 000000000..e0c957f28 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422660x218715.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422660x218716.jpg b/RWT_Cache/Textures/19/s2s422660x218716.jpg new file mode 100644 index 000000000..7c7e5afb3 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422660x218716.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422660x218717.jpg b/RWT_Cache/Textures/19/s2s422660x218717.jpg new file mode 100644 index 000000000..c49ae1307 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422660x218717.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422660x218718.jpg b/RWT_Cache/Textures/19/s2s422660x218718.jpg new file mode 100644 index 000000000..b6f393f5b Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422660x218718.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422660x218719.jpg b/RWT_Cache/Textures/19/s2s422660x218719.jpg new file mode 100644 index 000000000..6f0362cb0 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422660x218719.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422660x218720.jpg b/RWT_Cache/Textures/19/s2s422660x218720.jpg new file mode 100644 index 000000000..0ff4c4638 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422660x218720.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422660x218721.jpg b/RWT_Cache/Textures/19/s2s422660x218721.jpg new file mode 100644 index 000000000..de0bb132a Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422660x218721.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422660x218722.jpg b/RWT_Cache/Textures/19/s2s422660x218722.jpg new file mode 100644 index 000000000..4f31f5d94 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422660x218722.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422661x218695.jpg b/RWT_Cache/Textures/19/s2s422661x218695.jpg new file mode 100644 index 000000000..3504d3c2f Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422661x218695.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422661x218696.jpg b/RWT_Cache/Textures/19/s2s422661x218696.jpg new file mode 100644 index 000000000..87ed85b51 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422661x218696.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422661x218697.jpg b/RWT_Cache/Textures/19/s2s422661x218697.jpg new file mode 100644 index 000000000..8bd3dabf0 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422661x218697.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422661x218698.jpg b/RWT_Cache/Textures/19/s2s422661x218698.jpg new file mode 100644 index 000000000..4ddf756c8 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422661x218698.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422661x218699.jpg b/RWT_Cache/Textures/19/s2s422661x218699.jpg new file mode 100644 index 000000000..a991e36e0 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422661x218699.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422661x218700.jpg b/RWT_Cache/Textures/19/s2s422661x218700.jpg new file mode 100644 index 000000000..78ae2da94 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422661x218700.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422661x218701.jpg b/RWT_Cache/Textures/19/s2s422661x218701.jpg new file mode 100644 index 000000000..05e594da2 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422661x218701.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422661x218702.jpg b/RWT_Cache/Textures/19/s2s422661x218702.jpg new file mode 100644 index 000000000..f103a9a09 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422661x218702.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422661x218703.jpg b/RWT_Cache/Textures/19/s2s422661x218703.jpg new file mode 100644 index 000000000..24e743499 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422661x218703.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422661x218704.jpg b/RWT_Cache/Textures/19/s2s422661x218704.jpg new file mode 100644 index 000000000..1e61ce095 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422661x218704.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422661x218705.jpg b/RWT_Cache/Textures/19/s2s422661x218705.jpg new file mode 100644 index 000000000..0fe707d4b Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422661x218705.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422661x218706.jpg b/RWT_Cache/Textures/19/s2s422661x218706.jpg new file mode 100644 index 000000000..16a99a055 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422661x218706.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422661x218707.jpg b/RWT_Cache/Textures/19/s2s422661x218707.jpg new file mode 100644 index 000000000..da8bc0588 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422661x218707.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422661x218708.jpg b/RWT_Cache/Textures/19/s2s422661x218708.jpg new file mode 100644 index 000000000..1cb0d69ef Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422661x218708.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422661x218709.jpg b/RWT_Cache/Textures/19/s2s422661x218709.jpg new file mode 100644 index 000000000..337de3365 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422661x218709.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422661x218710.jpg b/RWT_Cache/Textures/19/s2s422661x218710.jpg new file mode 100644 index 000000000..a3e2a9ba7 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422661x218710.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422661x218711.jpg b/RWT_Cache/Textures/19/s2s422661x218711.jpg new file mode 100644 index 000000000..710eb897a Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422661x218711.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422661x218712.jpg b/RWT_Cache/Textures/19/s2s422661x218712.jpg new file mode 100644 index 000000000..880058a26 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422661x218712.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422661x218713.jpg b/RWT_Cache/Textures/19/s2s422661x218713.jpg new file mode 100644 index 000000000..3aafd7f46 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422661x218713.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422661x218714.jpg b/RWT_Cache/Textures/19/s2s422661x218714.jpg new file mode 100644 index 000000000..51af41a35 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422661x218714.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422661x218715.jpg b/RWT_Cache/Textures/19/s2s422661x218715.jpg new file mode 100644 index 000000000..17ab6e097 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422661x218715.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422661x218716.jpg b/RWT_Cache/Textures/19/s2s422661x218716.jpg new file mode 100644 index 000000000..179e7b252 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422661x218716.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422661x218717.jpg b/RWT_Cache/Textures/19/s2s422661x218717.jpg new file mode 100644 index 000000000..87ade3c2d Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422661x218717.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422661x218718.jpg b/RWT_Cache/Textures/19/s2s422661x218718.jpg new file mode 100644 index 000000000..485163b6e Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422661x218718.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422661x218719.jpg b/RWT_Cache/Textures/19/s2s422661x218719.jpg new file mode 100644 index 000000000..99ad0d38c Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422661x218719.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422661x218720.jpg b/RWT_Cache/Textures/19/s2s422661x218720.jpg new file mode 100644 index 000000000..9a1de296e Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422661x218720.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422661x218721.jpg b/RWT_Cache/Textures/19/s2s422661x218721.jpg new file mode 100644 index 000000000..911b4064f Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422661x218721.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422661x218722.jpg b/RWT_Cache/Textures/19/s2s422661x218722.jpg new file mode 100644 index 000000000..8acfe3ed8 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422661x218722.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422662x218695.jpg b/RWT_Cache/Textures/19/s2s422662x218695.jpg new file mode 100644 index 000000000..bdd24e99a Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422662x218695.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422662x218696.jpg b/RWT_Cache/Textures/19/s2s422662x218696.jpg new file mode 100644 index 000000000..2093e0201 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422662x218696.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422662x218697.jpg b/RWT_Cache/Textures/19/s2s422662x218697.jpg new file mode 100644 index 000000000..2d34e2120 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422662x218697.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422662x218698.jpg b/RWT_Cache/Textures/19/s2s422662x218698.jpg new file mode 100644 index 000000000..23c330a75 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422662x218698.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422662x218699.jpg b/RWT_Cache/Textures/19/s2s422662x218699.jpg new file mode 100644 index 000000000..560f3a453 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422662x218699.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422662x218700.jpg b/RWT_Cache/Textures/19/s2s422662x218700.jpg new file mode 100644 index 000000000..d5ead8729 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422662x218700.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422662x218701.jpg b/RWT_Cache/Textures/19/s2s422662x218701.jpg new file mode 100644 index 000000000..c18e8d954 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422662x218701.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422662x218702.jpg b/RWT_Cache/Textures/19/s2s422662x218702.jpg new file mode 100644 index 000000000..e636524af Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422662x218702.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422662x218703.jpg b/RWT_Cache/Textures/19/s2s422662x218703.jpg new file mode 100644 index 000000000..600202577 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422662x218703.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422662x218704.jpg b/RWT_Cache/Textures/19/s2s422662x218704.jpg new file mode 100644 index 000000000..e50605aa7 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422662x218704.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422662x218705.jpg b/RWT_Cache/Textures/19/s2s422662x218705.jpg new file mode 100644 index 000000000..207c4cbe8 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422662x218705.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422662x218706.jpg b/RWT_Cache/Textures/19/s2s422662x218706.jpg new file mode 100644 index 000000000..177df25e8 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422662x218706.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422662x218707.jpg b/RWT_Cache/Textures/19/s2s422662x218707.jpg new file mode 100644 index 000000000..0a5b2270d Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422662x218707.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422662x218708.jpg b/RWT_Cache/Textures/19/s2s422662x218708.jpg new file mode 100644 index 000000000..211cbc70d Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422662x218708.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422662x218709.jpg b/RWT_Cache/Textures/19/s2s422662x218709.jpg new file mode 100644 index 000000000..e547c7cea Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422662x218709.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422662x218710.jpg b/RWT_Cache/Textures/19/s2s422662x218710.jpg new file mode 100644 index 000000000..eaddd3095 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422662x218710.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422662x218711.jpg b/RWT_Cache/Textures/19/s2s422662x218711.jpg new file mode 100644 index 000000000..4cbc2783d Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422662x218711.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422662x218712.jpg b/RWT_Cache/Textures/19/s2s422662x218712.jpg new file mode 100644 index 000000000..215d6ec55 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422662x218712.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422662x218713.jpg b/RWT_Cache/Textures/19/s2s422662x218713.jpg new file mode 100644 index 000000000..878096d8d Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422662x218713.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422662x218714.jpg b/RWT_Cache/Textures/19/s2s422662x218714.jpg new file mode 100644 index 000000000..ac529b496 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422662x218714.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422662x218715.jpg b/RWT_Cache/Textures/19/s2s422662x218715.jpg new file mode 100644 index 000000000..ba0df4f52 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422662x218715.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422662x218716.jpg b/RWT_Cache/Textures/19/s2s422662x218716.jpg new file mode 100644 index 000000000..93fa1a83c Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422662x218716.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422662x218717.jpg b/RWT_Cache/Textures/19/s2s422662x218717.jpg new file mode 100644 index 000000000..f360c0724 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422662x218717.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422662x218718.jpg b/RWT_Cache/Textures/19/s2s422662x218718.jpg new file mode 100644 index 000000000..88eac124f Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422662x218718.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422662x218719.jpg b/RWT_Cache/Textures/19/s2s422662x218719.jpg new file mode 100644 index 000000000..1c891607b Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422662x218719.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422662x218720.jpg b/RWT_Cache/Textures/19/s2s422662x218720.jpg new file mode 100644 index 000000000..52fb8e061 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422662x218720.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422662x218721.jpg b/RWT_Cache/Textures/19/s2s422662x218721.jpg new file mode 100644 index 000000000..d7dd932f9 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422662x218721.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422662x218722.jpg b/RWT_Cache/Textures/19/s2s422662x218722.jpg new file mode 100644 index 000000000..d294672f1 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422662x218722.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422663x218695.jpg b/RWT_Cache/Textures/19/s2s422663x218695.jpg new file mode 100644 index 000000000..9b392b342 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422663x218695.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422663x218696.jpg b/RWT_Cache/Textures/19/s2s422663x218696.jpg new file mode 100644 index 000000000..eb0c051dd Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422663x218696.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422663x218697.jpg b/RWT_Cache/Textures/19/s2s422663x218697.jpg new file mode 100644 index 000000000..8d2ceecdb Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422663x218697.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422663x218698.jpg b/RWT_Cache/Textures/19/s2s422663x218698.jpg new file mode 100644 index 000000000..c58638293 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422663x218698.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422663x218699.jpg b/RWT_Cache/Textures/19/s2s422663x218699.jpg new file mode 100644 index 000000000..b4045fd9e Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422663x218699.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422663x218700.jpg b/RWT_Cache/Textures/19/s2s422663x218700.jpg new file mode 100644 index 000000000..10d59b3d5 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422663x218700.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422663x218701.jpg b/RWT_Cache/Textures/19/s2s422663x218701.jpg new file mode 100644 index 000000000..183901440 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422663x218701.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422663x218702.jpg b/RWT_Cache/Textures/19/s2s422663x218702.jpg new file mode 100644 index 000000000..7d0129d28 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422663x218702.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422663x218703.jpg b/RWT_Cache/Textures/19/s2s422663x218703.jpg new file mode 100644 index 000000000..23838aada Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422663x218703.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422663x218704.jpg b/RWT_Cache/Textures/19/s2s422663x218704.jpg new file mode 100644 index 000000000..41f4bf273 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422663x218704.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422663x218705.jpg b/RWT_Cache/Textures/19/s2s422663x218705.jpg new file mode 100644 index 000000000..9babbd587 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422663x218705.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422663x218706.jpg b/RWT_Cache/Textures/19/s2s422663x218706.jpg new file mode 100644 index 000000000..ba5ae4c48 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422663x218706.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422663x218707.jpg b/RWT_Cache/Textures/19/s2s422663x218707.jpg new file mode 100644 index 000000000..770c24178 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422663x218707.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422663x218708.jpg b/RWT_Cache/Textures/19/s2s422663x218708.jpg new file mode 100644 index 000000000..97f13b263 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422663x218708.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422663x218709.jpg b/RWT_Cache/Textures/19/s2s422663x218709.jpg new file mode 100644 index 000000000..73cdf0cfa Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422663x218709.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422663x218710.jpg b/RWT_Cache/Textures/19/s2s422663x218710.jpg new file mode 100644 index 000000000..603169a68 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422663x218710.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422663x218711.jpg b/RWT_Cache/Textures/19/s2s422663x218711.jpg new file mode 100644 index 000000000..b5c4d3de1 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422663x218711.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422663x218712.jpg b/RWT_Cache/Textures/19/s2s422663x218712.jpg new file mode 100644 index 000000000..f118d477e Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422663x218712.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422663x218713.jpg b/RWT_Cache/Textures/19/s2s422663x218713.jpg new file mode 100644 index 000000000..e49bca87a Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422663x218713.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422663x218714.jpg b/RWT_Cache/Textures/19/s2s422663x218714.jpg new file mode 100644 index 000000000..6355b149f Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422663x218714.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422663x218715.jpg b/RWT_Cache/Textures/19/s2s422663x218715.jpg new file mode 100644 index 000000000..54d2495ee Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422663x218715.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422663x218716.jpg b/RWT_Cache/Textures/19/s2s422663x218716.jpg new file mode 100644 index 000000000..357daea6c Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422663x218716.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422663x218717.jpg b/RWT_Cache/Textures/19/s2s422663x218717.jpg new file mode 100644 index 000000000..5ac3ae8f7 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422663x218717.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422663x218718.jpg b/RWT_Cache/Textures/19/s2s422663x218718.jpg new file mode 100644 index 000000000..e6b920d1c Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422663x218718.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422663x218719.jpg b/RWT_Cache/Textures/19/s2s422663x218719.jpg new file mode 100644 index 000000000..9586930ea Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422663x218719.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422663x218720.jpg b/RWT_Cache/Textures/19/s2s422663x218720.jpg new file mode 100644 index 000000000..151962523 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422663x218720.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422663x218721.jpg b/RWT_Cache/Textures/19/s2s422663x218721.jpg new file mode 100644 index 000000000..ee67d6da9 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422663x218721.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422663x218722.jpg b/RWT_Cache/Textures/19/s2s422663x218722.jpg new file mode 100644 index 000000000..31c87bf02 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422663x218722.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422664x218695.jpg b/RWT_Cache/Textures/19/s2s422664x218695.jpg new file mode 100644 index 000000000..6738f2d3e Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422664x218695.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422664x218696.jpg b/RWT_Cache/Textures/19/s2s422664x218696.jpg new file mode 100644 index 000000000..d00bdd0e7 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422664x218696.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422664x218697.jpg b/RWT_Cache/Textures/19/s2s422664x218697.jpg new file mode 100644 index 000000000..39bd74578 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422664x218697.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422664x218698.jpg b/RWT_Cache/Textures/19/s2s422664x218698.jpg new file mode 100644 index 000000000..e4d2dc167 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422664x218698.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422664x218699.jpg b/RWT_Cache/Textures/19/s2s422664x218699.jpg new file mode 100644 index 000000000..463fd6a5d Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422664x218699.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422664x218700.jpg b/RWT_Cache/Textures/19/s2s422664x218700.jpg new file mode 100644 index 000000000..682863dbe Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422664x218700.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422664x218701.jpg b/RWT_Cache/Textures/19/s2s422664x218701.jpg new file mode 100644 index 000000000..dd08f6e55 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422664x218701.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422664x218702.jpg b/RWT_Cache/Textures/19/s2s422664x218702.jpg new file mode 100644 index 000000000..5c693113a Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422664x218702.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422664x218703.jpg b/RWT_Cache/Textures/19/s2s422664x218703.jpg new file mode 100644 index 000000000..adfca7bfc Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422664x218703.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422664x218704.jpg b/RWT_Cache/Textures/19/s2s422664x218704.jpg new file mode 100644 index 000000000..7d2e66615 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422664x218704.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422664x218705.jpg b/RWT_Cache/Textures/19/s2s422664x218705.jpg new file mode 100644 index 000000000..54c0bb4eb Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422664x218705.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422664x218706.jpg b/RWT_Cache/Textures/19/s2s422664x218706.jpg new file mode 100644 index 000000000..405ffe299 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422664x218706.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422664x218707.jpg b/RWT_Cache/Textures/19/s2s422664x218707.jpg new file mode 100644 index 000000000..baf12f69b Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422664x218707.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422664x218708.jpg b/RWT_Cache/Textures/19/s2s422664x218708.jpg new file mode 100644 index 000000000..70d41f111 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422664x218708.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422664x218709.jpg b/RWT_Cache/Textures/19/s2s422664x218709.jpg new file mode 100644 index 000000000..7ec2a9769 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422664x218709.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422664x218710.jpg b/RWT_Cache/Textures/19/s2s422664x218710.jpg new file mode 100644 index 000000000..6edebeee9 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422664x218710.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422664x218711.jpg b/RWT_Cache/Textures/19/s2s422664x218711.jpg new file mode 100644 index 000000000..46a3b3bba Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422664x218711.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422664x218712.jpg b/RWT_Cache/Textures/19/s2s422664x218712.jpg new file mode 100644 index 000000000..0662a6b1a Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422664x218712.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422664x218713.jpg b/RWT_Cache/Textures/19/s2s422664x218713.jpg new file mode 100644 index 000000000..dab59899d Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422664x218713.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422664x218714.jpg b/RWT_Cache/Textures/19/s2s422664x218714.jpg new file mode 100644 index 000000000..8f41b7937 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422664x218714.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422664x218715.jpg b/RWT_Cache/Textures/19/s2s422664x218715.jpg new file mode 100644 index 000000000..89943520d Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422664x218715.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422664x218716.jpg b/RWT_Cache/Textures/19/s2s422664x218716.jpg new file mode 100644 index 000000000..f39f221e2 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422664x218716.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422664x218717.jpg b/RWT_Cache/Textures/19/s2s422664x218717.jpg new file mode 100644 index 000000000..6f915fb8d Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422664x218717.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422664x218718.jpg b/RWT_Cache/Textures/19/s2s422664x218718.jpg new file mode 100644 index 000000000..bf1bec414 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422664x218718.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422664x218719.jpg b/RWT_Cache/Textures/19/s2s422664x218719.jpg new file mode 100644 index 000000000..62bdcf53b Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422664x218719.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422664x218720.jpg b/RWT_Cache/Textures/19/s2s422664x218720.jpg new file mode 100644 index 000000000..6bcdb7c20 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422664x218720.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422664x218721.jpg b/RWT_Cache/Textures/19/s2s422664x218721.jpg new file mode 100644 index 000000000..fc082fcf3 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422664x218721.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422664x218722.jpg b/RWT_Cache/Textures/19/s2s422664x218722.jpg new file mode 100644 index 000000000..6c16600d4 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422664x218722.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422665x218695.jpg b/RWT_Cache/Textures/19/s2s422665x218695.jpg new file mode 100644 index 000000000..0adb46a87 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422665x218695.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422665x218696.jpg b/RWT_Cache/Textures/19/s2s422665x218696.jpg new file mode 100644 index 000000000..07dae55ad Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422665x218696.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422665x218697.jpg b/RWT_Cache/Textures/19/s2s422665x218697.jpg new file mode 100644 index 000000000..99ed0dd8f Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422665x218697.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422665x218698.jpg b/RWT_Cache/Textures/19/s2s422665x218698.jpg new file mode 100644 index 000000000..2a6da90f4 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422665x218698.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422665x218699.jpg b/RWT_Cache/Textures/19/s2s422665x218699.jpg new file mode 100644 index 000000000..c1f247fac Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422665x218699.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422665x218700.jpg b/RWT_Cache/Textures/19/s2s422665x218700.jpg new file mode 100644 index 000000000..a7e6e47be Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422665x218700.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422665x218701.jpg b/RWT_Cache/Textures/19/s2s422665x218701.jpg new file mode 100644 index 000000000..32b8623d5 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422665x218701.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422665x218702.jpg b/RWT_Cache/Textures/19/s2s422665x218702.jpg new file mode 100644 index 000000000..e4d98af94 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422665x218702.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422665x218703.jpg b/RWT_Cache/Textures/19/s2s422665x218703.jpg new file mode 100644 index 000000000..e0612f7df Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422665x218703.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422665x218704.jpg b/RWT_Cache/Textures/19/s2s422665x218704.jpg new file mode 100644 index 000000000..884420e1e Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422665x218704.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422665x218705.jpg b/RWT_Cache/Textures/19/s2s422665x218705.jpg new file mode 100644 index 000000000..7fcf1107c Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422665x218705.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422665x218706.jpg b/RWT_Cache/Textures/19/s2s422665x218706.jpg new file mode 100644 index 000000000..99fd3ce12 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422665x218706.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422665x218707.jpg b/RWT_Cache/Textures/19/s2s422665x218707.jpg new file mode 100644 index 000000000..f24e93bdb Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422665x218707.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422665x218708.jpg b/RWT_Cache/Textures/19/s2s422665x218708.jpg new file mode 100644 index 000000000..861770763 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422665x218708.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422665x218709.jpg b/RWT_Cache/Textures/19/s2s422665x218709.jpg new file mode 100644 index 000000000..feb0a9d90 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422665x218709.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422665x218710.jpg b/RWT_Cache/Textures/19/s2s422665x218710.jpg new file mode 100644 index 000000000..814897a02 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422665x218710.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422665x218711.jpg b/RWT_Cache/Textures/19/s2s422665x218711.jpg new file mode 100644 index 000000000..14036fe07 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422665x218711.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422665x218712.jpg b/RWT_Cache/Textures/19/s2s422665x218712.jpg new file mode 100644 index 000000000..6b85de095 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422665x218712.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422665x218713.jpg b/RWT_Cache/Textures/19/s2s422665x218713.jpg new file mode 100644 index 000000000..883d01baa Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422665x218713.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422665x218714.jpg b/RWT_Cache/Textures/19/s2s422665x218714.jpg new file mode 100644 index 000000000..4908f432a Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422665x218714.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422665x218715.jpg b/RWT_Cache/Textures/19/s2s422665x218715.jpg new file mode 100644 index 000000000..95d6f1804 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422665x218715.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422665x218716.jpg b/RWT_Cache/Textures/19/s2s422665x218716.jpg new file mode 100644 index 000000000..2e5ea1511 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422665x218716.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422665x218717.jpg b/RWT_Cache/Textures/19/s2s422665x218717.jpg new file mode 100644 index 000000000..7e1ffebe0 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422665x218717.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422665x218718.jpg b/RWT_Cache/Textures/19/s2s422665x218718.jpg new file mode 100644 index 000000000..6ca559e40 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422665x218718.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422665x218719.jpg b/RWT_Cache/Textures/19/s2s422665x218719.jpg new file mode 100644 index 000000000..40b5cae8c Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422665x218719.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422665x218720.jpg b/RWT_Cache/Textures/19/s2s422665x218720.jpg new file mode 100644 index 000000000..e20354d14 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422665x218720.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422665x218721.jpg b/RWT_Cache/Textures/19/s2s422665x218721.jpg new file mode 100644 index 000000000..650fa2ff0 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422665x218721.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422665x218722.jpg b/RWT_Cache/Textures/19/s2s422665x218722.jpg new file mode 100644 index 000000000..560543233 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422665x218722.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422666x218695.jpg b/RWT_Cache/Textures/19/s2s422666x218695.jpg new file mode 100644 index 000000000..586ae134a Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422666x218695.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422666x218696.jpg b/RWT_Cache/Textures/19/s2s422666x218696.jpg new file mode 100644 index 000000000..ece821fa0 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422666x218696.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422666x218697.jpg b/RWT_Cache/Textures/19/s2s422666x218697.jpg new file mode 100644 index 000000000..de2edfee2 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422666x218697.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422666x218698.jpg b/RWT_Cache/Textures/19/s2s422666x218698.jpg new file mode 100644 index 000000000..9fde1c449 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422666x218698.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422666x218699.jpg b/RWT_Cache/Textures/19/s2s422666x218699.jpg new file mode 100644 index 000000000..ba6aa62b2 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422666x218699.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422666x218700.jpg b/RWT_Cache/Textures/19/s2s422666x218700.jpg new file mode 100644 index 000000000..022df748d Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422666x218700.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422666x218701.jpg b/RWT_Cache/Textures/19/s2s422666x218701.jpg new file mode 100644 index 000000000..a408dc8b1 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422666x218701.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422666x218702.jpg b/RWT_Cache/Textures/19/s2s422666x218702.jpg new file mode 100644 index 000000000..5b349a663 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422666x218702.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422666x218703.jpg b/RWT_Cache/Textures/19/s2s422666x218703.jpg new file mode 100644 index 000000000..2adadb7c0 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422666x218703.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422666x218704.jpg b/RWT_Cache/Textures/19/s2s422666x218704.jpg new file mode 100644 index 000000000..ea1106e70 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422666x218704.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422666x218705.jpg b/RWT_Cache/Textures/19/s2s422666x218705.jpg new file mode 100644 index 000000000..e4f74389b Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422666x218705.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422666x218706.jpg b/RWT_Cache/Textures/19/s2s422666x218706.jpg new file mode 100644 index 000000000..460e12645 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422666x218706.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422666x218707.jpg b/RWT_Cache/Textures/19/s2s422666x218707.jpg new file mode 100644 index 000000000..40f6d7acb Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422666x218707.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422666x218708.jpg b/RWT_Cache/Textures/19/s2s422666x218708.jpg new file mode 100644 index 000000000..e716019f3 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422666x218708.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422666x218709.jpg b/RWT_Cache/Textures/19/s2s422666x218709.jpg new file mode 100644 index 000000000..1c1bee720 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422666x218709.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422666x218710.jpg b/RWT_Cache/Textures/19/s2s422666x218710.jpg new file mode 100644 index 000000000..44fa54ce1 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422666x218710.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422666x218711.jpg b/RWT_Cache/Textures/19/s2s422666x218711.jpg new file mode 100644 index 000000000..b9e6bbf03 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422666x218711.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422666x218712.jpg b/RWT_Cache/Textures/19/s2s422666x218712.jpg new file mode 100644 index 000000000..b3b857230 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422666x218712.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422666x218713.jpg b/RWT_Cache/Textures/19/s2s422666x218713.jpg new file mode 100644 index 000000000..cf499a2f2 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422666x218713.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422666x218714.jpg b/RWT_Cache/Textures/19/s2s422666x218714.jpg new file mode 100644 index 000000000..a1b3bf80c Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422666x218714.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422666x218715.jpg b/RWT_Cache/Textures/19/s2s422666x218715.jpg new file mode 100644 index 000000000..d6b69dba2 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422666x218715.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422666x218716.jpg b/RWT_Cache/Textures/19/s2s422666x218716.jpg new file mode 100644 index 000000000..cef73855b Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422666x218716.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422666x218717.jpg b/RWT_Cache/Textures/19/s2s422666x218717.jpg new file mode 100644 index 000000000..d92658401 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422666x218717.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422666x218718.jpg b/RWT_Cache/Textures/19/s2s422666x218718.jpg new file mode 100644 index 000000000..95ce36e6f Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422666x218718.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422666x218719.jpg b/RWT_Cache/Textures/19/s2s422666x218719.jpg new file mode 100644 index 000000000..489239a22 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422666x218719.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422666x218720.jpg b/RWT_Cache/Textures/19/s2s422666x218720.jpg new file mode 100644 index 000000000..727917b6f Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422666x218720.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422666x218721.jpg b/RWT_Cache/Textures/19/s2s422666x218721.jpg new file mode 100644 index 000000000..143d6cf83 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422666x218721.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422666x218722.jpg b/RWT_Cache/Textures/19/s2s422666x218722.jpg new file mode 100644 index 000000000..8941593c8 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422666x218722.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422667x218695.jpg b/RWT_Cache/Textures/19/s2s422667x218695.jpg new file mode 100644 index 000000000..10439da87 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422667x218695.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422667x218696.jpg b/RWT_Cache/Textures/19/s2s422667x218696.jpg new file mode 100644 index 000000000..930279f08 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422667x218696.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422667x218697.jpg b/RWT_Cache/Textures/19/s2s422667x218697.jpg new file mode 100644 index 000000000..23ec01d88 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422667x218697.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422667x218698.jpg b/RWT_Cache/Textures/19/s2s422667x218698.jpg new file mode 100644 index 000000000..ee4b756e3 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422667x218698.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422667x218699.jpg b/RWT_Cache/Textures/19/s2s422667x218699.jpg new file mode 100644 index 000000000..b486dfe1d Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422667x218699.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422667x218700.jpg b/RWT_Cache/Textures/19/s2s422667x218700.jpg new file mode 100644 index 000000000..701ecf6c3 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422667x218700.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422667x218701.jpg b/RWT_Cache/Textures/19/s2s422667x218701.jpg new file mode 100644 index 000000000..c25174be7 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422667x218701.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422667x218702.jpg b/RWT_Cache/Textures/19/s2s422667x218702.jpg new file mode 100644 index 000000000..2afe878f3 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422667x218702.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422667x218703.jpg b/RWT_Cache/Textures/19/s2s422667x218703.jpg new file mode 100644 index 000000000..bc8b9df35 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422667x218703.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422667x218704.jpg b/RWT_Cache/Textures/19/s2s422667x218704.jpg new file mode 100644 index 000000000..b2d1693ed Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422667x218704.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422667x218705.jpg b/RWT_Cache/Textures/19/s2s422667x218705.jpg new file mode 100644 index 000000000..d359d8011 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422667x218705.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422667x218706.jpg b/RWT_Cache/Textures/19/s2s422667x218706.jpg new file mode 100644 index 000000000..9aafb57b8 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422667x218706.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422667x218707.jpg b/RWT_Cache/Textures/19/s2s422667x218707.jpg new file mode 100644 index 000000000..38e7afcf0 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422667x218707.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422667x218708.jpg b/RWT_Cache/Textures/19/s2s422667x218708.jpg new file mode 100644 index 000000000..cda90b628 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422667x218708.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422667x218709.jpg b/RWT_Cache/Textures/19/s2s422667x218709.jpg new file mode 100644 index 000000000..2bbe28693 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422667x218709.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422667x218710.jpg b/RWT_Cache/Textures/19/s2s422667x218710.jpg new file mode 100644 index 000000000..f980ed5d9 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422667x218710.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422667x218711.jpg b/RWT_Cache/Textures/19/s2s422667x218711.jpg new file mode 100644 index 000000000..1357743a8 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422667x218711.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422667x218712.jpg b/RWT_Cache/Textures/19/s2s422667x218712.jpg new file mode 100644 index 000000000..0a2d3a32f Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422667x218712.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422667x218713.jpg b/RWT_Cache/Textures/19/s2s422667x218713.jpg new file mode 100644 index 000000000..67df12c85 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422667x218713.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422667x218714.jpg b/RWT_Cache/Textures/19/s2s422667x218714.jpg new file mode 100644 index 000000000..2b1a2e423 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422667x218714.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422667x218715.jpg b/RWT_Cache/Textures/19/s2s422667x218715.jpg new file mode 100644 index 000000000..6528e521d Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422667x218715.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422667x218716.jpg b/RWT_Cache/Textures/19/s2s422667x218716.jpg new file mode 100644 index 000000000..695403780 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422667x218716.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422667x218717.jpg b/RWT_Cache/Textures/19/s2s422667x218717.jpg new file mode 100644 index 000000000..aa9d0f1b2 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422667x218717.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422667x218718.jpg b/RWT_Cache/Textures/19/s2s422667x218718.jpg new file mode 100644 index 000000000..b790b7e67 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422667x218718.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422667x218719.jpg b/RWT_Cache/Textures/19/s2s422667x218719.jpg new file mode 100644 index 000000000..f1c54f663 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422667x218719.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422667x218720.jpg b/RWT_Cache/Textures/19/s2s422667x218720.jpg new file mode 100644 index 000000000..50c51374a Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422667x218720.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422667x218721.jpg b/RWT_Cache/Textures/19/s2s422667x218721.jpg new file mode 100644 index 000000000..27333fa49 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422667x218721.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422667x218722.jpg b/RWT_Cache/Textures/19/s2s422667x218722.jpg new file mode 100644 index 000000000..e32304193 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422667x218722.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422668x218695.jpg b/RWT_Cache/Textures/19/s2s422668x218695.jpg new file mode 100644 index 000000000..a3214ad04 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422668x218695.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422668x218696.jpg b/RWT_Cache/Textures/19/s2s422668x218696.jpg new file mode 100644 index 000000000..d24f966e5 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422668x218696.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422668x218697.jpg b/RWT_Cache/Textures/19/s2s422668x218697.jpg new file mode 100644 index 000000000..2b2e63154 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422668x218697.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422668x218698.jpg b/RWT_Cache/Textures/19/s2s422668x218698.jpg new file mode 100644 index 000000000..2be40675e Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422668x218698.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422668x218699.jpg b/RWT_Cache/Textures/19/s2s422668x218699.jpg new file mode 100644 index 000000000..a0900198d Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422668x218699.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422668x218700.jpg b/RWT_Cache/Textures/19/s2s422668x218700.jpg new file mode 100644 index 000000000..c62e80537 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422668x218700.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422668x218701.jpg b/RWT_Cache/Textures/19/s2s422668x218701.jpg new file mode 100644 index 000000000..1c575a048 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422668x218701.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422668x218702.jpg b/RWT_Cache/Textures/19/s2s422668x218702.jpg new file mode 100644 index 000000000..5e2c4a3b8 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422668x218702.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422668x218703.jpg b/RWT_Cache/Textures/19/s2s422668x218703.jpg new file mode 100644 index 000000000..f0cb1d19a Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422668x218703.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422668x218704.jpg b/RWT_Cache/Textures/19/s2s422668x218704.jpg new file mode 100644 index 000000000..18651d3ff Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422668x218704.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422668x218705.jpg b/RWT_Cache/Textures/19/s2s422668x218705.jpg new file mode 100644 index 000000000..729de279b Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422668x218705.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422668x218706.jpg b/RWT_Cache/Textures/19/s2s422668x218706.jpg new file mode 100644 index 000000000..92b6934e3 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422668x218706.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422668x218707.jpg b/RWT_Cache/Textures/19/s2s422668x218707.jpg new file mode 100644 index 000000000..f361420da Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422668x218707.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422668x218708.jpg b/RWT_Cache/Textures/19/s2s422668x218708.jpg new file mode 100644 index 000000000..aa6c6566d Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422668x218708.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422668x218709.jpg b/RWT_Cache/Textures/19/s2s422668x218709.jpg new file mode 100644 index 000000000..9f660a079 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422668x218709.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422668x218710.jpg b/RWT_Cache/Textures/19/s2s422668x218710.jpg new file mode 100644 index 000000000..58774c9e6 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422668x218710.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422668x218711.jpg b/RWT_Cache/Textures/19/s2s422668x218711.jpg new file mode 100644 index 000000000..4416942c7 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422668x218711.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422668x218712.jpg b/RWT_Cache/Textures/19/s2s422668x218712.jpg new file mode 100644 index 000000000..5cd5085be Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422668x218712.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422668x218713.jpg b/RWT_Cache/Textures/19/s2s422668x218713.jpg new file mode 100644 index 000000000..b1878c109 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422668x218713.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422668x218714.jpg b/RWT_Cache/Textures/19/s2s422668x218714.jpg new file mode 100644 index 000000000..0da66d1bc Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422668x218714.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422668x218715.jpg b/RWT_Cache/Textures/19/s2s422668x218715.jpg new file mode 100644 index 000000000..cfd7e4f54 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422668x218715.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422668x218716.jpg b/RWT_Cache/Textures/19/s2s422668x218716.jpg new file mode 100644 index 000000000..20e126d39 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422668x218716.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422668x218717.jpg b/RWT_Cache/Textures/19/s2s422668x218717.jpg new file mode 100644 index 000000000..9e9e3a3c3 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422668x218717.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422668x218718.jpg b/RWT_Cache/Textures/19/s2s422668x218718.jpg new file mode 100644 index 000000000..26ec1b57e Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422668x218718.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422668x218719.jpg b/RWT_Cache/Textures/19/s2s422668x218719.jpg new file mode 100644 index 000000000..126b88ae5 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422668x218719.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422668x218720.jpg b/RWT_Cache/Textures/19/s2s422668x218720.jpg new file mode 100644 index 000000000..82ab1e913 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422668x218720.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422668x218721.jpg b/RWT_Cache/Textures/19/s2s422668x218721.jpg new file mode 100644 index 000000000..d6426574f Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422668x218721.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422668x218722.jpg b/RWT_Cache/Textures/19/s2s422668x218722.jpg new file mode 100644 index 000000000..4ffb07ff4 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422668x218722.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422669x218695.jpg b/RWT_Cache/Textures/19/s2s422669x218695.jpg new file mode 100644 index 000000000..0623254a7 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422669x218695.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422669x218696.jpg b/RWT_Cache/Textures/19/s2s422669x218696.jpg new file mode 100644 index 000000000..048eb2662 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422669x218696.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422669x218697.jpg b/RWT_Cache/Textures/19/s2s422669x218697.jpg new file mode 100644 index 000000000..89e9de0b6 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422669x218697.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422669x218698.jpg b/RWT_Cache/Textures/19/s2s422669x218698.jpg new file mode 100644 index 000000000..464950df9 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422669x218698.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422669x218699.jpg b/RWT_Cache/Textures/19/s2s422669x218699.jpg new file mode 100644 index 000000000..6f76e30f1 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422669x218699.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422669x218700.jpg b/RWT_Cache/Textures/19/s2s422669x218700.jpg new file mode 100644 index 000000000..5086521aa Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422669x218700.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422669x218701.jpg b/RWT_Cache/Textures/19/s2s422669x218701.jpg new file mode 100644 index 000000000..46d3f3a56 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422669x218701.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422669x218702.jpg b/RWT_Cache/Textures/19/s2s422669x218702.jpg new file mode 100644 index 000000000..9436d9e7d Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422669x218702.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422669x218703.jpg b/RWT_Cache/Textures/19/s2s422669x218703.jpg new file mode 100644 index 000000000..749b4a0ee Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422669x218703.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422669x218704.jpg b/RWT_Cache/Textures/19/s2s422669x218704.jpg new file mode 100644 index 000000000..2e0c3e1a2 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422669x218704.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422669x218705.jpg b/RWT_Cache/Textures/19/s2s422669x218705.jpg new file mode 100644 index 000000000..a38811ce8 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422669x218705.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422669x218706.jpg b/RWT_Cache/Textures/19/s2s422669x218706.jpg new file mode 100644 index 000000000..31bdc5f37 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422669x218706.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422669x218707.jpg b/RWT_Cache/Textures/19/s2s422669x218707.jpg new file mode 100644 index 000000000..1b2b59ce1 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422669x218707.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422669x218708.jpg b/RWT_Cache/Textures/19/s2s422669x218708.jpg new file mode 100644 index 000000000..6cf97fc1f Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422669x218708.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422669x218709.jpg b/RWT_Cache/Textures/19/s2s422669x218709.jpg new file mode 100644 index 000000000..20b341661 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422669x218709.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422669x218710.jpg b/RWT_Cache/Textures/19/s2s422669x218710.jpg new file mode 100644 index 000000000..c7a71ea54 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422669x218710.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422669x218711.jpg b/RWT_Cache/Textures/19/s2s422669x218711.jpg new file mode 100644 index 000000000..2ca2cc5a9 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422669x218711.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422669x218712.jpg b/RWT_Cache/Textures/19/s2s422669x218712.jpg new file mode 100644 index 000000000..7fd3cd1b6 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422669x218712.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422669x218713.jpg b/RWT_Cache/Textures/19/s2s422669x218713.jpg new file mode 100644 index 000000000..092efdf94 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422669x218713.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422669x218714.jpg b/RWT_Cache/Textures/19/s2s422669x218714.jpg new file mode 100644 index 000000000..6bbffcc40 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422669x218714.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422669x218715.jpg b/RWT_Cache/Textures/19/s2s422669x218715.jpg new file mode 100644 index 000000000..350884743 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422669x218715.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422669x218716.jpg b/RWT_Cache/Textures/19/s2s422669x218716.jpg new file mode 100644 index 000000000..d5b414f02 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422669x218716.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422669x218717.jpg b/RWT_Cache/Textures/19/s2s422669x218717.jpg new file mode 100644 index 000000000..403807474 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422669x218717.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422669x218718.jpg b/RWT_Cache/Textures/19/s2s422669x218718.jpg new file mode 100644 index 000000000..8d8cf25ab Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422669x218718.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422669x218719.jpg b/RWT_Cache/Textures/19/s2s422669x218719.jpg new file mode 100644 index 000000000..79aa03dd8 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422669x218719.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422669x218720.jpg b/RWT_Cache/Textures/19/s2s422669x218720.jpg new file mode 100644 index 000000000..2ca0f49dc Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422669x218720.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422669x218721.jpg b/RWT_Cache/Textures/19/s2s422669x218721.jpg new file mode 100644 index 000000000..74ff55c87 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422669x218721.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422669x218722.jpg b/RWT_Cache/Textures/19/s2s422669x218722.jpg new file mode 100644 index 000000000..f37cd9e20 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422669x218722.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422670x218695.jpg b/RWT_Cache/Textures/19/s2s422670x218695.jpg new file mode 100644 index 000000000..edb82662d Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422670x218695.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422670x218696.jpg b/RWT_Cache/Textures/19/s2s422670x218696.jpg new file mode 100644 index 000000000..cf4104cbb Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422670x218696.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422670x218697.jpg b/RWT_Cache/Textures/19/s2s422670x218697.jpg new file mode 100644 index 000000000..13506d5e8 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422670x218697.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422670x218698.jpg b/RWT_Cache/Textures/19/s2s422670x218698.jpg new file mode 100644 index 000000000..b80e72937 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422670x218698.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422670x218699.jpg b/RWT_Cache/Textures/19/s2s422670x218699.jpg new file mode 100644 index 000000000..c6b5adad1 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422670x218699.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422670x218700.jpg b/RWT_Cache/Textures/19/s2s422670x218700.jpg new file mode 100644 index 000000000..ee1c43896 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422670x218700.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422670x218701.jpg b/RWT_Cache/Textures/19/s2s422670x218701.jpg new file mode 100644 index 000000000..506a7d22d Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422670x218701.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422670x218702.jpg b/RWT_Cache/Textures/19/s2s422670x218702.jpg new file mode 100644 index 000000000..a71e67bf3 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422670x218702.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422670x218703.jpg b/RWT_Cache/Textures/19/s2s422670x218703.jpg new file mode 100644 index 000000000..7c13132a0 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422670x218703.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422670x218704.jpg b/RWT_Cache/Textures/19/s2s422670x218704.jpg new file mode 100644 index 000000000..625d9cfa0 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422670x218704.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422670x218705.jpg b/RWT_Cache/Textures/19/s2s422670x218705.jpg new file mode 100644 index 000000000..bb3f2f82e Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422670x218705.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422670x218706.jpg b/RWT_Cache/Textures/19/s2s422670x218706.jpg new file mode 100644 index 000000000..04d8659eb Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422670x218706.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422670x218707.jpg b/RWT_Cache/Textures/19/s2s422670x218707.jpg new file mode 100644 index 000000000..ae696cc77 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422670x218707.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422670x218708.jpg b/RWT_Cache/Textures/19/s2s422670x218708.jpg new file mode 100644 index 000000000..b3f7b52e8 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422670x218708.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422670x218709.jpg b/RWT_Cache/Textures/19/s2s422670x218709.jpg new file mode 100644 index 000000000..226558b1e Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422670x218709.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422670x218710.jpg b/RWT_Cache/Textures/19/s2s422670x218710.jpg new file mode 100644 index 000000000..36c837e5b Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422670x218710.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422670x218711.jpg b/RWT_Cache/Textures/19/s2s422670x218711.jpg new file mode 100644 index 000000000..02e4da999 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422670x218711.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422670x218712.jpg b/RWT_Cache/Textures/19/s2s422670x218712.jpg new file mode 100644 index 000000000..08b048984 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422670x218712.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422670x218713.jpg b/RWT_Cache/Textures/19/s2s422670x218713.jpg new file mode 100644 index 000000000..db0d97741 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422670x218713.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422670x218714.jpg b/RWT_Cache/Textures/19/s2s422670x218714.jpg new file mode 100644 index 000000000..4a907ec8b Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422670x218714.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422670x218715.jpg b/RWT_Cache/Textures/19/s2s422670x218715.jpg new file mode 100644 index 000000000..6dfd2fa46 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422670x218715.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422670x218716.jpg b/RWT_Cache/Textures/19/s2s422670x218716.jpg new file mode 100644 index 000000000..1dd97313a Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422670x218716.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422670x218717.jpg b/RWT_Cache/Textures/19/s2s422670x218717.jpg new file mode 100644 index 000000000..7b79b7052 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422670x218717.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422670x218718.jpg b/RWT_Cache/Textures/19/s2s422670x218718.jpg new file mode 100644 index 000000000..860c30674 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422670x218718.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422670x218719.jpg b/RWT_Cache/Textures/19/s2s422670x218719.jpg new file mode 100644 index 000000000..3bd48ec2b Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422670x218719.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422670x218720.jpg b/RWT_Cache/Textures/19/s2s422670x218720.jpg new file mode 100644 index 000000000..e612052a1 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422670x218720.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422670x218721.jpg b/RWT_Cache/Textures/19/s2s422670x218721.jpg new file mode 100644 index 000000000..d7ee5f554 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422670x218721.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422670x218722.jpg b/RWT_Cache/Textures/19/s2s422670x218722.jpg new file mode 100644 index 000000000..b45c082c6 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422670x218722.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422671x218695.jpg b/RWT_Cache/Textures/19/s2s422671x218695.jpg new file mode 100644 index 000000000..ecab88ff9 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422671x218695.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422671x218696.jpg b/RWT_Cache/Textures/19/s2s422671x218696.jpg new file mode 100644 index 000000000..7832f5348 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422671x218696.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422671x218697.jpg b/RWT_Cache/Textures/19/s2s422671x218697.jpg new file mode 100644 index 000000000..e7f924844 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422671x218697.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422671x218698.jpg b/RWT_Cache/Textures/19/s2s422671x218698.jpg new file mode 100644 index 000000000..834d2b2e9 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422671x218698.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422671x218699.jpg b/RWT_Cache/Textures/19/s2s422671x218699.jpg new file mode 100644 index 000000000..721e16b6b Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422671x218699.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422671x218700.jpg b/RWT_Cache/Textures/19/s2s422671x218700.jpg new file mode 100644 index 000000000..6b1155368 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422671x218700.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422671x218701.jpg b/RWT_Cache/Textures/19/s2s422671x218701.jpg new file mode 100644 index 000000000..fd171a5b5 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422671x218701.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422671x218702.jpg b/RWT_Cache/Textures/19/s2s422671x218702.jpg new file mode 100644 index 000000000..1a08e6f46 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422671x218702.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422671x218703.jpg b/RWT_Cache/Textures/19/s2s422671x218703.jpg new file mode 100644 index 000000000..7ceb6f815 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422671x218703.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422671x218704.jpg b/RWT_Cache/Textures/19/s2s422671x218704.jpg new file mode 100644 index 000000000..d188d31cf Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422671x218704.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422671x218705.jpg b/RWT_Cache/Textures/19/s2s422671x218705.jpg new file mode 100644 index 000000000..8dec91dfc Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422671x218705.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422671x218706.jpg b/RWT_Cache/Textures/19/s2s422671x218706.jpg new file mode 100644 index 000000000..09b7e0574 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422671x218706.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422671x218707.jpg b/RWT_Cache/Textures/19/s2s422671x218707.jpg new file mode 100644 index 000000000..30b4b589a Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422671x218707.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422671x218708.jpg b/RWT_Cache/Textures/19/s2s422671x218708.jpg new file mode 100644 index 000000000..c6e9abc73 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422671x218708.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422671x218709.jpg b/RWT_Cache/Textures/19/s2s422671x218709.jpg new file mode 100644 index 000000000..5fb88b701 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422671x218709.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422671x218710.jpg b/RWT_Cache/Textures/19/s2s422671x218710.jpg new file mode 100644 index 000000000..3da99060c Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422671x218710.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422671x218711.jpg b/RWT_Cache/Textures/19/s2s422671x218711.jpg new file mode 100644 index 000000000..d9ef09a37 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422671x218711.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422671x218712.jpg b/RWT_Cache/Textures/19/s2s422671x218712.jpg new file mode 100644 index 000000000..0e8225bb6 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422671x218712.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422671x218713.jpg b/RWT_Cache/Textures/19/s2s422671x218713.jpg new file mode 100644 index 000000000..19d50af63 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422671x218713.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422671x218714.jpg b/RWT_Cache/Textures/19/s2s422671x218714.jpg new file mode 100644 index 000000000..2e306c96b Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422671x218714.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422671x218715.jpg b/RWT_Cache/Textures/19/s2s422671x218715.jpg new file mode 100644 index 000000000..14a3ae952 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422671x218715.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422671x218716.jpg b/RWT_Cache/Textures/19/s2s422671x218716.jpg new file mode 100644 index 000000000..b48f68fd0 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422671x218716.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422671x218717.jpg b/RWT_Cache/Textures/19/s2s422671x218717.jpg new file mode 100644 index 000000000..d3f35aa05 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422671x218717.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422671x218718.jpg b/RWT_Cache/Textures/19/s2s422671x218718.jpg new file mode 100644 index 000000000..0bafffc2a Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422671x218718.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422671x218719.jpg b/RWT_Cache/Textures/19/s2s422671x218719.jpg new file mode 100644 index 000000000..45998f7ff Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422671x218719.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422671x218720.jpg b/RWT_Cache/Textures/19/s2s422671x218720.jpg new file mode 100644 index 000000000..2a7233740 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422671x218720.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422671x218721.jpg b/RWT_Cache/Textures/19/s2s422671x218721.jpg new file mode 100644 index 000000000..cc0769efb Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422671x218721.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422671x218722.jpg b/RWT_Cache/Textures/19/s2s422671x218722.jpg new file mode 100644 index 000000000..040852f0f Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422671x218722.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422672x218695.jpg b/RWT_Cache/Textures/19/s2s422672x218695.jpg new file mode 100644 index 000000000..8bee4d87a Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422672x218695.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422672x218696.jpg b/RWT_Cache/Textures/19/s2s422672x218696.jpg new file mode 100644 index 000000000..856b47075 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422672x218696.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422672x218697.jpg b/RWT_Cache/Textures/19/s2s422672x218697.jpg new file mode 100644 index 000000000..683c45d4a Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422672x218697.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422672x218698.jpg b/RWT_Cache/Textures/19/s2s422672x218698.jpg new file mode 100644 index 000000000..44da19319 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422672x218698.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422672x218699.jpg b/RWT_Cache/Textures/19/s2s422672x218699.jpg new file mode 100644 index 000000000..13c5d56b3 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422672x218699.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422672x218700.jpg b/RWT_Cache/Textures/19/s2s422672x218700.jpg new file mode 100644 index 000000000..3098682a3 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422672x218700.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422672x218701.jpg b/RWT_Cache/Textures/19/s2s422672x218701.jpg new file mode 100644 index 000000000..3dfca0683 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422672x218701.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422672x218702.jpg b/RWT_Cache/Textures/19/s2s422672x218702.jpg new file mode 100644 index 000000000..93f211277 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422672x218702.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422672x218703.jpg b/RWT_Cache/Textures/19/s2s422672x218703.jpg new file mode 100644 index 000000000..645d31801 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422672x218703.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422672x218704.jpg b/RWT_Cache/Textures/19/s2s422672x218704.jpg new file mode 100644 index 000000000..132b587f9 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422672x218704.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422672x218705.jpg b/RWT_Cache/Textures/19/s2s422672x218705.jpg new file mode 100644 index 000000000..a86fa5110 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422672x218705.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422672x218706.jpg b/RWT_Cache/Textures/19/s2s422672x218706.jpg new file mode 100644 index 000000000..46ab51ffd Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422672x218706.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422672x218707.jpg b/RWT_Cache/Textures/19/s2s422672x218707.jpg new file mode 100644 index 000000000..024c1d6b6 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422672x218707.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422672x218708.jpg b/RWT_Cache/Textures/19/s2s422672x218708.jpg new file mode 100644 index 000000000..a8f336ee6 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422672x218708.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422672x218709.jpg b/RWT_Cache/Textures/19/s2s422672x218709.jpg new file mode 100644 index 000000000..1f368db42 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422672x218709.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422672x218710.jpg b/RWT_Cache/Textures/19/s2s422672x218710.jpg new file mode 100644 index 000000000..c8eb44cc6 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422672x218710.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422672x218711.jpg b/RWT_Cache/Textures/19/s2s422672x218711.jpg new file mode 100644 index 000000000..8eec8d9f7 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422672x218711.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422672x218712.jpg b/RWT_Cache/Textures/19/s2s422672x218712.jpg new file mode 100644 index 000000000..d2474f5b0 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422672x218712.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422672x218713.jpg b/RWT_Cache/Textures/19/s2s422672x218713.jpg new file mode 100644 index 000000000..447dbb741 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422672x218713.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422672x218714.jpg b/RWT_Cache/Textures/19/s2s422672x218714.jpg new file mode 100644 index 000000000..f496114f0 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422672x218714.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422672x218715.jpg b/RWT_Cache/Textures/19/s2s422672x218715.jpg new file mode 100644 index 000000000..ee4730868 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422672x218715.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422672x218716.jpg b/RWT_Cache/Textures/19/s2s422672x218716.jpg new file mode 100644 index 000000000..4a07458d7 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422672x218716.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422672x218717.jpg b/RWT_Cache/Textures/19/s2s422672x218717.jpg new file mode 100644 index 000000000..54fcce51d Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422672x218717.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422672x218718.jpg b/RWT_Cache/Textures/19/s2s422672x218718.jpg new file mode 100644 index 000000000..c799ea893 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422672x218718.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422672x218719.jpg b/RWT_Cache/Textures/19/s2s422672x218719.jpg new file mode 100644 index 000000000..344fc4c14 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422672x218719.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422672x218720.jpg b/RWT_Cache/Textures/19/s2s422672x218720.jpg new file mode 100644 index 000000000..94556b57a Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422672x218720.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422672x218721.jpg b/RWT_Cache/Textures/19/s2s422672x218721.jpg new file mode 100644 index 000000000..4c0a95bc6 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422672x218721.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422672x218722.jpg b/RWT_Cache/Textures/19/s2s422672x218722.jpg new file mode 100644 index 000000000..ee9602ca0 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422672x218722.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422673x218695.jpg b/RWT_Cache/Textures/19/s2s422673x218695.jpg new file mode 100644 index 000000000..ea5b42b55 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422673x218695.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422673x218696.jpg b/RWT_Cache/Textures/19/s2s422673x218696.jpg new file mode 100644 index 000000000..b1e2b85e6 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422673x218696.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422673x218697.jpg b/RWT_Cache/Textures/19/s2s422673x218697.jpg new file mode 100644 index 000000000..4c04091b1 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422673x218697.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422673x218698.jpg b/RWT_Cache/Textures/19/s2s422673x218698.jpg new file mode 100644 index 000000000..f2f22cf32 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422673x218698.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422673x218699.jpg b/RWT_Cache/Textures/19/s2s422673x218699.jpg new file mode 100644 index 000000000..d5529626d Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422673x218699.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422673x218700.jpg b/RWT_Cache/Textures/19/s2s422673x218700.jpg new file mode 100644 index 000000000..79a8a8e72 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422673x218700.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422673x218701.jpg b/RWT_Cache/Textures/19/s2s422673x218701.jpg new file mode 100644 index 000000000..d734864ee Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422673x218701.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422673x218702.jpg b/RWT_Cache/Textures/19/s2s422673x218702.jpg new file mode 100644 index 000000000..7fc39e2d0 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422673x218702.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422673x218703.jpg b/RWT_Cache/Textures/19/s2s422673x218703.jpg new file mode 100644 index 000000000..307bf815b Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422673x218703.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422673x218704.jpg b/RWT_Cache/Textures/19/s2s422673x218704.jpg new file mode 100644 index 000000000..e95dd2072 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422673x218704.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422673x218705.jpg b/RWT_Cache/Textures/19/s2s422673x218705.jpg new file mode 100644 index 000000000..f616aeebe Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422673x218705.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422673x218706.jpg b/RWT_Cache/Textures/19/s2s422673x218706.jpg new file mode 100644 index 000000000..6e701dbea Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422673x218706.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422673x218707.jpg b/RWT_Cache/Textures/19/s2s422673x218707.jpg new file mode 100644 index 000000000..1eac6ad50 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422673x218707.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422673x218708.jpg b/RWT_Cache/Textures/19/s2s422673x218708.jpg new file mode 100644 index 000000000..04d52f564 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422673x218708.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422673x218709.jpg b/RWT_Cache/Textures/19/s2s422673x218709.jpg new file mode 100644 index 000000000..19423f03b Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422673x218709.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422673x218710.jpg b/RWT_Cache/Textures/19/s2s422673x218710.jpg new file mode 100644 index 000000000..12a552508 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422673x218710.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422673x218711.jpg b/RWT_Cache/Textures/19/s2s422673x218711.jpg new file mode 100644 index 000000000..bb1c45699 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422673x218711.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422673x218712.jpg b/RWT_Cache/Textures/19/s2s422673x218712.jpg new file mode 100644 index 000000000..150bec5ce Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422673x218712.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422673x218713.jpg b/RWT_Cache/Textures/19/s2s422673x218713.jpg new file mode 100644 index 000000000..d5df1d96e Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422673x218713.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422673x218714.jpg b/RWT_Cache/Textures/19/s2s422673x218714.jpg new file mode 100644 index 000000000..10e4d5753 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422673x218714.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422673x218715.jpg b/RWT_Cache/Textures/19/s2s422673x218715.jpg new file mode 100644 index 000000000..637e3c946 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422673x218715.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422673x218716.jpg b/RWT_Cache/Textures/19/s2s422673x218716.jpg new file mode 100644 index 000000000..7949d07b1 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422673x218716.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422673x218717.jpg b/RWT_Cache/Textures/19/s2s422673x218717.jpg new file mode 100644 index 000000000..fadbb69e5 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422673x218717.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422673x218718.jpg b/RWT_Cache/Textures/19/s2s422673x218718.jpg new file mode 100644 index 000000000..2179e968e Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422673x218718.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422673x218719.jpg b/RWT_Cache/Textures/19/s2s422673x218719.jpg new file mode 100644 index 000000000..421c45c3a Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422673x218719.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422673x218720.jpg b/RWT_Cache/Textures/19/s2s422673x218720.jpg new file mode 100644 index 000000000..e5476bbb7 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422673x218720.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422673x218721.jpg b/RWT_Cache/Textures/19/s2s422673x218721.jpg new file mode 100644 index 000000000..00992beec Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422673x218721.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422673x218722.jpg b/RWT_Cache/Textures/19/s2s422673x218722.jpg new file mode 100644 index 000000000..47b493fb3 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422673x218722.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422674x218695.jpg b/RWT_Cache/Textures/19/s2s422674x218695.jpg new file mode 100644 index 000000000..c685632fb Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422674x218695.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422674x218696.jpg b/RWT_Cache/Textures/19/s2s422674x218696.jpg new file mode 100644 index 000000000..37b158d44 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422674x218696.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422674x218697.jpg b/RWT_Cache/Textures/19/s2s422674x218697.jpg new file mode 100644 index 000000000..f7b444248 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422674x218697.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422674x218698.jpg b/RWT_Cache/Textures/19/s2s422674x218698.jpg new file mode 100644 index 000000000..75fb7e805 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422674x218698.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422674x218699.jpg b/RWT_Cache/Textures/19/s2s422674x218699.jpg new file mode 100644 index 000000000..80617a98c Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422674x218699.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422674x218700.jpg b/RWT_Cache/Textures/19/s2s422674x218700.jpg new file mode 100644 index 000000000..020c7bbe4 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422674x218700.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422674x218701.jpg b/RWT_Cache/Textures/19/s2s422674x218701.jpg new file mode 100644 index 000000000..67921ccc5 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422674x218701.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422674x218702.jpg b/RWT_Cache/Textures/19/s2s422674x218702.jpg new file mode 100644 index 000000000..ceec98e46 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422674x218702.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422674x218703.jpg b/RWT_Cache/Textures/19/s2s422674x218703.jpg new file mode 100644 index 000000000..49b0ca8c3 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422674x218703.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422674x218704.jpg b/RWT_Cache/Textures/19/s2s422674x218704.jpg new file mode 100644 index 000000000..76bff24d9 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422674x218704.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422674x218705.jpg b/RWT_Cache/Textures/19/s2s422674x218705.jpg new file mode 100644 index 000000000..77886872e Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422674x218705.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422674x218706.jpg b/RWT_Cache/Textures/19/s2s422674x218706.jpg new file mode 100644 index 000000000..f4dd2130c Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422674x218706.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422674x218707.jpg b/RWT_Cache/Textures/19/s2s422674x218707.jpg new file mode 100644 index 000000000..2fe223039 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422674x218707.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422674x218708.jpg b/RWT_Cache/Textures/19/s2s422674x218708.jpg new file mode 100644 index 000000000..0e2eb3ef5 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422674x218708.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422674x218709.jpg b/RWT_Cache/Textures/19/s2s422674x218709.jpg new file mode 100644 index 000000000..8dec130d3 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422674x218709.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422674x218710.jpg b/RWT_Cache/Textures/19/s2s422674x218710.jpg new file mode 100644 index 000000000..11c29549c Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422674x218710.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422674x218711.jpg b/RWT_Cache/Textures/19/s2s422674x218711.jpg new file mode 100644 index 000000000..74ac8a65b Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422674x218711.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422674x218712.jpg b/RWT_Cache/Textures/19/s2s422674x218712.jpg new file mode 100644 index 000000000..f5dd114a5 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422674x218712.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422674x218713.jpg b/RWT_Cache/Textures/19/s2s422674x218713.jpg new file mode 100644 index 000000000..98f1eaf20 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422674x218713.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422674x218714.jpg b/RWT_Cache/Textures/19/s2s422674x218714.jpg new file mode 100644 index 000000000..0629ba619 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422674x218714.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422674x218715.jpg b/RWT_Cache/Textures/19/s2s422674x218715.jpg new file mode 100644 index 000000000..9b51ab6d0 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422674x218715.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422674x218716.jpg b/RWT_Cache/Textures/19/s2s422674x218716.jpg new file mode 100644 index 000000000..b6435390c Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422674x218716.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422674x218717.jpg b/RWT_Cache/Textures/19/s2s422674x218717.jpg new file mode 100644 index 000000000..8082665c4 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422674x218717.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422674x218718.jpg b/RWT_Cache/Textures/19/s2s422674x218718.jpg new file mode 100644 index 000000000..5ce1d9a6c Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422674x218718.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422674x218719.jpg b/RWT_Cache/Textures/19/s2s422674x218719.jpg new file mode 100644 index 000000000..3bdb7a5ef Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422674x218719.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422674x218720.jpg b/RWT_Cache/Textures/19/s2s422674x218720.jpg new file mode 100644 index 000000000..dbf39d4cb Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422674x218720.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422674x218721.jpg b/RWT_Cache/Textures/19/s2s422674x218721.jpg new file mode 100644 index 000000000..07c7c7396 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422674x218721.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422674x218722.jpg b/RWT_Cache/Textures/19/s2s422674x218722.jpg new file mode 100644 index 000000000..3fde583fb Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422674x218722.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422675x218695.jpg b/RWT_Cache/Textures/19/s2s422675x218695.jpg new file mode 100644 index 000000000..2230343bd Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422675x218695.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422675x218696.jpg b/RWT_Cache/Textures/19/s2s422675x218696.jpg new file mode 100644 index 000000000..cfc3eb141 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422675x218696.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422675x218697.jpg b/RWT_Cache/Textures/19/s2s422675x218697.jpg new file mode 100644 index 000000000..968106593 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422675x218697.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422675x218698.jpg b/RWT_Cache/Textures/19/s2s422675x218698.jpg new file mode 100644 index 000000000..d5c7a66d9 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422675x218698.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422675x218699.jpg b/RWT_Cache/Textures/19/s2s422675x218699.jpg new file mode 100644 index 000000000..31bc217aa Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422675x218699.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422675x218700.jpg b/RWT_Cache/Textures/19/s2s422675x218700.jpg new file mode 100644 index 000000000..c45f4e0ec Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422675x218700.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422675x218701.jpg b/RWT_Cache/Textures/19/s2s422675x218701.jpg new file mode 100644 index 000000000..f0c9df58a Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422675x218701.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422675x218702.jpg b/RWT_Cache/Textures/19/s2s422675x218702.jpg new file mode 100644 index 000000000..ef4062939 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422675x218702.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422675x218703.jpg b/RWT_Cache/Textures/19/s2s422675x218703.jpg new file mode 100644 index 000000000..e5e086d88 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422675x218703.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422675x218704.jpg b/RWT_Cache/Textures/19/s2s422675x218704.jpg new file mode 100644 index 000000000..2968a2bc9 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422675x218704.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422675x218705.jpg b/RWT_Cache/Textures/19/s2s422675x218705.jpg new file mode 100644 index 000000000..a3de9065d Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422675x218705.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422675x218706.jpg b/RWT_Cache/Textures/19/s2s422675x218706.jpg new file mode 100644 index 000000000..94412d6c7 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422675x218706.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422675x218707.jpg b/RWT_Cache/Textures/19/s2s422675x218707.jpg new file mode 100644 index 000000000..bd635c920 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422675x218707.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422675x218708.jpg b/RWT_Cache/Textures/19/s2s422675x218708.jpg new file mode 100644 index 000000000..2b98ee3df Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422675x218708.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422675x218709.jpg b/RWT_Cache/Textures/19/s2s422675x218709.jpg new file mode 100644 index 000000000..71298f91a Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422675x218709.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422675x218710.jpg b/RWT_Cache/Textures/19/s2s422675x218710.jpg new file mode 100644 index 000000000..287ab202d Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422675x218710.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422675x218711.jpg b/RWT_Cache/Textures/19/s2s422675x218711.jpg new file mode 100644 index 000000000..bbb92883a Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422675x218711.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422675x218712.jpg b/RWT_Cache/Textures/19/s2s422675x218712.jpg new file mode 100644 index 000000000..e7cfe43f4 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422675x218712.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422675x218713.jpg b/RWT_Cache/Textures/19/s2s422675x218713.jpg new file mode 100644 index 000000000..e2a1eca58 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422675x218713.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422675x218714.jpg b/RWT_Cache/Textures/19/s2s422675x218714.jpg new file mode 100644 index 000000000..fd830028c Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422675x218714.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422675x218715.jpg b/RWT_Cache/Textures/19/s2s422675x218715.jpg new file mode 100644 index 000000000..6f3bf766d Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422675x218715.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422675x218716.jpg b/RWT_Cache/Textures/19/s2s422675x218716.jpg new file mode 100644 index 000000000..08aa48401 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422675x218716.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422675x218717.jpg b/RWT_Cache/Textures/19/s2s422675x218717.jpg new file mode 100644 index 000000000..62cf41428 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422675x218717.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422675x218718.jpg b/RWT_Cache/Textures/19/s2s422675x218718.jpg new file mode 100644 index 000000000..58ec1bad6 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422675x218718.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422675x218719.jpg b/RWT_Cache/Textures/19/s2s422675x218719.jpg new file mode 100644 index 000000000..55ae8567d Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422675x218719.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422675x218720.jpg b/RWT_Cache/Textures/19/s2s422675x218720.jpg new file mode 100644 index 000000000..a92be09cb Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422675x218720.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422675x218721.jpg b/RWT_Cache/Textures/19/s2s422675x218721.jpg new file mode 100644 index 000000000..21ee09a64 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422675x218721.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422675x218722.jpg b/RWT_Cache/Textures/19/s2s422675x218722.jpg new file mode 100644 index 000000000..c621112f0 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422675x218722.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422676x218695.jpg b/RWT_Cache/Textures/19/s2s422676x218695.jpg new file mode 100644 index 000000000..53362c139 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422676x218695.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422676x218696.jpg b/RWT_Cache/Textures/19/s2s422676x218696.jpg new file mode 100644 index 000000000..fef02fd4b Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422676x218696.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422676x218697.jpg b/RWT_Cache/Textures/19/s2s422676x218697.jpg new file mode 100644 index 000000000..9503f2681 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422676x218697.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422676x218698.jpg b/RWT_Cache/Textures/19/s2s422676x218698.jpg new file mode 100644 index 000000000..358ccb3d8 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422676x218698.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422676x218699.jpg b/RWT_Cache/Textures/19/s2s422676x218699.jpg new file mode 100644 index 000000000..70f6c85ed Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422676x218699.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422676x218700.jpg b/RWT_Cache/Textures/19/s2s422676x218700.jpg new file mode 100644 index 000000000..c9c9dce81 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422676x218700.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422676x218701.jpg b/RWT_Cache/Textures/19/s2s422676x218701.jpg new file mode 100644 index 000000000..87ebff868 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422676x218701.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422676x218702.jpg b/RWT_Cache/Textures/19/s2s422676x218702.jpg new file mode 100644 index 000000000..20ed971a9 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422676x218702.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422676x218703.jpg b/RWT_Cache/Textures/19/s2s422676x218703.jpg new file mode 100644 index 000000000..0748891dd Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422676x218703.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422676x218704.jpg b/RWT_Cache/Textures/19/s2s422676x218704.jpg new file mode 100644 index 000000000..0efbfe2bb Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422676x218704.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422676x218705.jpg b/RWT_Cache/Textures/19/s2s422676x218705.jpg new file mode 100644 index 000000000..3e9adafb1 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422676x218705.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422676x218706.jpg b/RWT_Cache/Textures/19/s2s422676x218706.jpg new file mode 100644 index 000000000..91fc3ce04 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422676x218706.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422676x218707.jpg b/RWT_Cache/Textures/19/s2s422676x218707.jpg new file mode 100644 index 000000000..c50cf97fd Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422676x218707.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422676x218708.jpg b/RWT_Cache/Textures/19/s2s422676x218708.jpg new file mode 100644 index 000000000..3279988bc Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422676x218708.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422676x218709.jpg b/RWT_Cache/Textures/19/s2s422676x218709.jpg new file mode 100644 index 000000000..192b0624c Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422676x218709.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422676x218710.jpg b/RWT_Cache/Textures/19/s2s422676x218710.jpg new file mode 100644 index 000000000..a638eebe1 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422676x218710.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422676x218711.jpg b/RWT_Cache/Textures/19/s2s422676x218711.jpg new file mode 100644 index 000000000..cc9e67e1d Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422676x218711.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422676x218712.jpg b/RWT_Cache/Textures/19/s2s422676x218712.jpg new file mode 100644 index 000000000..d437a9627 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422676x218712.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422676x218713.jpg b/RWT_Cache/Textures/19/s2s422676x218713.jpg new file mode 100644 index 000000000..90473b439 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422676x218713.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422676x218714.jpg b/RWT_Cache/Textures/19/s2s422676x218714.jpg new file mode 100644 index 000000000..b59c66f22 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422676x218714.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422676x218715.jpg b/RWT_Cache/Textures/19/s2s422676x218715.jpg new file mode 100644 index 000000000..57ab03ebf Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422676x218715.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422676x218716.jpg b/RWT_Cache/Textures/19/s2s422676x218716.jpg new file mode 100644 index 000000000..823ad59b5 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422676x218716.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422676x218717.jpg b/RWT_Cache/Textures/19/s2s422676x218717.jpg new file mode 100644 index 000000000..ac0ca1fab Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422676x218717.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422676x218718.jpg b/RWT_Cache/Textures/19/s2s422676x218718.jpg new file mode 100644 index 000000000..9ff842b51 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422676x218718.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422676x218719.jpg b/RWT_Cache/Textures/19/s2s422676x218719.jpg new file mode 100644 index 000000000..2f950e8cc Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422676x218719.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422676x218720.jpg b/RWT_Cache/Textures/19/s2s422676x218720.jpg new file mode 100644 index 000000000..3467b930e Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422676x218720.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422676x218721.jpg b/RWT_Cache/Textures/19/s2s422676x218721.jpg new file mode 100644 index 000000000..409043699 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422676x218721.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422676x218722.jpg b/RWT_Cache/Textures/19/s2s422676x218722.jpg new file mode 100644 index 000000000..6ab4477d8 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422676x218722.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422677x218695.jpg b/RWT_Cache/Textures/19/s2s422677x218695.jpg new file mode 100644 index 000000000..93ecb2a02 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422677x218695.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422677x218696.jpg b/RWT_Cache/Textures/19/s2s422677x218696.jpg new file mode 100644 index 000000000..703d6eb83 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422677x218696.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422677x218697.jpg b/RWT_Cache/Textures/19/s2s422677x218697.jpg new file mode 100644 index 000000000..609b6eeaf Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422677x218697.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422677x218698.jpg b/RWT_Cache/Textures/19/s2s422677x218698.jpg new file mode 100644 index 000000000..6543a098f Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422677x218698.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422677x218699.jpg b/RWT_Cache/Textures/19/s2s422677x218699.jpg new file mode 100644 index 000000000..dd651aab8 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422677x218699.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422677x218700.jpg b/RWT_Cache/Textures/19/s2s422677x218700.jpg new file mode 100644 index 000000000..e72429c2d Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422677x218700.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422677x218701.jpg b/RWT_Cache/Textures/19/s2s422677x218701.jpg new file mode 100644 index 000000000..42ed88086 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422677x218701.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422677x218702.jpg b/RWT_Cache/Textures/19/s2s422677x218702.jpg new file mode 100644 index 000000000..bdb50689a Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422677x218702.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422677x218703.jpg b/RWT_Cache/Textures/19/s2s422677x218703.jpg new file mode 100644 index 000000000..cb5022f90 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422677x218703.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422677x218704.jpg b/RWT_Cache/Textures/19/s2s422677x218704.jpg new file mode 100644 index 000000000..c7d1885e5 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422677x218704.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422677x218705.jpg b/RWT_Cache/Textures/19/s2s422677x218705.jpg new file mode 100644 index 000000000..b55f395ee Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422677x218705.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422677x218706.jpg b/RWT_Cache/Textures/19/s2s422677x218706.jpg new file mode 100644 index 000000000..55a852f0a Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422677x218706.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422677x218707.jpg b/RWT_Cache/Textures/19/s2s422677x218707.jpg new file mode 100644 index 000000000..7c00c39ad Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422677x218707.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422677x218708.jpg b/RWT_Cache/Textures/19/s2s422677x218708.jpg new file mode 100644 index 000000000..2ff90db7f Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422677x218708.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422677x218709.jpg b/RWT_Cache/Textures/19/s2s422677x218709.jpg new file mode 100644 index 000000000..6538dd8f1 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422677x218709.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422677x218710.jpg b/RWT_Cache/Textures/19/s2s422677x218710.jpg new file mode 100644 index 000000000..17b9d3f4f Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422677x218710.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422677x218711.jpg b/RWT_Cache/Textures/19/s2s422677x218711.jpg new file mode 100644 index 000000000..124b61a0b Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422677x218711.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422677x218712.jpg b/RWT_Cache/Textures/19/s2s422677x218712.jpg new file mode 100644 index 000000000..651a2ad5b Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422677x218712.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422677x218713.jpg b/RWT_Cache/Textures/19/s2s422677x218713.jpg new file mode 100644 index 000000000..50aaaf250 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422677x218713.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422677x218714.jpg b/RWT_Cache/Textures/19/s2s422677x218714.jpg new file mode 100644 index 000000000..f8cd4a757 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422677x218714.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422677x218715.jpg b/RWT_Cache/Textures/19/s2s422677x218715.jpg new file mode 100644 index 000000000..b171fa185 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422677x218715.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422677x218716.jpg b/RWT_Cache/Textures/19/s2s422677x218716.jpg new file mode 100644 index 000000000..8d7af40e7 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422677x218716.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422677x218717.jpg b/RWT_Cache/Textures/19/s2s422677x218717.jpg new file mode 100644 index 000000000..3c56c321c Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422677x218717.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422677x218718.jpg b/RWT_Cache/Textures/19/s2s422677x218718.jpg new file mode 100644 index 000000000..8a4d67b72 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422677x218718.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422677x218719.jpg b/RWT_Cache/Textures/19/s2s422677x218719.jpg new file mode 100644 index 000000000..56dc19fbf Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422677x218719.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422677x218720.jpg b/RWT_Cache/Textures/19/s2s422677x218720.jpg new file mode 100644 index 000000000..741b85a1e Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422677x218720.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422677x218721.jpg b/RWT_Cache/Textures/19/s2s422677x218721.jpg new file mode 100644 index 000000000..d4513dc2b Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422677x218721.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422677x218722.jpg b/RWT_Cache/Textures/19/s2s422677x218722.jpg new file mode 100644 index 000000000..1656521e9 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422677x218722.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422678x218695.jpg b/RWT_Cache/Textures/19/s2s422678x218695.jpg new file mode 100644 index 000000000..feb82e671 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422678x218695.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422678x218696.jpg b/RWT_Cache/Textures/19/s2s422678x218696.jpg new file mode 100644 index 000000000..a2c42d992 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422678x218696.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422678x218697.jpg b/RWT_Cache/Textures/19/s2s422678x218697.jpg new file mode 100644 index 000000000..63b3b7884 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422678x218697.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422678x218698.jpg b/RWT_Cache/Textures/19/s2s422678x218698.jpg new file mode 100644 index 000000000..3e45cd962 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422678x218698.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422678x218699.jpg b/RWT_Cache/Textures/19/s2s422678x218699.jpg new file mode 100644 index 000000000..3357b4761 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422678x218699.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422678x218700.jpg b/RWT_Cache/Textures/19/s2s422678x218700.jpg new file mode 100644 index 000000000..b7d30f613 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422678x218700.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422678x218701.jpg b/RWT_Cache/Textures/19/s2s422678x218701.jpg new file mode 100644 index 000000000..2783c8b4a Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422678x218701.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422678x218702.jpg b/RWT_Cache/Textures/19/s2s422678x218702.jpg new file mode 100644 index 000000000..8f9b3a1f7 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422678x218702.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422678x218703.jpg b/RWT_Cache/Textures/19/s2s422678x218703.jpg new file mode 100644 index 000000000..9d58a639a Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422678x218703.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422678x218704.jpg b/RWT_Cache/Textures/19/s2s422678x218704.jpg new file mode 100644 index 000000000..7f8ca4988 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422678x218704.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422678x218705.jpg b/RWT_Cache/Textures/19/s2s422678x218705.jpg new file mode 100644 index 000000000..f41441a19 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422678x218705.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422678x218706.jpg b/RWT_Cache/Textures/19/s2s422678x218706.jpg new file mode 100644 index 000000000..5475d3740 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422678x218706.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422678x218707.jpg b/RWT_Cache/Textures/19/s2s422678x218707.jpg new file mode 100644 index 000000000..c16afc3c3 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422678x218707.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422678x218708.jpg b/RWT_Cache/Textures/19/s2s422678x218708.jpg new file mode 100644 index 000000000..d67ab5dcb Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422678x218708.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422678x218709.jpg b/RWT_Cache/Textures/19/s2s422678x218709.jpg new file mode 100644 index 000000000..5cbc90391 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422678x218709.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422678x218710.jpg b/RWT_Cache/Textures/19/s2s422678x218710.jpg new file mode 100644 index 000000000..6714eff68 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422678x218710.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422678x218711.jpg b/RWT_Cache/Textures/19/s2s422678x218711.jpg new file mode 100644 index 000000000..691d650d1 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422678x218711.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422678x218712.jpg b/RWT_Cache/Textures/19/s2s422678x218712.jpg new file mode 100644 index 000000000..a6bd3cd13 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422678x218712.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422678x218713.jpg b/RWT_Cache/Textures/19/s2s422678x218713.jpg new file mode 100644 index 000000000..6a88b2bb9 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422678x218713.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422678x218714.jpg b/RWT_Cache/Textures/19/s2s422678x218714.jpg new file mode 100644 index 000000000..72994c9f7 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422678x218714.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422678x218715.jpg b/RWT_Cache/Textures/19/s2s422678x218715.jpg new file mode 100644 index 000000000..dbfaacb7c Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422678x218715.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422678x218716.jpg b/RWT_Cache/Textures/19/s2s422678x218716.jpg new file mode 100644 index 000000000..369d5e5e3 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422678x218716.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422678x218717.jpg b/RWT_Cache/Textures/19/s2s422678x218717.jpg new file mode 100644 index 000000000..97261755d Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422678x218717.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422678x218718.jpg b/RWT_Cache/Textures/19/s2s422678x218718.jpg new file mode 100644 index 000000000..ac094c8b2 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422678x218718.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422678x218719.jpg b/RWT_Cache/Textures/19/s2s422678x218719.jpg new file mode 100644 index 000000000..d0e24dc08 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422678x218719.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422678x218720.jpg b/RWT_Cache/Textures/19/s2s422678x218720.jpg new file mode 100644 index 000000000..6ca173a4b Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422678x218720.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422678x218721.jpg b/RWT_Cache/Textures/19/s2s422678x218721.jpg new file mode 100644 index 000000000..3635de431 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422678x218721.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422678x218722.jpg b/RWT_Cache/Textures/19/s2s422678x218722.jpg new file mode 100644 index 000000000..4afc0ef84 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422678x218722.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422679x218695.jpg b/RWT_Cache/Textures/19/s2s422679x218695.jpg new file mode 100644 index 000000000..5d97f9acd Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422679x218695.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422679x218696.jpg b/RWT_Cache/Textures/19/s2s422679x218696.jpg new file mode 100644 index 000000000..db4223d91 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422679x218696.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422679x218697.jpg b/RWT_Cache/Textures/19/s2s422679x218697.jpg new file mode 100644 index 000000000..3cc843ac4 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422679x218697.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422679x218698.jpg b/RWT_Cache/Textures/19/s2s422679x218698.jpg new file mode 100644 index 000000000..9ea1b407e Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422679x218698.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422679x218699.jpg b/RWT_Cache/Textures/19/s2s422679x218699.jpg new file mode 100644 index 000000000..fca1b01bb Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422679x218699.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422679x218700.jpg b/RWT_Cache/Textures/19/s2s422679x218700.jpg new file mode 100644 index 000000000..ce8e425f3 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422679x218700.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422679x218701.jpg b/RWT_Cache/Textures/19/s2s422679x218701.jpg new file mode 100644 index 000000000..c106270fd Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422679x218701.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422679x218702.jpg b/RWT_Cache/Textures/19/s2s422679x218702.jpg new file mode 100644 index 000000000..653ba029a Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422679x218702.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422679x218703.jpg b/RWT_Cache/Textures/19/s2s422679x218703.jpg new file mode 100644 index 000000000..4f4d4ea32 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422679x218703.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422679x218704.jpg b/RWT_Cache/Textures/19/s2s422679x218704.jpg new file mode 100644 index 000000000..855faf1fb Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422679x218704.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422679x218705.jpg b/RWT_Cache/Textures/19/s2s422679x218705.jpg new file mode 100644 index 000000000..ae6cbb303 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422679x218705.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422679x218706.jpg b/RWT_Cache/Textures/19/s2s422679x218706.jpg new file mode 100644 index 000000000..d1f0eef80 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422679x218706.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422679x218707.jpg b/RWT_Cache/Textures/19/s2s422679x218707.jpg new file mode 100644 index 000000000..ffafda3e4 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422679x218707.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422679x218708.jpg b/RWT_Cache/Textures/19/s2s422679x218708.jpg new file mode 100644 index 000000000..99f2ce6b6 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422679x218708.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422679x218709.jpg b/RWT_Cache/Textures/19/s2s422679x218709.jpg new file mode 100644 index 000000000..65dcf8ba6 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422679x218709.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422679x218710.jpg b/RWT_Cache/Textures/19/s2s422679x218710.jpg new file mode 100644 index 000000000..c5d380391 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422679x218710.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422679x218711.jpg b/RWT_Cache/Textures/19/s2s422679x218711.jpg new file mode 100644 index 000000000..94e5ca67b Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422679x218711.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422679x218712.jpg b/RWT_Cache/Textures/19/s2s422679x218712.jpg new file mode 100644 index 000000000..4bcbf29be Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422679x218712.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422679x218713.jpg b/RWT_Cache/Textures/19/s2s422679x218713.jpg new file mode 100644 index 000000000..76c536e3c Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422679x218713.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422679x218714.jpg b/RWT_Cache/Textures/19/s2s422679x218714.jpg new file mode 100644 index 000000000..5a91060ef Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422679x218714.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422679x218715.jpg b/RWT_Cache/Textures/19/s2s422679x218715.jpg new file mode 100644 index 000000000..a082d29fb Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422679x218715.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422679x218716.jpg b/RWT_Cache/Textures/19/s2s422679x218716.jpg new file mode 100644 index 000000000..a49362809 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422679x218716.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422679x218717.jpg b/RWT_Cache/Textures/19/s2s422679x218717.jpg new file mode 100644 index 000000000..a801b618f Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422679x218717.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422679x218718.jpg b/RWT_Cache/Textures/19/s2s422679x218718.jpg new file mode 100644 index 000000000..67ae92c35 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422679x218718.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422679x218719.jpg b/RWT_Cache/Textures/19/s2s422679x218719.jpg new file mode 100644 index 000000000..e49c05c64 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422679x218719.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422679x218720.jpg b/RWT_Cache/Textures/19/s2s422679x218720.jpg new file mode 100644 index 000000000..983a302f0 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422679x218720.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422679x218721.jpg b/RWT_Cache/Textures/19/s2s422679x218721.jpg new file mode 100644 index 000000000..7601e45ef Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422679x218721.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422679x218722.jpg b/RWT_Cache/Textures/19/s2s422679x218722.jpg new file mode 100644 index 000000000..5053460dc Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422679x218722.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422680x218695.jpg b/RWT_Cache/Textures/19/s2s422680x218695.jpg new file mode 100644 index 000000000..7c0d588a9 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422680x218695.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422680x218696.jpg b/RWT_Cache/Textures/19/s2s422680x218696.jpg new file mode 100644 index 000000000..70af5ad8e Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422680x218696.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422680x218697.jpg b/RWT_Cache/Textures/19/s2s422680x218697.jpg new file mode 100644 index 000000000..611a00e61 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422680x218697.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422680x218698.jpg b/RWT_Cache/Textures/19/s2s422680x218698.jpg new file mode 100644 index 000000000..07276d8e3 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422680x218698.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422680x218699.jpg b/RWT_Cache/Textures/19/s2s422680x218699.jpg new file mode 100644 index 000000000..ac14bd92f Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422680x218699.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422680x218700.jpg b/RWT_Cache/Textures/19/s2s422680x218700.jpg new file mode 100644 index 000000000..c18728f0b Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422680x218700.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422680x218701.jpg b/RWT_Cache/Textures/19/s2s422680x218701.jpg new file mode 100644 index 000000000..15f4b813d Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422680x218701.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422680x218702.jpg b/RWT_Cache/Textures/19/s2s422680x218702.jpg new file mode 100644 index 000000000..df114dd88 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422680x218702.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422680x218703.jpg b/RWT_Cache/Textures/19/s2s422680x218703.jpg new file mode 100644 index 000000000..8040eb3c3 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422680x218703.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422680x218704.jpg b/RWT_Cache/Textures/19/s2s422680x218704.jpg new file mode 100644 index 000000000..d30bf9a61 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422680x218704.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422680x218705.jpg b/RWT_Cache/Textures/19/s2s422680x218705.jpg new file mode 100644 index 000000000..d4020fc1d Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422680x218705.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422680x218706.jpg b/RWT_Cache/Textures/19/s2s422680x218706.jpg new file mode 100644 index 000000000..d5eeb6df5 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422680x218706.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422680x218707.jpg b/RWT_Cache/Textures/19/s2s422680x218707.jpg new file mode 100644 index 000000000..7c7d89ff4 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422680x218707.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422680x218708.jpg b/RWT_Cache/Textures/19/s2s422680x218708.jpg new file mode 100644 index 000000000..94e24dff3 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422680x218708.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422680x218709.jpg b/RWT_Cache/Textures/19/s2s422680x218709.jpg new file mode 100644 index 000000000..9b51f0fdd Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422680x218709.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422680x218710.jpg b/RWT_Cache/Textures/19/s2s422680x218710.jpg new file mode 100644 index 000000000..6fb09e664 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422680x218710.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422680x218711.jpg b/RWT_Cache/Textures/19/s2s422680x218711.jpg new file mode 100644 index 000000000..4229ce7bb Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422680x218711.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422680x218712.jpg b/RWT_Cache/Textures/19/s2s422680x218712.jpg new file mode 100644 index 000000000..8e99d402e Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422680x218712.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422680x218713.jpg b/RWT_Cache/Textures/19/s2s422680x218713.jpg new file mode 100644 index 000000000..70a4ccf68 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422680x218713.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422680x218714.jpg b/RWT_Cache/Textures/19/s2s422680x218714.jpg new file mode 100644 index 000000000..9e31a8c58 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422680x218714.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422680x218715.jpg b/RWT_Cache/Textures/19/s2s422680x218715.jpg new file mode 100644 index 000000000..bb5c21a23 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422680x218715.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422680x218716.jpg b/RWT_Cache/Textures/19/s2s422680x218716.jpg new file mode 100644 index 000000000..989bf9f67 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422680x218716.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422680x218717.jpg b/RWT_Cache/Textures/19/s2s422680x218717.jpg new file mode 100644 index 000000000..1ee8af10b Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422680x218717.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422680x218718.jpg b/RWT_Cache/Textures/19/s2s422680x218718.jpg new file mode 100644 index 000000000..cd8ea7e8c Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422680x218718.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422680x218719.jpg b/RWT_Cache/Textures/19/s2s422680x218719.jpg new file mode 100644 index 000000000..0c1010acc Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422680x218719.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422680x218720.jpg b/RWT_Cache/Textures/19/s2s422680x218720.jpg new file mode 100644 index 000000000..ca55ab9e1 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422680x218720.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422680x218721.jpg b/RWT_Cache/Textures/19/s2s422680x218721.jpg new file mode 100644 index 000000000..76defeff2 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422680x218721.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422680x218722.jpg b/RWT_Cache/Textures/19/s2s422680x218722.jpg new file mode 100644 index 000000000..e4e4e6514 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422680x218722.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422681x218695.jpg b/RWT_Cache/Textures/19/s2s422681x218695.jpg new file mode 100644 index 000000000..41b62f723 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422681x218695.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422681x218696.jpg b/RWT_Cache/Textures/19/s2s422681x218696.jpg new file mode 100644 index 000000000..71cf912c3 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422681x218696.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422681x218697.jpg b/RWT_Cache/Textures/19/s2s422681x218697.jpg new file mode 100644 index 000000000..362c2a9a6 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422681x218697.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422681x218698.jpg b/RWT_Cache/Textures/19/s2s422681x218698.jpg new file mode 100644 index 000000000..77046c1fa Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422681x218698.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422681x218699.jpg b/RWT_Cache/Textures/19/s2s422681x218699.jpg new file mode 100644 index 000000000..888bde593 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422681x218699.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422681x218700.jpg b/RWT_Cache/Textures/19/s2s422681x218700.jpg new file mode 100644 index 000000000..317245933 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422681x218700.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422681x218701.jpg b/RWT_Cache/Textures/19/s2s422681x218701.jpg new file mode 100644 index 000000000..112662f72 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422681x218701.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422681x218702.jpg b/RWT_Cache/Textures/19/s2s422681x218702.jpg new file mode 100644 index 000000000..99df4df58 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422681x218702.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422681x218703.jpg b/RWT_Cache/Textures/19/s2s422681x218703.jpg new file mode 100644 index 000000000..4b23cc46c Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422681x218703.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422681x218704.jpg b/RWT_Cache/Textures/19/s2s422681x218704.jpg new file mode 100644 index 000000000..54ffb7e4a Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422681x218704.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422681x218705.jpg b/RWT_Cache/Textures/19/s2s422681x218705.jpg new file mode 100644 index 000000000..f430bfa39 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422681x218705.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422681x218706.jpg b/RWT_Cache/Textures/19/s2s422681x218706.jpg new file mode 100644 index 000000000..eb09ef90e Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422681x218706.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422681x218707.jpg b/RWT_Cache/Textures/19/s2s422681x218707.jpg new file mode 100644 index 000000000..545fea4d0 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422681x218707.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422681x218708.jpg b/RWT_Cache/Textures/19/s2s422681x218708.jpg new file mode 100644 index 000000000..fc26a1742 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422681x218708.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422681x218709.jpg b/RWT_Cache/Textures/19/s2s422681x218709.jpg new file mode 100644 index 000000000..f80e63c6d Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422681x218709.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422681x218710.jpg b/RWT_Cache/Textures/19/s2s422681x218710.jpg new file mode 100644 index 000000000..526d09320 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422681x218710.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422681x218711.jpg b/RWT_Cache/Textures/19/s2s422681x218711.jpg new file mode 100644 index 000000000..7674f357f Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422681x218711.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422681x218712.jpg b/RWT_Cache/Textures/19/s2s422681x218712.jpg new file mode 100644 index 000000000..105c02f64 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422681x218712.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422681x218713.jpg b/RWT_Cache/Textures/19/s2s422681x218713.jpg new file mode 100644 index 000000000..1ac770c46 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422681x218713.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422681x218714.jpg b/RWT_Cache/Textures/19/s2s422681x218714.jpg new file mode 100644 index 000000000..9fb973610 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422681x218714.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422681x218715.jpg b/RWT_Cache/Textures/19/s2s422681x218715.jpg new file mode 100644 index 000000000..ef18f3304 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422681x218715.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422681x218716.jpg b/RWT_Cache/Textures/19/s2s422681x218716.jpg new file mode 100644 index 000000000..6acf1bc54 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422681x218716.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422681x218717.jpg b/RWT_Cache/Textures/19/s2s422681x218717.jpg new file mode 100644 index 000000000..b0fe396d1 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422681x218717.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422681x218718.jpg b/RWT_Cache/Textures/19/s2s422681x218718.jpg new file mode 100644 index 000000000..5f0ce04c0 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422681x218718.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422681x218719.jpg b/RWT_Cache/Textures/19/s2s422681x218719.jpg new file mode 100644 index 000000000..cc0858290 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422681x218719.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422681x218720.jpg b/RWT_Cache/Textures/19/s2s422681x218720.jpg new file mode 100644 index 000000000..d025350b9 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422681x218720.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422681x218721.jpg b/RWT_Cache/Textures/19/s2s422681x218721.jpg new file mode 100644 index 000000000..7ba36e2fd Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422681x218721.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422681x218722.jpg b/RWT_Cache/Textures/19/s2s422681x218722.jpg new file mode 100644 index 000000000..0f40e55e7 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422681x218722.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422682x218695.jpg b/RWT_Cache/Textures/19/s2s422682x218695.jpg new file mode 100644 index 000000000..3b456d425 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422682x218695.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422682x218696.jpg b/RWT_Cache/Textures/19/s2s422682x218696.jpg new file mode 100644 index 000000000..05b384059 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422682x218696.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422682x218697.jpg b/RWT_Cache/Textures/19/s2s422682x218697.jpg new file mode 100644 index 000000000..81deac6d4 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422682x218697.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422682x218698.jpg b/RWT_Cache/Textures/19/s2s422682x218698.jpg new file mode 100644 index 000000000..b331e84d9 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422682x218698.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422682x218699.jpg b/RWT_Cache/Textures/19/s2s422682x218699.jpg new file mode 100644 index 000000000..e9818ebc8 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422682x218699.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422682x218700.jpg b/RWT_Cache/Textures/19/s2s422682x218700.jpg new file mode 100644 index 000000000..7c34a77a5 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422682x218700.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422682x218701.jpg b/RWT_Cache/Textures/19/s2s422682x218701.jpg new file mode 100644 index 000000000..8d8621d03 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422682x218701.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422682x218702.jpg b/RWT_Cache/Textures/19/s2s422682x218702.jpg new file mode 100644 index 000000000..3ccde990d Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422682x218702.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422682x218703.jpg b/RWT_Cache/Textures/19/s2s422682x218703.jpg new file mode 100644 index 000000000..92d21bbe2 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422682x218703.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422682x218704.jpg b/RWT_Cache/Textures/19/s2s422682x218704.jpg new file mode 100644 index 000000000..8c2b37710 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422682x218704.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422682x218705.jpg b/RWT_Cache/Textures/19/s2s422682x218705.jpg new file mode 100644 index 000000000..d42c55446 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422682x218705.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422682x218706.jpg b/RWT_Cache/Textures/19/s2s422682x218706.jpg new file mode 100644 index 000000000..81a97b2c6 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422682x218706.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422682x218707.jpg b/RWT_Cache/Textures/19/s2s422682x218707.jpg new file mode 100644 index 000000000..54aecc528 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422682x218707.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422682x218708.jpg b/RWT_Cache/Textures/19/s2s422682x218708.jpg new file mode 100644 index 000000000..d379b09bc Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422682x218708.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422682x218709.jpg b/RWT_Cache/Textures/19/s2s422682x218709.jpg new file mode 100644 index 000000000..c96e9869f Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422682x218709.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422682x218710.jpg b/RWT_Cache/Textures/19/s2s422682x218710.jpg new file mode 100644 index 000000000..d9d7d0401 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422682x218710.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422682x218711.jpg b/RWT_Cache/Textures/19/s2s422682x218711.jpg new file mode 100644 index 000000000..e81ba7337 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422682x218711.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422682x218712.jpg b/RWT_Cache/Textures/19/s2s422682x218712.jpg new file mode 100644 index 000000000..c0e7a4554 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422682x218712.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422682x218713.jpg b/RWT_Cache/Textures/19/s2s422682x218713.jpg new file mode 100644 index 000000000..65aa160d4 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422682x218713.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422682x218714.jpg b/RWT_Cache/Textures/19/s2s422682x218714.jpg new file mode 100644 index 000000000..40756d638 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422682x218714.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422682x218715.jpg b/RWT_Cache/Textures/19/s2s422682x218715.jpg new file mode 100644 index 000000000..a35db1626 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422682x218715.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422682x218716.jpg b/RWT_Cache/Textures/19/s2s422682x218716.jpg new file mode 100644 index 000000000..e92c0cafe Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422682x218716.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422682x218717.jpg b/RWT_Cache/Textures/19/s2s422682x218717.jpg new file mode 100644 index 000000000..b4208123e Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422682x218717.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422682x218718.jpg b/RWT_Cache/Textures/19/s2s422682x218718.jpg new file mode 100644 index 000000000..381c094f1 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422682x218718.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422682x218719.jpg b/RWT_Cache/Textures/19/s2s422682x218719.jpg new file mode 100644 index 000000000..bd9fa538e Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422682x218719.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422682x218720.jpg b/RWT_Cache/Textures/19/s2s422682x218720.jpg new file mode 100644 index 000000000..6f2064994 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422682x218720.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422682x218721.jpg b/RWT_Cache/Textures/19/s2s422682x218721.jpg new file mode 100644 index 000000000..641d27fb7 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422682x218721.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422682x218722.jpg b/RWT_Cache/Textures/19/s2s422682x218722.jpg new file mode 100644 index 000000000..e3e646007 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422682x218722.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422683x218695.jpg b/RWT_Cache/Textures/19/s2s422683x218695.jpg new file mode 100644 index 000000000..96cc620cd Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422683x218695.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422683x218696.jpg b/RWT_Cache/Textures/19/s2s422683x218696.jpg new file mode 100644 index 000000000..492bc382b Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422683x218696.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422683x218697.jpg b/RWT_Cache/Textures/19/s2s422683x218697.jpg new file mode 100644 index 000000000..b251aaf24 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422683x218697.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422683x218698.jpg b/RWT_Cache/Textures/19/s2s422683x218698.jpg new file mode 100644 index 000000000..2108d8ecf Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422683x218698.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422683x218699.jpg b/RWT_Cache/Textures/19/s2s422683x218699.jpg new file mode 100644 index 000000000..94d8cfb6b Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422683x218699.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422683x218700.jpg b/RWT_Cache/Textures/19/s2s422683x218700.jpg new file mode 100644 index 000000000..ffb246143 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422683x218700.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422683x218701.jpg b/RWT_Cache/Textures/19/s2s422683x218701.jpg new file mode 100644 index 000000000..d54de4a36 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422683x218701.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422683x218702.jpg b/RWT_Cache/Textures/19/s2s422683x218702.jpg new file mode 100644 index 000000000..1e1ef4ea1 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422683x218702.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422683x218703.jpg b/RWT_Cache/Textures/19/s2s422683x218703.jpg new file mode 100644 index 000000000..7f4cad906 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422683x218703.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422683x218704.jpg b/RWT_Cache/Textures/19/s2s422683x218704.jpg new file mode 100644 index 000000000..f3527a6a8 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422683x218704.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422683x218705.jpg b/RWT_Cache/Textures/19/s2s422683x218705.jpg new file mode 100644 index 000000000..5c90b39bb Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422683x218705.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422683x218706.jpg b/RWT_Cache/Textures/19/s2s422683x218706.jpg new file mode 100644 index 000000000..6f8348020 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422683x218706.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422683x218707.jpg b/RWT_Cache/Textures/19/s2s422683x218707.jpg new file mode 100644 index 000000000..c8333a915 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422683x218707.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422683x218708.jpg b/RWT_Cache/Textures/19/s2s422683x218708.jpg new file mode 100644 index 000000000..8f11217f2 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422683x218708.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422683x218709.jpg b/RWT_Cache/Textures/19/s2s422683x218709.jpg new file mode 100644 index 000000000..5b3dde6e3 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422683x218709.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422683x218710.jpg b/RWT_Cache/Textures/19/s2s422683x218710.jpg new file mode 100644 index 000000000..cf7275dd9 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422683x218710.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422683x218711.jpg b/RWT_Cache/Textures/19/s2s422683x218711.jpg new file mode 100644 index 000000000..18cb85200 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422683x218711.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422683x218712.jpg b/RWT_Cache/Textures/19/s2s422683x218712.jpg new file mode 100644 index 000000000..33644c83b Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422683x218712.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422683x218713.jpg b/RWT_Cache/Textures/19/s2s422683x218713.jpg new file mode 100644 index 000000000..1c79cefcf Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422683x218713.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422683x218714.jpg b/RWT_Cache/Textures/19/s2s422683x218714.jpg new file mode 100644 index 000000000..e8268a30d Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422683x218714.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422683x218715.jpg b/RWT_Cache/Textures/19/s2s422683x218715.jpg new file mode 100644 index 000000000..eaa507ff1 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422683x218715.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422683x218716.jpg b/RWT_Cache/Textures/19/s2s422683x218716.jpg new file mode 100644 index 000000000..add2721b1 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422683x218716.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422683x218717.jpg b/RWT_Cache/Textures/19/s2s422683x218717.jpg new file mode 100644 index 000000000..8b7e09726 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422683x218717.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422683x218718.jpg b/RWT_Cache/Textures/19/s2s422683x218718.jpg new file mode 100644 index 000000000..c1616dd3d Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422683x218718.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422683x218719.jpg b/RWT_Cache/Textures/19/s2s422683x218719.jpg new file mode 100644 index 000000000..c97886d64 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422683x218719.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422683x218720.jpg b/RWT_Cache/Textures/19/s2s422683x218720.jpg new file mode 100644 index 000000000..0068e0a8e Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422683x218720.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422683x218721.jpg b/RWT_Cache/Textures/19/s2s422683x218721.jpg new file mode 100644 index 000000000..d0755e1de Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422683x218721.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422683x218722.jpg b/RWT_Cache/Textures/19/s2s422683x218722.jpg new file mode 100644 index 000000000..bc5e70d10 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422683x218722.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422684x218695.jpg b/RWT_Cache/Textures/19/s2s422684x218695.jpg new file mode 100644 index 000000000..ad0a31b4c Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422684x218695.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422684x218696.jpg b/RWT_Cache/Textures/19/s2s422684x218696.jpg new file mode 100644 index 000000000..c35ff73ac Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422684x218696.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422684x218697.jpg b/RWT_Cache/Textures/19/s2s422684x218697.jpg new file mode 100644 index 000000000..b419358e1 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422684x218697.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422684x218698.jpg b/RWT_Cache/Textures/19/s2s422684x218698.jpg new file mode 100644 index 000000000..0240627f3 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422684x218698.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422684x218699.jpg b/RWT_Cache/Textures/19/s2s422684x218699.jpg new file mode 100644 index 000000000..0289e553e Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422684x218699.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422684x218700.jpg b/RWT_Cache/Textures/19/s2s422684x218700.jpg new file mode 100644 index 000000000..1ef0c70ac Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422684x218700.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422684x218701.jpg b/RWT_Cache/Textures/19/s2s422684x218701.jpg new file mode 100644 index 000000000..20aed50c9 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422684x218701.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422684x218702.jpg b/RWT_Cache/Textures/19/s2s422684x218702.jpg new file mode 100644 index 000000000..d17bf109a Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422684x218702.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422684x218703.jpg b/RWT_Cache/Textures/19/s2s422684x218703.jpg new file mode 100644 index 000000000..a74f4a968 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422684x218703.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422684x218704.jpg b/RWT_Cache/Textures/19/s2s422684x218704.jpg new file mode 100644 index 000000000..56d408d00 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422684x218704.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422684x218705.jpg b/RWT_Cache/Textures/19/s2s422684x218705.jpg new file mode 100644 index 000000000..022445426 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422684x218705.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422684x218706.jpg b/RWT_Cache/Textures/19/s2s422684x218706.jpg new file mode 100644 index 000000000..acf4494d4 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422684x218706.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422684x218707.jpg b/RWT_Cache/Textures/19/s2s422684x218707.jpg new file mode 100644 index 000000000..8175a8431 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422684x218707.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422684x218708.jpg b/RWT_Cache/Textures/19/s2s422684x218708.jpg new file mode 100644 index 000000000..af8020f3c Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422684x218708.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422684x218709.jpg b/RWT_Cache/Textures/19/s2s422684x218709.jpg new file mode 100644 index 000000000..a7a6995bc Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422684x218709.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422684x218710.jpg b/RWT_Cache/Textures/19/s2s422684x218710.jpg new file mode 100644 index 000000000..22cf018bc Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422684x218710.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422684x218711.jpg b/RWT_Cache/Textures/19/s2s422684x218711.jpg new file mode 100644 index 000000000..9ccc79ac1 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422684x218711.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422684x218712.jpg b/RWT_Cache/Textures/19/s2s422684x218712.jpg new file mode 100644 index 000000000..73a781426 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422684x218712.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422684x218713.jpg b/RWT_Cache/Textures/19/s2s422684x218713.jpg new file mode 100644 index 000000000..7c06cb9e4 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422684x218713.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422684x218714.jpg b/RWT_Cache/Textures/19/s2s422684x218714.jpg new file mode 100644 index 000000000..ae5655ffa Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422684x218714.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422684x218715.jpg b/RWT_Cache/Textures/19/s2s422684x218715.jpg new file mode 100644 index 000000000..9e5d2f912 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422684x218715.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422684x218716.jpg b/RWT_Cache/Textures/19/s2s422684x218716.jpg new file mode 100644 index 000000000..1640b19c8 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422684x218716.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422684x218717.jpg b/RWT_Cache/Textures/19/s2s422684x218717.jpg new file mode 100644 index 000000000..312d8c092 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422684x218717.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422684x218718.jpg b/RWT_Cache/Textures/19/s2s422684x218718.jpg new file mode 100644 index 000000000..ddcf94645 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422684x218718.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422684x218719.jpg b/RWT_Cache/Textures/19/s2s422684x218719.jpg new file mode 100644 index 000000000..cd1f3c358 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422684x218719.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422684x218720.jpg b/RWT_Cache/Textures/19/s2s422684x218720.jpg new file mode 100644 index 000000000..a53942257 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422684x218720.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422684x218721.jpg b/RWT_Cache/Textures/19/s2s422684x218721.jpg new file mode 100644 index 000000000..d7d5c7eae Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422684x218721.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422684x218722.jpg b/RWT_Cache/Textures/19/s2s422684x218722.jpg new file mode 100644 index 000000000..74057a04c Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422684x218722.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422685x218695.jpg b/RWT_Cache/Textures/19/s2s422685x218695.jpg new file mode 100644 index 000000000..97375e445 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422685x218695.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422685x218696.jpg b/RWT_Cache/Textures/19/s2s422685x218696.jpg new file mode 100644 index 000000000..812245685 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422685x218696.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422685x218697.jpg b/RWT_Cache/Textures/19/s2s422685x218697.jpg new file mode 100644 index 000000000..9e58b74fa Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422685x218697.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422685x218698.jpg b/RWT_Cache/Textures/19/s2s422685x218698.jpg new file mode 100644 index 000000000..71bf2655f Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422685x218698.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422685x218699.jpg b/RWT_Cache/Textures/19/s2s422685x218699.jpg new file mode 100644 index 000000000..6380707de Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422685x218699.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422685x218700.jpg b/RWT_Cache/Textures/19/s2s422685x218700.jpg new file mode 100644 index 000000000..3882736a8 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422685x218700.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422685x218701.jpg b/RWT_Cache/Textures/19/s2s422685x218701.jpg new file mode 100644 index 000000000..0301f2a71 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422685x218701.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422685x218702.jpg b/RWT_Cache/Textures/19/s2s422685x218702.jpg new file mode 100644 index 000000000..be9593bdc Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422685x218702.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422685x218703.jpg b/RWT_Cache/Textures/19/s2s422685x218703.jpg new file mode 100644 index 000000000..0290aed25 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422685x218703.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422685x218704.jpg b/RWT_Cache/Textures/19/s2s422685x218704.jpg new file mode 100644 index 000000000..004df426f Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422685x218704.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422685x218705.jpg b/RWT_Cache/Textures/19/s2s422685x218705.jpg new file mode 100644 index 000000000..474f1d993 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422685x218705.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422685x218706.jpg b/RWT_Cache/Textures/19/s2s422685x218706.jpg new file mode 100644 index 000000000..bd2bd4628 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422685x218706.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422685x218707.jpg b/RWT_Cache/Textures/19/s2s422685x218707.jpg new file mode 100644 index 000000000..1a5a93dbc Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422685x218707.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422685x218708.jpg b/RWT_Cache/Textures/19/s2s422685x218708.jpg new file mode 100644 index 000000000..d9ae8941c Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422685x218708.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422685x218709.jpg b/RWT_Cache/Textures/19/s2s422685x218709.jpg new file mode 100644 index 000000000..1bc83f6a4 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422685x218709.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422685x218710.jpg b/RWT_Cache/Textures/19/s2s422685x218710.jpg new file mode 100644 index 000000000..ced502620 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422685x218710.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422685x218711.jpg b/RWT_Cache/Textures/19/s2s422685x218711.jpg new file mode 100644 index 000000000..3d38d8159 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422685x218711.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422685x218712.jpg b/RWT_Cache/Textures/19/s2s422685x218712.jpg new file mode 100644 index 000000000..2bc85ce66 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422685x218712.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422685x218713.jpg b/RWT_Cache/Textures/19/s2s422685x218713.jpg new file mode 100644 index 000000000..0a523570b Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422685x218713.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422685x218714.jpg b/RWT_Cache/Textures/19/s2s422685x218714.jpg new file mode 100644 index 000000000..e8adafd2b Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422685x218714.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422685x218715.jpg b/RWT_Cache/Textures/19/s2s422685x218715.jpg new file mode 100644 index 000000000..16f8190ea Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422685x218715.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422685x218716.jpg b/RWT_Cache/Textures/19/s2s422685x218716.jpg new file mode 100644 index 000000000..8b1686495 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422685x218716.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422685x218717.jpg b/RWT_Cache/Textures/19/s2s422685x218717.jpg new file mode 100644 index 000000000..7b211d0bf Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422685x218717.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422685x218718.jpg b/RWT_Cache/Textures/19/s2s422685x218718.jpg new file mode 100644 index 000000000..41badc016 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422685x218718.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422685x218719.jpg b/RWT_Cache/Textures/19/s2s422685x218719.jpg new file mode 100644 index 000000000..8e78d3b70 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422685x218719.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422685x218720.jpg b/RWT_Cache/Textures/19/s2s422685x218720.jpg new file mode 100644 index 000000000..0cebd3015 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422685x218720.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422685x218721.jpg b/RWT_Cache/Textures/19/s2s422685x218721.jpg new file mode 100644 index 000000000..8d51359c4 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422685x218721.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422685x218722.jpg b/RWT_Cache/Textures/19/s2s422685x218722.jpg new file mode 100644 index 000000000..2588011ad Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422685x218722.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422686x218695.jpg b/RWT_Cache/Textures/19/s2s422686x218695.jpg new file mode 100644 index 000000000..16f6f4773 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422686x218695.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422686x218696.jpg b/RWT_Cache/Textures/19/s2s422686x218696.jpg new file mode 100644 index 000000000..e7b9c3423 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422686x218696.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422686x218697.jpg b/RWT_Cache/Textures/19/s2s422686x218697.jpg new file mode 100644 index 000000000..abedf2c16 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422686x218697.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422686x218698.jpg b/RWT_Cache/Textures/19/s2s422686x218698.jpg new file mode 100644 index 000000000..b4e821363 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422686x218698.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422686x218699.jpg b/RWT_Cache/Textures/19/s2s422686x218699.jpg new file mode 100644 index 000000000..34a382ae5 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422686x218699.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422686x218700.jpg b/RWT_Cache/Textures/19/s2s422686x218700.jpg new file mode 100644 index 000000000..827209e3d Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422686x218700.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422686x218701.jpg b/RWT_Cache/Textures/19/s2s422686x218701.jpg new file mode 100644 index 000000000..0751eb21a Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422686x218701.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422686x218702.jpg b/RWT_Cache/Textures/19/s2s422686x218702.jpg new file mode 100644 index 000000000..2ac36df4c Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422686x218702.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422686x218703.jpg b/RWT_Cache/Textures/19/s2s422686x218703.jpg new file mode 100644 index 000000000..03ae6c6b3 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422686x218703.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422686x218704.jpg b/RWT_Cache/Textures/19/s2s422686x218704.jpg new file mode 100644 index 000000000..f1f8da372 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422686x218704.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422686x218705.jpg b/RWT_Cache/Textures/19/s2s422686x218705.jpg new file mode 100644 index 000000000..2201496dd Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422686x218705.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422686x218706.jpg b/RWT_Cache/Textures/19/s2s422686x218706.jpg new file mode 100644 index 000000000..09e9aa841 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422686x218706.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422686x218707.jpg b/RWT_Cache/Textures/19/s2s422686x218707.jpg new file mode 100644 index 000000000..25ed6e94c Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422686x218707.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422686x218708.jpg b/RWT_Cache/Textures/19/s2s422686x218708.jpg new file mode 100644 index 000000000..a4ab48e8b Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422686x218708.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422686x218709.jpg b/RWT_Cache/Textures/19/s2s422686x218709.jpg new file mode 100644 index 000000000..c1be7ac4b Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422686x218709.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422686x218710.jpg b/RWT_Cache/Textures/19/s2s422686x218710.jpg new file mode 100644 index 000000000..fbf19d67c Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422686x218710.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422686x218711.jpg b/RWT_Cache/Textures/19/s2s422686x218711.jpg new file mode 100644 index 000000000..e96a43908 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422686x218711.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422686x218712.jpg b/RWT_Cache/Textures/19/s2s422686x218712.jpg new file mode 100644 index 000000000..8d1506952 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422686x218712.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422686x218713.jpg b/RWT_Cache/Textures/19/s2s422686x218713.jpg new file mode 100644 index 000000000..6bdb7e955 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422686x218713.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422686x218714.jpg b/RWT_Cache/Textures/19/s2s422686x218714.jpg new file mode 100644 index 000000000..561db9da6 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422686x218714.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422686x218715.jpg b/RWT_Cache/Textures/19/s2s422686x218715.jpg new file mode 100644 index 000000000..7a9175822 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422686x218715.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422686x218716.jpg b/RWT_Cache/Textures/19/s2s422686x218716.jpg new file mode 100644 index 000000000..37086e8d1 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422686x218716.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422686x218717.jpg b/RWT_Cache/Textures/19/s2s422686x218717.jpg new file mode 100644 index 000000000..abc3cab51 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422686x218717.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422686x218718.jpg b/RWT_Cache/Textures/19/s2s422686x218718.jpg new file mode 100644 index 000000000..e193ebac1 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422686x218718.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422686x218719.jpg b/RWT_Cache/Textures/19/s2s422686x218719.jpg new file mode 100644 index 000000000..ed38d841c Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422686x218719.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422686x218720.jpg b/RWT_Cache/Textures/19/s2s422686x218720.jpg new file mode 100644 index 000000000..8c55764f5 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422686x218720.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422686x218721.jpg b/RWT_Cache/Textures/19/s2s422686x218721.jpg new file mode 100644 index 000000000..86ff5aca2 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422686x218721.jpg differ diff --git a/RWT_Cache/Textures/19/s2s422686x218722.jpg b/RWT_Cache/Textures/19/s2s422686x218722.jpg new file mode 100644 index 000000000..45567b455 Binary files /dev/null and b/RWT_Cache/Textures/19/s2s422686x218722.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437391.jpg b/RWT_Cache/Textures/20/ag845312x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437392.jpg b/RWT_Cache/Textures/20/ag845312x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437393.jpg b/RWT_Cache/Textures/20/ag845312x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437394.jpg b/RWT_Cache/Textures/20/ag845312x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437395.jpg b/RWT_Cache/Textures/20/ag845312x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437396.jpg b/RWT_Cache/Textures/20/ag845312x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437397.jpg b/RWT_Cache/Textures/20/ag845312x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437398.jpg b/RWT_Cache/Textures/20/ag845312x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437399.jpg b/RWT_Cache/Textures/20/ag845312x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437400.jpg b/RWT_Cache/Textures/20/ag845312x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437401.jpg b/RWT_Cache/Textures/20/ag845312x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437402.jpg b/RWT_Cache/Textures/20/ag845312x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437403.jpg b/RWT_Cache/Textures/20/ag845312x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437404.jpg b/RWT_Cache/Textures/20/ag845312x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437405.jpg b/RWT_Cache/Textures/20/ag845312x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437406.jpg b/RWT_Cache/Textures/20/ag845312x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437407.jpg b/RWT_Cache/Textures/20/ag845312x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437408.jpg b/RWT_Cache/Textures/20/ag845312x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437409.jpg b/RWT_Cache/Textures/20/ag845312x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437410.jpg b/RWT_Cache/Textures/20/ag845312x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437411.jpg b/RWT_Cache/Textures/20/ag845312x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437412.jpg b/RWT_Cache/Textures/20/ag845312x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437413.jpg b/RWT_Cache/Textures/20/ag845312x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437414.jpg b/RWT_Cache/Textures/20/ag845312x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437415.jpg b/RWT_Cache/Textures/20/ag845312x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437416.jpg b/RWT_Cache/Textures/20/ag845312x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437417.jpg b/RWT_Cache/Textures/20/ag845312x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437418.jpg b/RWT_Cache/Textures/20/ag845312x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437419.jpg b/RWT_Cache/Textures/20/ag845312x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437420.jpg b/RWT_Cache/Textures/20/ag845312x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437421.jpg b/RWT_Cache/Textures/20/ag845312x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437422.jpg b/RWT_Cache/Textures/20/ag845312x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437423.jpg b/RWT_Cache/Textures/20/ag845312x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437424.jpg b/RWT_Cache/Textures/20/ag845312x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437425.jpg b/RWT_Cache/Textures/20/ag845312x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437426.jpg b/RWT_Cache/Textures/20/ag845312x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437427.jpg b/RWT_Cache/Textures/20/ag845312x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437428.jpg b/RWT_Cache/Textures/20/ag845312x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437429.jpg b/RWT_Cache/Textures/20/ag845312x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437430.jpg b/RWT_Cache/Textures/20/ag845312x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437431.jpg b/RWT_Cache/Textures/20/ag845312x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437432.jpg b/RWT_Cache/Textures/20/ag845312x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437433.jpg b/RWT_Cache/Textures/20/ag845312x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437434.jpg b/RWT_Cache/Textures/20/ag845312x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437435.jpg b/RWT_Cache/Textures/20/ag845312x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437436.jpg b/RWT_Cache/Textures/20/ag845312x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437437.jpg b/RWT_Cache/Textures/20/ag845312x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437438.jpg b/RWT_Cache/Textures/20/ag845312x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437439.jpg b/RWT_Cache/Textures/20/ag845312x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437440.jpg b/RWT_Cache/Textures/20/ag845312x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437441.jpg b/RWT_Cache/Textures/20/ag845312x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437442.jpg b/RWT_Cache/Textures/20/ag845312x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437443.jpg b/RWT_Cache/Textures/20/ag845312x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437444.jpg b/RWT_Cache/Textures/20/ag845312x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845312x437445.jpg b/RWT_Cache/Textures/20/ag845312x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845312x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437391.jpg b/RWT_Cache/Textures/20/ag845313x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437392.jpg b/RWT_Cache/Textures/20/ag845313x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437393.jpg b/RWT_Cache/Textures/20/ag845313x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437394.jpg b/RWT_Cache/Textures/20/ag845313x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437395.jpg b/RWT_Cache/Textures/20/ag845313x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437396.jpg b/RWT_Cache/Textures/20/ag845313x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437397.jpg b/RWT_Cache/Textures/20/ag845313x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437398.jpg b/RWT_Cache/Textures/20/ag845313x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437399.jpg b/RWT_Cache/Textures/20/ag845313x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437400.jpg b/RWT_Cache/Textures/20/ag845313x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437401.jpg b/RWT_Cache/Textures/20/ag845313x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437402.jpg b/RWT_Cache/Textures/20/ag845313x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437403.jpg b/RWT_Cache/Textures/20/ag845313x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437404.jpg b/RWT_Cache/Textures/20/ag845313x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437405.jpg b/RWT_Cache/Textures/20/ag845313x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437406.jpg b/RWT_Cache/Textures/20/ag845313x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437407.jpg b/RWT_Cache/Textures/20/ag845313x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437408.jpg b/RWT_Cache/Textures/20/ag845313x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437409.jpg b/RWT_Cache/Textures/20/ag845313x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437410.jpg b/RWT_Cache/Textures/20/ag845313x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437411.jpg b/RWT_Cache/Textures/20/ag845313x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437412.jpg b/RWT_Cache/Textures/20/ag845313x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437413.jpg b/RWT_Cache/Textures/20/ag845313x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437414.jpg b/RWT_Cache/Textures/20/ag845313x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437415.jpg b/RWT_Cache/Textures/20/ag845313x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437416.jpg b/RWT_Cache/Textures/20/ag845313x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437417.jpg b/RWT_Cache/Textures/20/ag845313x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437418.jpg b/RWT_Cache/Textures/20/ag845313x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437419.jpg b/RWT_Cache/Textures/20/ag845313x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437420.jpg b/RWT_Cache/Textures/20/ag845313x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437421.jpg b/RWT_Cache/Textures/20/ag845313x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437422.jpg b/RWT_Cache/Textures/20/ag845313x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437423.jpg b/RWT_Cache/Textures/20/ag845313x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437424.jpg b/RWT_Cache/Textures/20/ag845313x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437425.jpg b/RWT_Cache/Textures/20/ag845313x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437426.jpg b/RWT_Cache/Textures/20/ag845313x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437427.jpg b/RWT_Cache/Textures/20/ag845313x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437428.jpg b/RWT_Cache/Textures/20/ag845313x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437429.jpg b/RWT_Cache/Textures/20/ag845313x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437430.jpg b/RWT_Cache/Textures/20/ag845313x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437431.jpg b/RWT_Cache/Textures/20/ag845313x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437432.jpg b/RWT_Cache/Textures/20/ag845313x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437433.jpg b/RWT_Cache/Textures/20/ag845313x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437434.jpg b/RWT_Cache/Textures/20/ag845313x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437435.jpg b/RWT_Cache/Textures/20/ag845313x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437436.jpg b/RWT_Cache/Textures/20/ag845313x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437437.jpg b/RWT_Cache/Textures/20/ag845313x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437438.jpg b/RWT_Cache/Textures/20/ag845313x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437439.jpg b/RWT_Cache/Textures/20/ag845313x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437440.jpg b/RWT_Cache/Textures/20/ag845313x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437441.jpg b/RWT_Cache/Textures/20/ag845313x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437442.jpg b/RWT_Cache/Textures/20/ag845313x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437443.jpg b/RWT_Cache/Textures/20/ag845313x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437444.jpg b/RWT_Cache/Textures/20/ag845313x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845313x437445.jpg b/RWT_Cache/Textures/20/ag845313x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845313x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437391.jpg b/RWT_Cache/Textures/20/ag845314x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437392.jpg b/RWT_Cache/Textures/20/ag845314x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437393.jpg b/RWT_Cache/Textures/20/ag845314x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437394.jpg b/RWT_Cache/Textures/20/ag845314x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437395.jpg b/RWT_Cache/Textures/20/ag845314x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437396.jpg b/RWT_Cache/Textures/20/ag845314x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437397.jpg b/RWT_Cache/Textures/20/ag845314x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437398.jpg b/RWT_Cache/Textures/20/ag845314x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437399.jpg b/RWT_Cache/Textures/20/ag845314x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437400.jpg b/RWT_Cache/Textures/20/ag845314x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437401.jpg b/RWT_Cache/Textures/20/ag845314x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437402.jpg b/RWT_Cache/Textures/20/ag845314x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437403.jpg b/RWT_Cache/Textures/20/ag845314x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437404.jpg b/RWT_Cache/Textures/20/ag845314x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437405.jpg b/RWT_Cache/Textures/20/ag845314x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437406.jpg b/RWT_Cache/Textures/20/ag845314x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437407.jpg b/RWT_Cache/Textures/20/ag845314x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437408.jpg b/RWT_Cache/Textures/20/ag845314x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437409.jpg b/RWT_Cache/Textures/20/ag845314x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437410.jpg b/RWT_Cache/Textures/20/ag845314x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437411.jpg b/RWT_Cache/Textures/20/ag845314x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437412.jpg b/RWT_Cache/Textures/20/ag845314x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437413.jpg b/RWT_Cache/Textures/20/ag845314x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437414.jpg b/RWT_Cache/Textures/20/ag845314x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437415.jpg b/RWT_Cache/Textures/20/ag845314x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437416.jpg b/RWT_Cache/Textures/20/ag845314x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437417.jpg b/RWT_Cache/Textures/20/ag845314x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437418.jpg b/RWT_Cache/Textures/20/ag845314x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437419.jpg b/RWT_Cache/Textures/20/ag845314x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437420.jpg b/RWT_Cache/Textures/20/ag845314x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437421.jpg b/RWT_Cache/Textures/20/ag845314x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437422.jpg b/RWT_Cache/Textures/20/ag845314x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437423.jpg b/RWT_Cache/Textures/20/ag845314x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437424.jpg b/RWT_Cache/Textures/20/ag845314x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437425.jpg b/RWT_Cache/Textures/20/ag845314x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437426.jpg b/RWT_Cache/Textures/20/ag845314x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437427.jpg b/RWT_Cache/Textures/20/ag845314x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437428.jpg b/RWT_Cache/Textures/20/ag845314x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437429.jpg b/RWT_Cache/Textures/20/ag845314x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437430.jpg b/RWT_Cache/Textures/20/ag845314x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437431.jpg b/RWT_Cache/Textures/20/ag845314x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437432.jpg b/RWT_Cache/Textures/20/ag845314x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437433.jpg b/RWT_Cache/Textures/20/ag845314x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437434.jpg b/RWT_Cache/Textures/20/ag845314x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437435.jpg b/RWT_Cache/Textures/20/ag845314x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437436.jpg b/RWT_Cache/Textures/20/ag845314x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437437.jpg b/RWT_Cache/Textures/20/ag845314x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437438.jpg b/RWT_Cache/Textures/20/ag845314x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437439.jpg b/RWT_Cache/Textures/20/ag845314x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437440.jpg b/RWT_Cache/Textures/20/ag845314x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437441.jpg b/RWT_Cache/Textures/20/ag845314x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437442.jpg b/RWT_Cache/Textures/20/ag845314x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437443.jpg b/RWT_Cache/Textures/20/ag845314x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437444.jpg b/RWT_Cache/Textures/20/ag845314x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845314x437445.jpg b/RWT_Cache/Textures/20/ag845314x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845314x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437391.jpg b/RWT_Cache/Textures/20/ag845315x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437392.jpg b/RWT_Cache/Textures/20/ag845315x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437393.jpg b/RWT_Cache/Textures/20/ag845315x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437394.jpg b/RWT_Cache/Textures/20/ag845315x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437395.jpg b/RWT_Cache/Textures/20/ag845315x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437396.jpg b/RWT_Cache/Textures/20/ag845315x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437397.jpg b/RWT_Cache/Textures/20/ag845315x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437398.jpg b/RWT_Cache/Textures/20/ag845315x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437399.jpg b/RWT_Cache/Textures/20/ag845315x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437400.jpg b/RWT_Cache/Textures/20/ag845315x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437401.jpg b/RWT_Cache/Textures/20/ag845315x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437402.jpg b/RWT_Cache/Textures/20/ag845315x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437403.jpg b/RWT_Cache/Textures/20/ag845315x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437404.jpg b/RWT_Cache/Textures/20/ag845315x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437405.jpg b/RWT_Cache/Textures/20/ag845315x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437406.jpg b/RWT_Cache/Textures/20/ag845315x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437407.jpg b/RWT_Cache/Textures/20/ag845315x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437408.jpg b/RWT_Cache/Textures/20/ag845315x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437409.jpg b/RWT_Cache/Textures/20/ag845315x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437410.jpg b/RWT_Cache/Textures/20/ag845315x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437411.jpg b/RWT_Cache/Textures/20/ag845315x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437412.jpg b/RWT_Cache/Textures/20/ag845315x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437413.jpg b/RWT_Cache/Textures/20/ag845315x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437414.jpg b/RWT_Cache/Textures/20/ag845315x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437415.jpg b/RWT_Cache/Textures/20/ag845315x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437416.jpg b/RWT_Cache/Textures/20/ag845315x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437417.jpg b/RWT_Cache/Textures/20/ag845315x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437418.jpg b/RWT_Cache/Textures/20/ag845315x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437419.jpg b/RWT_Cache/Textures/20/ag845315x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437420.jpg b/RWT_Cache/Textures/20/ag845315x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437421.jpg b/RWT_Cache/Textures/20/ag845315x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437422.jpg b/RWT_Cache/Textures/20/ag845315x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437423.jpg b/RWT_Cache/Textures/20/ag845315x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437424.jpg b/RWT_Cache/Textures/20/ag845315x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437425.jpg b/RWT_Cache/Textures/20/ag845315x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437426.jpg b/RWT_Cache/Textures/20/ag845315x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437427.jpg b/RWT_Cache/Textures/20/ag845315x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437428.jpg b/RWT_Cache/Textures/20/ag845315x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437429.jpg b/RWT_Cache/Textures/20/ag845315x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437430.jpg b/RWT_Cache/Textures/20/ag845315x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437431.jpg b/RWT_Cache/Textures/20/ag845315x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437432.jpg b/RWT_Cache/Textures/20/ag845315x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437433.jpg b/RWT_Cache/Textures/20/ag845315x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437434.jpg b/RWT_Cache/Textures/20/ag845315x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437435.jpg b/RWT_Cache/Textures/20/ag845315x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437436.jpg b/RWT_Cache/Textures/20/ag845315x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437437.jpg b/RWT_Cache/Textures/20/ag845315x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437438.jpg b/RWT_Cache/Textures/20/ag845315x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437439.jpg b/RWT_Cache/Textures/20/ag845315x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437440.jpg b/RWT_Cache/Textures/20/ag845315x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437441.jpg b/RWT_Cache/Textures/20/ag845315x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437442.jpg b/RWT_Cache/Textures/20/ag845315x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437443.jpg b/RWT_Cache/Textures/20/ag845315x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437444.jpg b/RWT_Cache/Textures/20/ag845315x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845315x437445.jpg b/RWT_Cache/Textures/20/ag845315x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845315x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437391.jpg b/RWT_Cache/Textures/20/ag845316x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437392.jpg b/RWT_Cache/Textures/20/ag845316x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437393.jpg b/RWT_Cache/Textures/20/ag845316x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437394.jpg b/RWT_Cache/Textures/20/ag845316x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437395.jpg b/RWT_Cache/Textures/20/ag845316x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437396.jpg b/RWT_Cache/Textures/20/ag845316x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437397.jpg b/RWT_Cache/Textures/20/ag845316x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437398.jpg b/RWT_Cache/Textures/20/ag845316x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437399.jpg b/RWT_Cache/Textures/20/ag845316x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437400.jpg b/RWT_Cache/Textures/20/ag845316x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437401.jpg b/RWT_Cache/Textures/20/ag845316x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437402.jpg b/RWT_Cache/Textures/20/ag845316x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437403.jpg b/RWT_Cache/Textures/20/ag845316x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437404.jpg b/RWT_Cache/Textures/20/ag845316x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437405.jpg b/RWT_Cache/Textures/20/ag845316x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437406.jpg b/RWT_Cache/Textures/20/ag845316x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437407.jpg b/RWT_Cache/Textures/20/ag845316x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437408.jpg b/RWT_Cache/Textures/20/ag845316x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437409.jpg b/RWT_Cache/Textures/20/ag845316x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437410.jpg b/RWT_Cache/Textures/20/ag845316x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437411.jpg b/RWT_Cache/Textures/20/ag845316x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437412.jpg b/RWT_Cache/Textures/20/ag845316x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437413.jpg b/RWT_Cache/Textures/20/ag845316x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437414.jpg b/RWT_Cache/Textures/20/ag845316x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437415.jpg b/RWT_Cache/Textures/20/ag845316x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437416.jpg b/RWT_Cache/Textures/20/ag845316x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437417.jpg b/RWT_Cache/Textures/20/ag845316x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437418.jpg b/RWT_Cache/Textures/20/ag845316x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437419.jpg b/RWT_Cache/Textures/20/ag845316x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437420.jpg b/RWT_Cache/Textures/20/ag845316x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437421.jpg b/RWT_Cache/Textures/20/ag845316x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437422.jpg b/RWT_Cache/Textures/20/ag845316x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437423.jpg b/RWT_Cache/Textures/20/ag845316x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437424.jpg b/RWT_Cache/Textures/20/ag845316x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437425.jpg b/RWT_Cache/Textures/20/ag845316x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437426.jpg b/RWT_Cache/Textures/20/ag845316x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437427.jpg b/RWT_Cache/Textures/20/ag845316x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437428.jpg b/RWT_Cache/Textures/20/ag845316x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437429.jpg b/RWT_Cache/Textures/20/ag845316x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437430.jpg b/RWT_Cache/Textures/20/ag845316x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437431.jpg b/RWT_Cache/Textures/20/ag845316x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437432.jpg b/RWT_Cache/Textures/20/ag845316x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437433.jpg b/RWT_Cache/Textures/20/ag845316x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437434.jpg b/RWT_Cache/Textures/20/ag845316x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437435.jpg b/RWT_Cache/Textures/20/ag845316x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437436.jpg b/RWT_Cache/Textures/20/ag845316x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437437.jpg b/RWT_Cache/Textures/20/ag845316x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437438.jpg b/RWT_Cache/Textures/20/ag845316x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437439.jpg b/RWT_Cache/Textures/20/ag845316x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437440.jpg b/RWT_Cache/Textures/20/ag845316x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437441.jpg b/RWT_Cache/Textures/20/ag845316x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437442.jpg b/RWT_Cache/Textures/20/ag845316x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437443.jpg b/RWT_Cache/Textures/20/ag845316x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437444.jpg b/RWT_Cache/Textures/20/ag845316x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845316x437445.jpg b/RWT_Cache/Textures/20/ag845316x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845316x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437391.jpg b/RWT_Cache/Textures/20/ag845317x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437392.jpg b/RWT_Cache/Textures/20/ag845317x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437393.jpg b/RWT_Cache/Textures/20/ag845317x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437394.jpg b/RWT_Cache/Textures/20/ag845317x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437395.jpg b/RWT_Cache/Textures/20/ag845317x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437396.jpg b/RWT_Cache/Textures/20/ag845317x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437397.jpg b/RWT_Cache/Textures/20/ag845317x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437398.jpg b/RWT_Cache/Textures/20/ag845317x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437399.jpg b/RWT_Cache/Textures/20/ag845317x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437400.jpg b/RWT_Cache/Textures/20/ag845317x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437401.jpg b/RWT_Cache/Textures/20/ag845317x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437402.jpg b/RWT_Cache/Textures/20/ag845317x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437403.jpg b/RWT_Cache/Textures/20/ag845317x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437404.jpg b/RWT_Cache/Textures/20/ag845317x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437405.jpg b/RWT_Cache/Textures/20/ag845317x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437406.jpg b/RWT_Cache/Textures/20/ag845317x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437407.jpg b/RWT_Cache/Textures/20/ag845317x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437408.jpg b/RWT_Cache/Textures/20/ag845317x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437409.jpg b/RWT_Cache/Textures/20/ag845317x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437410.jpg b/RWT_Cache/Textures/20/ag845317x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437411.jpg b/RWT_Cache/Textures/20/ag845317x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437412.jpg b/RWT_Cache/Textures/20/ag845317x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437413.jpg b/RWT_Cache/Textures/20/ag845317x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437414.jpg b/RWT_Cache/Textures/20/ag845317x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437415.jpg b/RWT_Cache/Textures/20/ag845317x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437416.jpg b/RWT_Cache/Textures/20/ag845317x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437417.jpg b/RWT_Cache/Textures/20/ag845317x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437418.jpg b/RWT_Cache/Textures/20/ag845317x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437419.jpg b/RWT_Cache/Textures/20/ag845317x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437420.jpg b/RWT_Cache/Textures/20/ag845317x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437421.jpg b/RWT_Cache/Textures/20/ag845317x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437422.jpg b/RWT_Cache/Textures/20/ag845317x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437423.jpg b/RWT_Cache/Textures/20/ag845317x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437424.jpg b/RWT_Cache/Textures/20/ag845317x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437425.jpg b/RWT_Cache/Textures/20/ag845317x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437426.jpg b/RWT_Cache/Textures/20/ag845317x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437427.jpg b/RWT_Cache/Textures/20/ag845317x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437428.jpg b/RWT_Cache/Textures/20/ag845317x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437429.jpg b/RWT_Cache/Textures/20/ag845317x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437430.jpg b/RWT_Cache/Textures/20/ag845317x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437431.jpg b/RWT_Cache/Textures/20/ag845317x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437432.jpg b/RWT_Cache/Textures/20/ag845317x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437433.jpg b/RWT_Cache/Textures/20/ag845317x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437434.jpg b/RWT_Cache/Textures/20/ag845317x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437435.jpg b/RWT_Cache/Textures/20/ag845317x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437436.jpg b/RWT_Cache/Textures/20/ag845317x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437437.jpg b/RWT_Cache/Textures/20/ag845317x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437438.jpg b/RWT_Cache/Textures/20/ag845317x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437439.jpg b/RWT_Cache/Textures/20/ag845317x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437440.jpg b/RWT_Cache/Textures/20/ag845317x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437441.jpg b/RWT_Cache/Textures/20/ag845317x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437442.jpg b/RWT_Cache/Textures/20/ag845317x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437443.jpg b/RWT_Cache/Textures/20/ag845317x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437444.jpg b/RWT_Cache/Textures/20/ag845317x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845317x437445.jpg b/RWT_Cache/Textures/20/ag845317x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845317x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437391.jpg b/RWT_Cache/Textures/20/ag845318x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437392.jpg b/RWT_Cache/Textures/20/ag845318x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437393.jpg b/RWT_Cache/Textures/20/ag845318x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437394.jpg b/RWT_Cache/Textures/20/ag845318x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437395.jpg b/RWT_Cache/Textures/20/ag845318x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437396.jpg b/RWT_Cache/Textures/20/ag845318x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437397.jpg b/RWT_Cache/Textures/20/ag845318x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437398.jpg b/RWT_Cache/Textures/20/ag845318x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437399.jpg b/RWT_Cache/Textures/20/ag845318x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437400.jpg b/RWT_Cache/Textures/20/ag845318x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437401.jpg b/RWT_Cache/Textures/20/ag845318x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437402.jpg b/RWT_Cache/Textures/20/ag845318x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437403.jpg b/RWT_Cache/Textures/20/ag845318x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437404.jpg b/RWT_Cache/Textures/20/ag845318x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437405.jpg b/RWT_Cache/Textures/20/ag845318x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437406.jpg b/RWT_Cache/Textures/20/ag845318x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437407.jpg b/RWT_Cache/Textures/20/ag845318x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437408.jpg b/RWT_Cache/Textures/20/ag845318x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437409.jpg b/RWT_Cache/Textures/20/ag845318x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437410.jpg b/RWT_Cache/Textures/20/ag845318x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437411.jpg b/RWT_Cache/Textures/20/ag845318x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437412.jpg b/RWT_Cache/Textures/20/ag845318x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437413.jpg b/RWT_Cache/Textures/20/ag845318x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437414.jpg b/RWT_Cache/Textures/20/ag845318x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437415.jpg b/RWT_Cache/Textures/20/ag845318x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437416.jpg b/RWT_Cache/Textures/20/ag845318x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437417.jpg b/RWT_Cache/Textures/20/ag845318x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437418.jpg b/RWT_Cache/Textures/20/ag845318x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437419.jpg b/RWT_Cache/Textures/20/ag845318x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437420.jpg b/RWT_Cache/Textures/20/ag845318x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437421.jpg b/RWT_Cache/Textures/20/ag845318x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437422.jpg b/RWT_Cache/Textures/20/ag845318x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437423.jpg b/RWT_Cache/Textures/20/ag845318x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437424.jpg b/RWT_Cache/Textures/20/ag845318x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437425.jpg b/RWT_Cache/Textures/20/ag845318x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437426.jpg b/RWT_Cache/Textures/20/ag845318x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437427.jpg b/RWT_Cache/Textures/20/ag845318x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437428.jpg b/RWT_Cache/Textures/20/ag845318x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437429.jpg b/RWT_Cache/Textures/20/ag845318x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437430.jpg b/RWT_Cache/Textures/20/ag845318x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437431.jpg b/RWT_Cache/Textures/20/ag845318x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437432.jpg b/RWT_Cache/Textures/20/ag845318x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437433.jpg b/RWT_Cache/Textures/20/ag845318x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437434.jpg b/RWT_Cache/Textures/20/ag845318x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437435.jpg b/RWT_Cache/Textures/20/ag845318x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437436.jpg b/RWT_Cache/Textures/20/ag845318x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437437.jpg b/RWT_Cache/Textures/20/ag845318x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437438.jpg b/RWT_Cache/Textures/20/ag845318x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437439.jpg b/RWT_Cache/Textures/20/ag845318x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437440.jpg b/RWT_Cache/Textures/20/ag845318x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437441.jpg b/RWT_Cache/Textures/20/ag845318x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437442.jpg b/RWT_Cache/Textures/20/ag845318x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437443.jpg b/RWT_Cache/Textures/20/ag845318x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437444.jpg b/RWT_Cache/Textures/20/ag845318x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845318x437445.jpg b/RWT_Cache/Textures/20/ag845318x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845318x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437391.jpg b/RWT_Cache/Textures/20/ag845319x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437392.jpg b/RWT_Cache/Textures/20/ag845319x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437393.jpg b/RWT_Cache/Textures/20/ag845319x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437394.jpg b/RWT_Cache/Textures/20/ag845319x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437395.jpg b/RWT_Cache/Textures/20/ag845319x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437396.jpg b/RWT_Cache/Textures/20/ag845319x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437397.jpg b/RWT_Cache/Textures/20/ag845319x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437398.jpg b/RWT_Cache/Textures/20/ag845319x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437399.jpg b/RWT_Cache/Textures/20/ag845319x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437400.jpg b/RWT_Cache/Textures/20/ag845319x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437401.jpg b/RWT_Cache/Textures/20/ag845319x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437402.jpg b/RWT_Cache/Textures/20/ag845319x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437403.jpg b/RWT_Cache/Textures/20/ag845319x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437404.jpg b/RWT_Cache/Textures/20/ag845319x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437405.jpg b/RWT_Cache/Textures/20/ag845319x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437406.jpg b/RWT_Cache/Textures/20/ag845319x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437407.jpg b/RWT_Cache/Textures/20/ag845319x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437408.jpg b/RWT_Cache/Textures/20/ag845319x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437409.jpg b/RWT_Cache/Textures/20/ag845319x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437410.jpg b/RWT_Cache/Textures/20/ag845319x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437411.jpg b/RWT_Cache/Textures/20/ag845319x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437412.jpg b/RWT_Cache/Textures/20/ag845319x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437413.jpg b/RWT_Cache/Textures/20/ag845319x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437414.jpg b/RWT_Cache/Textures/20/ag845319x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437415.jpg b/RWT_Cache/Textures/20/ag845319x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437416.jpg b/RWT_Cache/Textures/20/ag845319x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437417.jpg b/RWT_Cache/Textures/20/ag845319x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437418.jpg b/RWT_Cache/Textures/20/ag845319x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437419.jpg b/RWT_Cache/Textures/20/ag845319x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437420.jpg b/RWT_Cache/Textures/20/ag845319x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437421.jpg b/RWT_Cache/Textures/20/ag845319x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437422.jpg b/RWT_Cache/Textures/20/ag845319x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437423.jpg b/RWT_Cache/Textures/20/ag845319x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437424.jpg b/RWT_Cache/Textures/20/ag845319x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437425.jpg b/RWT_Cache/Textures/20/ag845319x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437426.jpg b/RWT_Cache/Textures/20/ag845319x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437427.jpg b/RWT_Cache/Textures/20/ag845319x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437428.jpg b/RWT_Cache/Textures/20/ag845319x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437429.jpg b/RWT_Cache/Textures/20/ag845319x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437430.jpg b/RWT_Cache/Textures/20/ag845319x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437431.jpg b/RWT_Cache/Textures/20/ag845319x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437432.jpg b/RWT_Cache/Textures/20/ag845319x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437433.jpg b/RWT_Cache/Textures/20/ag845319x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437434.jpg b/RWT_Cache/Textures/20/ag845319x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437435.jpg b/RWT_Cache/Textures/20/ag845319x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437436.jpg b/RWT_Cache/Textures/20/ag845319x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437437.jpg b/RWT_Cache/Textures/20/ag845319x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437438.jpg b/RWT_Cache/Textures/20/ag845319x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437439.jpg b/RWT_Cache/Textures/20/ag845319x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437440.jpg b/RWT_Cache/Textures/20/ag845319x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437441.jpg b/RWT_Cache/Textures/20/ag845319x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437442.jpg b/RWT_Cache/Textures/20/ag845319x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437443.jpg b/RWT_Cache/Textures/20/ag845319x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437444.jpg b/RWT_Cache/Textures/20/ag845319x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845319x437445.jpg b/RWT_Cache/Textures/20/ag845319x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845319x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437391.jpg b/RWT_Cache/Textures/20/ag845320x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437392.jpg b/RWT_Cache/Textures/20/ag845320x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437393.jpg b/RWT_Cache/Textures/20/ag845320x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437394.jpg b/RWT_Cache/Textures/20/ag845320x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437395.jpg b/RWT_Cache/Textures/20/ag845320x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437396.jpg b/RWT_Cache/Textures/20/ag845320x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437397.jpg b/RWT_Cache/Textures/20/ag845320x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437398.jpg b/RWT_Cache/Textures/20/ag845320x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437399.jpg b/RWT_Cache/Textures/20/ag845320x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437400.jpg b/RWT_Cache/Textures/20/ag845320x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437401.jpg b/RWT_Cache/Textures/20/ag845320x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437402.jpg b/RWT_Cache/Textures/20/ag845320x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437403.jpg b/RWT_Cache/Textures/20/ag845320x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437404.jpg b/RWT_Cache/Textures/20/ag845320x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437405.jpg b/RWT_Cache/Textures/20/ag845320x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437406.jpg b/RWT_Cache/Textures/20/ag845320x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437407.jpg b/RWT_Cache/Textures/20/ag845320x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437408.jpg b/RWT_Cache/Textures/20/ag845320x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437409.jpg b/RWT_Cache/Textures/20/ag845320x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437410.jpg b/RWT_Cache/Textures/20/ag845320x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437411.jpg b/RWT_Cache/Textures/20/ag845320x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437412.jpg b/RWT_Cache/Textures/20/ag845320x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437413.jpg b/RWT_Cache/Textures/20/ag845320x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437414.jpg b/RWT_Cache/Textures/20/ag845320x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437415.jpg b/RWT_Cache/Textures/20/ag845320x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437416.jpg b/RWT_Cache/Textures/20/ag845320x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437417.jpg b/RWT_Cache/Textures/20/ag845320x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437418.jpg b/RWT_Cache/Textures/20/ag845320x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437419.jpg b/RWT_Cache/Textures/20/ag845320x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437420.jpg b/RWT_Cache/Textures/20/ag845320x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437421.jpg b/RWT_Cache/Textures/20/ag845320x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437422.jpg b/RWT_Cache/Textures/20/ag845320x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437423.jpg b/RWT_Cache/Textures/20/ag845320x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437424.jpg b/RWT_Cache/Textures/20/ag845320x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437425.jpg b/RWT_Cache/Textures/20/ag845320x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437426.jpg b/RWT_Cache/Textures/20/ag845320x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437427.jpg b/RWT_Cache/Textures/20/ag845320x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437428.jpg b/RWT_Cache/Textures/20/ag845320x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437429.jpg b/RWT_Cache/Textures/20/ag845320x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437430.jpg b/RWT_Cache/Textures/20/ag845320x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437431.jpg b/RWT_Cache/Textures/20/ag845320x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437432.jpg b/RWT_Cache/Textures/20/ag845320x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437433.jpg b/RWT_Cache/Textures/20/ag845320x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437434.jpg b/RWT_Cache/Textures/20/ag845320x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437435.jpg b/RWT_Cache/Textures/20/ag845320x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437436.jpg b/RWT_Cache/Textures/20/ag845320x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437437.jpg b/RWT_Cache/Textures/20/ag845320x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437438.jpg b/RWT_Cache/Textures/20/ag845320x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437439.jpg b/RWT_Cache/Textures/20/ag845320x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437440.jpg b/RWT_Cache/Textures/20/ag845320x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437441.jpg b/RWT_Cache/Textures/20/ag845320x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437442.jpg b/RWT_Cache/Textures/20/ag845320x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437443.jpg b/RWT_Cache/Textures/20/ag845320x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437444.jpg b/RWT_Cache/Textures/20/ag845320x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845320x437445.jpg b/RWT_Cache/Textures/20/ag845320x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845320x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437391.jpg b/RWT_Cache/Textures/20/ag845321x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437392.jpg b/RWT_Cache/Textures/20/ag845321x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437393.jpg b/RWT_Cache/Textures/20/ag845321x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437394.jpg b/RWT_Cache/Textures/20/ag845321x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437395.jpg b/RWT_Cache/Textures/20/ag845321x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437396.jpg b/RWT_Cache/Textures/20/ag845321x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437397.jpg b/RWT_Cache/Textures/20/ag845321x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437398.jpg b/RWT_Cache/Textures/20/ag845321x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437399.jpg b/RWT_Cache/Textures/20/ag845321x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437400.jpg b/RWT_Cache/Textures/20/ag845321x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437401.jpg b/RWT_Cache/Textures/20/ag845321x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437402.jpg b/RWT_Cache/Textures/20/ag845321x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437403.jpg b/RWT_Cache/Textures/20/ag845321x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437404.jpg b/RWT_Cache/Textures/20/ag845321x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437405.jpg b/RWT_Cache/Textures/20/ag845321x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437406.jpg b/RWT_Cache/Textures/20/ag845321x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437407.jpg b/RWT_Cache/Textures/20/ag845321x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437408.jpg b/RWT_Cache/Textures/20/ag845321x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437409.jpg b/RWT_Cache/Textures/20/ag845321x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437410.jpg b/RWT_Cache/Textures/20/ag845321x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437411.jpg b/RWT_Cache/Textures/20/ag845321x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437412.jpg b/RWT_Cache/Textures/20/ag845321x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437413.jpg b/RWT_Cache/Textures/20/ag845321x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437414.jpg b/RWT_Cache/Textures/20/ag845321x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437415.jpg b/RWT_Cache/Textures/20/ag845321x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437416.jpg b/RWT_Cache/Textures/20/ag845321x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437417.jpg b/RWT_Cache/Textures/20/ag845321x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437418.jpg b/RWT_Cache/Textures/20/ag845321x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437419.jpg b/RWT_Cache/Textures/20/ag845321x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437420.jpg b/RWT_Cache/Textures/20/ag845321x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437421.jpg b/RWT_Cache/Textures/20/ag845321x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437422.jpg b/RWT_Cache/Textures/20/ag845321x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437423.jpg b/RWT_Cache/Textures/20/ag845321x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437424.jpg b/RWT_Cache/Textures/20/ag845321x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437425.jpg b/RWT_Cache/Textures/20/ag845321x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437426.jpg b/RWT_Cache/Textures/20/ag845321x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437427.jpg b/RWT_Cache/Textures/20/ag845321x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437428.jpg b/RWT_Cache/Textures/20/ag845321x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437429.jpg b/RWT_Cache/Textures/20/ag845321x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437430.jpg b/RWT_Cache/Textures/20/ag845321x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437431.jpg b/RWT_Cache/Textures/20/ag845321x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437432.jpg b/RWT_Cache/Textures/20/ag845321x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437433.jpg b/RWT_Cache/Textures/20/ag845321x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437434.jpg b/RWT_Cache/Textures/20/ag845321x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437435.jpg b/RWT_Cache/Textures/20/ag845321x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437436.jpg b/RWT_Cache/Textures/20/ag845321x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437437.jpg b/RWT_Cache/Textures/20/ag845321x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437438.jpg b/RWT_Cache/Textures/20/ag845321x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437439.jpg b/RWT_Cache/Textures/20/ag845321x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437440.jpg b/RWT_Cache/Textures/20/ag845321x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437441.jpg b/RWT_Cache/Textures/20/ag845321x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437442.jpg b/RWT_Cache/Textures/20/ag845321x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437443.jpg b/RWT_Cache/Textures/20/ag845321x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437444.jpg b/RWT_Cache/Textures/20/ag845321x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845321x437445.jpg b/RWT_Cache/Textures/20/ag845321x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845321x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437391.jpg b/RWT_Cache/Textures/20/ag845322x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437392.jpg b/RWT_Cache/Textures/20/ag845322x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437393.jpg b/RWT_Cache/Textures/20/ag845322x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437394.jpg b/RWT_Cache/Textures/20/ag845322x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437395.jpg b/RWT_Cache/Textures/20/ag845322x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437396.jpg b/RWT_Cache/Textures/20/ag845322x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437397.jpg b/RWT_Cache/Textures/20/ag845322x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437398.jpg b/RWT_Cache/Textures/20/ag845322x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437399.jpg b/RWT_Cache/Textures/20/ag845322x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437400.jpg b/RWT_Cache/Textures/20/ag845322x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437401.jpg b/RWT_Cache/Textures/20/ag845322x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437402.jpg b/RWT_Cache/Textures/20/ag845322x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437403.jpg b/RWT_Cache/Textures/20/ag845322x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437404.jpg b/RWT_Cache/Textures/20/ag845322x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437405.jpg b/RWT_Cache/Textures/20/ag845322x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437406.jpg b/RWT_Cache/Textures/20/ag845322x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437407.jpg b/RWT_Cache/Textures/20/ag845322x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437408.jpg b/RWT_Cache/Textures/20/ag845322x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437409.jpg b/RWT_Cache/Textures/20/ag845322x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437410.jpg b/RWT_Cache/Textures/20/ag845322x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437411.jpg b/RWT_Cache/Textures/20/ag845322x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437412.jpg b/RWT_Cache/Textures/20/ag845322x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437413.jpg b/RWT_Cache/Textures/20/ag845322x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437414.jpg b/RWT_Cache/Textures/20/ag845322x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437415.jpg b/RWT_Cache/Textures/20/ag845322x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437416.jpg b/RWT_Cache/Textures/20/ag845322x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437417.jpg b/RWT_Cache/Textures/20/ag845322x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437418.jpg b/RWT_Cache/Textures/20/ag845322x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437419.jpg b/RWT_Cache/Textures/20/ag845322x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437420.jpg b/RWT_Cache/Textures/20/ag845322x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437421.jpg b/RWT_Cache/Textures/20/ag845322x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437422.jpg b/RWT_Cache/Textures/20/ag845322x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437423.jpg b/RWT_Cache/Textures/20/ag845322x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437424.jpg b/RWT_Cache/Textures/20/ag845322x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437425.jpg b/RWT_Cache/Textures/20/ag845322x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437426.jpg b/RWT_Cache/Textures/20/ag845322x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437427.jpg b/RWT_Cache/Textures/20/ag845322x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437428.jpg b/RWT_Cache/Textures/20/ag845322x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437429.jpg b/RWT_Cache/Textures/20/ag845322x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437430.jpg b/RWT_Cache/Textures/20/ag845322x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437431.jpg b/RWT_Cache/Textures/20/ag845322x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437432.jpg b/RWT_Cache/Textures/20/ag845322x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437433.jpg b/RWT_Cache/Textures/20/ag845322x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437434.jpg b/RWT_Cache/Textures/20/ag845322x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437435.jpg b/RWT_Cache/Textures/20/ag845322x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437436.jpg b/RWT_Cache/Textures/20/ag845322x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437437.jpg b/RWT_Cache/Textures/20/ag845322x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437438.jpg b/RWT_Cache/Textures/20/ag845322x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437439.jpg b/RWT_Cache/Textures/20/ag845322x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437440.jpg b/RWT_Cache/Textures/20/ag845322x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437441.jpg b/RWT_Cache/Textures/20/ag845322x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437442.jpg b/RWT_Cache/Textures/20/ag845322x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437443.jpg b/RWT_Cache/Textures/20/ag845322x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437444.jpg b/RWT_Cache/Textures/20/ag845322x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845322x437445.jpg b/RWT_Cache/Textures/20/ag845322x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845322x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437391.jpg b/RWT_Cache/Textures/20/ag845323x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437392.jpg b/RWT_Cache/Textures/20/ag845323x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437393.jpg b/RWT_Cache/Textures/20/ag845323x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437394.jpg b/RWT_Cache/Textures/20/ag845323x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437395.jpg b/RWT_Cache/Textures/20/ag845323x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437396.jpg b/RWT_Cache/Textures/20/ag845323x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437397.jpg b/RWT_Cache/Textures/20/ag845323x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437398.jpg b/RWT_Cache/Textures/20/ag845323x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437399.jpg b/RWT_Cache/Textures/20/ag845323x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437400.jpg b/RWT_Cache/Textures/20/ag845323x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437401.jpg b/RWT_Cache/Textures/20/ag845323x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437402.jpg b/RWT_Cache/Textures/20/ag845323x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437403.jpg b/RWT_Cache/Textures/20/ag845323x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437404.jpg b/RWT_Cache/Textures/20/ag845323x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437405.jpg b/RWT_Cache/Textures/20/ag845323x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437406.jpg b/RWT_Cache/Textures/20/ag845323x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437407.jpg b/RWT_Cache/Textures/20/ag845323x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437408.jpg b/RWT_Cache/Textures/20/ag845323x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437409.jpg b/RWT_Cache/Textures/20/ag845323x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437410.jpg b/RWT_Cache/Textures/20/ag845323x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437411.jpg b/RWT_Cache/Textures/20/ag845323x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437412.jpg b/RWT_Cache/Textures/20/ag845323x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437413.jpg b/RWT_Cache/Textures/20/ag845323x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437414.jpg b/RWT_Cache/Textures/20/ag845323x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437415.jpg b/RWT_Cache/Textures/20/ag845323x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437416.jpg b/RWT_Cache/Textures/20/ag845323x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437417.jpg b/RWT_Cache/Textures/20/ag845323x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437418.jpg b/RWT_Cache/Textures/20/ag845323x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437419.jpg b/RWT_Cache/Textures/20/ag845323x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437420.jpg b/RWT_Cache/Textures/20/ag845323x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437421.jpg b/RWT_Cache/Textures/20/ag845323x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437422.jpg b/RWT_Cache/Textures/20/ag845323x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437423.jpg b/RWT_Cache/Textures/20/ag845323x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437424.jpg b/RWT_Cache/Textures/20/ag845323x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437425.jpg b/RWT_Cache/Textures/20/ag845323x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437426.jpg b/RWT_Cache/Textures/20/ag845323x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437427.jpg b/RWT_Cache/Textures/20/ag845323x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437428.jpg b/RWT_Cache/Textures/20/ag845323x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437429.jpg b/RWT_Cache/Textures/20/ag845323x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437430.jpg b/RWT_Cache/Textures/20/ag845323x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437431.jpg b/RWT_Cache/Textures/20/ag845323x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437432.jpg b/RWT_Cache/Textures/20/ag845323x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437433.jpg b/RWT_Cache/Textures/20/ag845323x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437434.jpg b/RWT_Cache/Textures/20/ag845323x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437435.jpg b/RWT_Cache/Textures/20/ag845323x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437436.jpg b/RWT_Cache/Textures/20/ag845323x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437437.jpg b/RWT_Cache/Textures/20/ag845323x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437438.jpg b/RWT_Cache/Textures/20/ag845323x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437439.jpg b/RWT_Cache/Textures/20/ag845323x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437440.jpg b/RWT_Cache/Textures/20/ag845323x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437441.jpg b/RWT_Cache/Textures/20/ag845323x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437442.jpg b/RWT_Cache/Textures/20/ag845323x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437443.jpg b/RWT_Cache/Textures/20/ag845323x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437444.jpg b/RWT_Cache/Textures/20/ag845323x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845323x437445.jpg b/RWT_Cache/Textures/20/ag845323x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845323x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437391.jpg b/RWT_Cache/Textures/20/ag845324x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437392.jpg b/RWT_Cache/Textures/20/ag845324x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437393.jpg b/RWT_Cache/Textures/20/ag845324x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437394.jpg b/RWT_Cache/Textures/20/ag845324x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437395.jpg b/RWT_Cache/Textures/20/ag845324x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437396.jpg b/RWT_Cache/Textures/20/ag845324x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437397.jpg b/RWT_Cache/Textures/20/ag845324x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437398.jpg b/RWT_Cache/Textures/20/ag845324x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437399.jpg b/RWT_Cache/Textures/20/ag845324x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437400.jpg b/RWT_Cache/Textures/20/ag845324x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437401.jpg b/RWT_Cache/Textures/20/ag845324x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437402.jpg b/RWT_Cache/Textures/20/ag845324x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437403.jpg b/RWT_Cache/Textures/20/ag845324x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437404.jpg b/RWT_Cache/Textures/20/ag845324x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437405.jpg b/RWT_Cache/Textures/20/ag845324x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437406.jpg b/RWT_Cache/Textures/20/ag845324x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437407.jpg b/RWT_Cache/Textures/20/ag845324x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437408.jpg b/RWT_Cache/Textures/20/ag845324x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437409.jpg b/RWT_Cache/Textures/20/ag845324x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437410.jpg b/RWT_Cache/Textures/20/ag845324x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437411.jpg b/RWT_Cache/Textures/20/ag845324x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437412.jpg b/RWT_Cache/Textures/20/ag845324x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437413.jpg b/RWT_Cache/Textures/20/ag845324x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437414.jpg b/RWT_Cache/Textures/20/ag845324x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437415.jpg b/RWT_Cache/Textures/20/ag845324x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437416.jpg b/RWT_Cache/Textures/20/ag845324x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437417.jpg b/RWT_Cache/Textures/20/ag845324x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437418.jpg b/RWT_Cache/Textures/20/ag845324x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437419.jpg b/RWT_Cache/Textures/20/ag845324x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437420.jpg b/RWT_Cache/Textures/20/ag845324x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437421.jpg b/RWT_Cache/Textures/20/ag845324x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437422.jpg b/RWT_Cache/Textures/20/ag845324x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437423.jpg b/RWT_Cache/Textures/20/ag845324x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437424.jpg b/RWT_Cache/Textures/20/ag845324x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437425.jpg b/RWT_Cache/Textures/20/ag845324x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437426.jpg b/RWT_Cache/Textures/20/ag845324x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437427.jpg b/RWT_Cache/Textures/20/ag845324x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437428.jpg b/RWT_Cache/Textures/20/ag845324x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437429.jpg b/RWT_Cache/Textures/20/ag845324x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437430.jpg b/RWT_Cache/Textures/20/ag845324x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437431.jpg b/RWT_Cache/Textures/20/ag845324x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437432.jpg b/RWT_Cache/Textures/20/ag845324x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437433.jpg b/RWT_Cache/Textures/20/ag845324x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437434.jpg b/RWT_Cache/Textures/20/ag845324x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437435.jpg b/RWT_Cache/Textures/20/ag845324x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437436.jpg b/RWT_Cache/Textures/20/ag845324x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437437.jpg b/RWT_Cache/Textures/20/ag845324x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437438.jpg b/RWT_Cache/Textures/20/ag845324x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437439.jpg b/RWT_Cache/Textures/20/ag845324x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437440.jpg b/RWT_Cache/Textures/20/ag845324x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437441.jpg b/RWT_Cache/Textures/20/ag845324x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437442.jpg b/RWT_Cache/Textures/20/ag845324x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437443.jpg b/RWT_Cache/Textures/20/ag845324x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437444.jpg b/RWT_Cache/Textures/20/ag845324x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845324x437445.jpg b/RWT_Cache/Textures/20/ag845324x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845324x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437391.jpg b/RWT_Cache/Textures/20/ag845325x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437392.jpg b/RWT_Cache/Textures/20/ag845325x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437393.jpg b/RWT_Cache/Textures/20/ag845325x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437394.jpg b/RWT_Cache/Textures/20/ag845325x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437395.jpg b/RWT_Cache/Textures/20/ag845325x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437396.jpg b/RWT_Cache/Textures/20/ag845325x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437397.jpg b/RWT_Cache/Textures/20/ag845325x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437398.jpg b/RWT_Cache/Textures/20/ag845325x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437399.jpg b/RWT_Cache/Textures/20/ag845325x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437400.jpg b/RWT_Cache/Textures/20/ag845325x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437401.jpg b/RWT_Cache/Textures/20/ag845325x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437402.jpg b/RWT_Cache/Textures/20/ag845325x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437403.jpg b/RWT_Cache/Textures/20/ag845325x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437404.jpg b/RWT_Cache/Textures/20/ag845325x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437405.jpg b/RWT_Cache/Textures/20/ag845325x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437406.jpg b/RWT_Cache/Textures/20/ag845325x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437407.jpg b/RWT_Cache/Textures/20/ag845325x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437408.jpg b/RWT_Cache/Textures/20/ag845325x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437409.jpg b/RWT_Cache/Textures/20/ag845325x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437410.jpg b/RWT_Cache/Textures/20/ag845325x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437411.jpg b/RWT_Cache/Textures/20/ag845325x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437412.jpg b/RWT_Cache/Textures/20/ag845325x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437413.jpg b/RWT_Cache/Textures/20/ag845325x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437414.jpg b/RWT_Cache/Textures/20/ag845325x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437415.jpg b/RWT_Cache/Textures/20/ag845325x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437416.jpg b/RWT_Cache/Textures/20/ag845325x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437417.jpg b/RWT_Cache/Textures/20/ag845325x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437418.jpg b/RWT_Cache/Textures/20/ag845325x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437419.jpg b/RWT_Cache/Textures/20/ag845325x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437420.jpg b/RWT_Cache/Textures/20/ag845325x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437421.jpg b/RWT_Cache/Textures/20/ag845325x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437422.jpg b/RWT_Cache/Textures/20/ag845325x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437423.jpg b/RWT_Cache/Textures/20/ag845325x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437424.jpg b/RWT_Cache/Textures/20/ag845325x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437425.jpg b/RWT_Cache/Textures/20/ag845325x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437426.jpg b/RWT_Cache/Textures/20/ag845325x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437427.jpg b/RWT_Cache/Textures/20/ag845325x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437428.jpg b/RWT_Cache/Textures/20/ag845325x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437429.jpg b/RWT_Cache/Textures/20/ag845325x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437430.jpg b/RWT_Cache/Textures/20/ag845325x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437431.jpg b/RWT_Cache/Textures/20/ag845325x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437432.jpg b/RWT_Cache/Textures/20/ag845325x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437433.jpg b/RWT_Cache/Textures/20/ag845325x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437434.jpg b/RWT_Cache/Textures/20/ag845325x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437435.jpg b/RWT_Cache/Textures/20/ag845325x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437436.jpg b/RWT_Cache/Textures/20/ag845325x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437437.jpg b/RWT_Cache/Textures/20/ag845325x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437438.jpg b/RWT_Cache/Textures/20/ag845325x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437439.jpg b/RWT_Cache/Textures/20/ag845325x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437440.jpg b/RWT_Cache/Textures/20/ag845325x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437441.jpg b/RWT_Cache/Textures/20/ag845325x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437442.jpg b/RWT_Cache/Textures/20/ag845325x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437443.jpg b/RWT_Cache/Textures/20/ag845325x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437444.jpg b/RWT_Cache/Textures/20/ag845325x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845325x437445.jpg b/RWT_Cache/Textures/20/ag845325x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845325x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437391.jpg b/RWT_Cache/Textures/20/ag845326x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437392.jpg b/RWT_Cache/Textures/20/ag845326x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437393.jpg b/RWT_Cache/Textures/20/ag845326x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437394.jpg b/RWT_Cache/Textures/20/ag845326x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437395.jpg b/RWT_Cache/Textures/20/ag845326x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437396.jpg b/RWT_Cache/Textures/20/ag845326x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437397.jpg b/RWT_Cache/Textures/20/ag845326x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437398.jpg b/RWT_Cache/Textures/20/ag845326x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437399.jpg b/RWT_Cache/Textures/20/ag845326x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437400.jpg b/RWT_Cache/Textures/20/ag845326x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437401.jpg b/RWT_Cache/Textures/20/ag845326x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437402.jpg b/RWT_Cache/Textures/20/ag845326x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437403.jpg b/RWT_Cache/Textures/20/ag845326x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437404.jpg b/RWT_Cache/Textures/20/ag845326x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437405.jpg b/RWT_Cache/Textures/20/ag845326x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437406.jpg b/RWT_Cache/Textures/20/ag845326x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437407.jpg b/RWT_Cache/Textures/20/ag845326x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437408.jpg b/RWT_Cache/Textures/20/ag845326x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437409.jpg b/RWT_Cache/Textures/20/ag845326x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437410.jpg b/RWT_Cache/Textures/20/ag845326x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437411.jpg b/RWT_Cache/Textures/20/ag845326x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437412.jpg b/RWT_Cache/Textures/20/ag845326x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437413.jpg b/RWT_Cache/Textures/20/ag845326x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437414.jpg b/RWT_Cache/Textures/20/ag845326x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437415.jpg b/RWT_Cache/Textures/20/ag845326x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437416.jpg b/RWT_Cache/Textures/20/ag845326x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437417.jpg b/RWT_Cache/Textures/20/ag845326x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437418.jpg b/RWT_Cache/Textures/20/ag845326x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437419.jpg b/RWT_Cache/Textures/20/ag845326x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437420.jpg b/RWT_Cache/Textures/20/ag845326x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437421.jpg b/RWT_Cache/Textures/20/ag845326x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437422.jpg b/RWT_Cache/Textures/20/ag845326x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437423.jpg b/RWT_Cache/Textures/20/ag845326x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437424.jpg b/RWT_Cache/Textures/20/ag845326x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437425.jpg b/RWT_Cache/Textures/20/ag845326x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437426.jpg b/RWT_Cache/Textures/20/ag845326x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437427.jpg b/RWT_Cache/Textures/20/ag845326x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437428.jpg b/RWT_Cache/Textures/20/ag845326x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437429.jpg b/RWT_Cache/Textures/20/ag845326x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437430.jpg b/RWT_Cache/Textures/20/ag845326x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437431.jpg b/RWT_Cache/Textures/20/ag845326x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437432.jpg b/RWT_Cache/Textures/20/ag845326x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437433.jpg b/RWT_Cache/Textures/20/ag845326x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437434.jpg b/RWT_Cache/Textures/20/ag845326x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437435.jpg b/RWT_Cache/Textures/20/ag845326x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437436.jpg b/RWT_Cache/Textures/20/ag845326x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437437.jpg b/RWT_Cache/Textures/20/ag845326x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437438.jpg b/RWT_Cache/Textures/20/ag845326x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437439.jpg b/RWT_Cache/Textures/20/ag845326x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437440.jpg b/RWT_Cache/Textures/20/ag845326x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437441.jpg b/RWT_Cache/Textures/20/ag845326x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437442.jpg b/RWT_Cache/Textures/20/ag845326x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437443.jpg b/RWT_Cache/Textures/20/ag845326x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437444.jpg b/RWT_Cache/Textures/20/ag845326x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845326x437445.jpg b/RWT_Cache/Textures/20/ag845326x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845326x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437391.jpg b/RWT_Cache/Textures/20/ag845327x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437392.jpg b/RWT_Cache/Textures/20/ag845327x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437393.jpg b/RWT_Cache/Textures/20/ag845327x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437394.jpg b/RWT_Cache/Textures/20/ag845327x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437395.jpg b/RWT_Cache/Textures/20/ag845327x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437396.jpg b/RWT_Cache/Textures/20/ag845327x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437397.jpg b/RWT_Cache/Textures/20/ag845327x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437398.jpg b/RWT_Cache/Textures/20/ag845327x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437399.jpg b/RWT_Cache/Textures/20/ag845327x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437400.jpg b/RWT_Cache/Textures/20/ag845327x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437401.jpg b/RWT_Cache/Textures/20/ag845327x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437402.jpg b/RWT_Cache/Textures/20/ag845327x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437403.jpg b/RWT_Cache/Textures/20/ag845327x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437404.jpg b/RWT_Cache/Textures/20/ag845327x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437405.jpg b/RWT_Cache/Textures/20/ag845327x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437406.jpg b/RWT_Cache/Textures/20/ag845327x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437407.jpg b/RWT_Cache/Textures/20/ag845327x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437408.jpg b/RWT_Cache/Textures/20/ag845327x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437409.jpg b/RWT_Cache/Textures/20/ag845327x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437410.jpg b/RWT_Cache/Textures/20/ag845327x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437411.jpg b/RWT_Cache/Textures/20/ag845327x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437412.jpg b/RWT_Cache/Textures/20/ag845327x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437413.jpg b/RWT_Cache/Textures/20/ag845327x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437414.jpg b/RWT_Cache/Textures/20/ag845327x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437415.jpg b/RWT_Cache/Textures/20/ag845327x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437416.jpg b/RWT_Cache/Textures/20/ag845327x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437417.jpg b/RWT_Cache/Textures/20/ag845327x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437418.jpg b/RWT_Cache/Textures/20/ag845327x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437419.jpg b/RWT_Cache/Textures/20/ag845327x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437420.jpg b/RWT_Cache/Textures/20/ag845327x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437421.jpg b/RWT_Cache/Textures/20/ag845327x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437422.jpg b/RWT_Cache/Textures/20/ag845327x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437423.jpg b/RWT_Cache/Textures/20/ag845327x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437424.jpg b/RWT_Cache/Textures/20/ag845327x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437425.jpg b/RWT_Cache/Textures/20/ag845327x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437426.jpg b/RWT_Cache/Textures/20/ag845327x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437427.jpg b/RWT_Cache/Textures/20/ag845327x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437428.jpg b/RWT_Cache/Textures/20/ag845327x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437429.jpg b/RWT_Cache/Textures/20/ag845327x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437430.jpg b/RWT_Cache/Textures/20/ag845327x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437431.jpg b/RWT_Cache/Textures/20/ag845327x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437432.jpg b/RWT_Cache/Textures/20/ag845327x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437433.jpg b/RWT_Cache/Textures/20/ag845327x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437434.jpg b/RWT_Cache/Textures/20/ag845327x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437435.jpg b/RWT_Cache/Textures/20/ag845327x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437436.jpg b/RWT_Cache/Textures/20/ag845327x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437437.jpg b/RWT_Cache/Textures/20/ag845327x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437438.jpg b/RWT_Cache/Textures/20/ag845327x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437439.jpg b/RWT_Cache/Textures/20/ag845327x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437440.jpg b/RWT_Cache/Textures/20/ag845327x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437441.jpg b/RWT_Cache/Textures/20/ag845327x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437442.jpg b/RWT_Cache/Textures/20/ag845327x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437443.jpg b/RWT_Cache/Textures/20/ag845327x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437444.jpg b/RWT_Cache/Textures/20/ag845327x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845327x437445.jpg b/RWT_Cache/Textures/20/ag845327x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845327x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437391.jpg b/RWT_Cache/Textures/20/ag845328x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437392.jpg b/RWT_Cache/Textures/20/ag845328x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437393.jpg b/RWT_Cache/Textures/20/ag845328x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437394.jpg b/RWT_Cache/Textures/20/ag845328x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437395.jpg b/RWT_Cache/Textures/20/ag845328x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437396.jpg b/RWT_Cache/Textures/20/ag845328x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437397.jpg b/RWT_Cache/Textures/20/ag845328x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437398.jpg b/RWT_Cache/Textures/20/ag845328x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437399.jpg b/RWT_Cache/Textures/20/ag845328x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437400.jpg b/RWT_Cache/Textures/20/ag845328x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437401.jpg b/RWT_Cache/Textures/20/ag845328x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437402.jpg b/RWT_Cache/Textures/20/ag845328x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437403.jpg b/RWT_Cache/Textures/20/ag845328x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437404.jpg b/RWT_Cache/Textures/20/ag845328x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437405.jpg b/RWT_Cache/Textures/20/ag845328x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437406.jpg b/RWT_Cache/Textures/20/ag845328x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437407.jpg b/RWT_Cache/Textures/20/ag845328x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437408.jpg b/RWT_Cache/Textures/20/ag845328x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437409.jpg b/RWT_Cache/Textures/20/ag845328x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437410.jpg b/RWT_Cache/Textures/20/ag845328x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437411.jpg b/RWT_Cache/Textures/20/ag845328x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437412.jpg b/RWT_Cache/Textures/20/ag845328x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437413.jpg b/RWT_Cache/Textures/20/ag845328x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437414.jpg b/RWT_Cache/Textures/20/ag845328x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437415.jpg b/RWT_Cache/Textures/20/ag845328x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437416.jpg b/RWT_Cache/Textures/20/ag845328x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437417.jpg b/RWT_Cache/Textures/20/ag845328x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437418.jpg b/RWT_Cache/Textures/20/ag845328x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437419.jpg b/RWT_Cache/Textures/20/ag845328x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437420.jpg b/RWT_Cache/Textures/20/ag845328x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437421.jpg b/RWT_Cache/Textures/20/ag845328x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437422.jpg b/RWT_Cache/Textures/20/ag845328x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437423.jpg b/RWT_Cache/Textures/20/ag845328x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437424.jpg b/RWT_Cache/Textures/20/ag845328x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437425.jpg b/RWT_Cache/Textures/20/ag845328x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437426.jpg b/RWT_Cache/Textures/20/ag845328x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437427.jpg b/RWT_Cache/Textures/20/ag845328x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437428.jpg b/RWT_Cache/Textures/20/ag845328x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437429.jpg b/RWT_Cache/Textures/20/ag845328x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437430.jpg b/RWT_Cache/Textures/20/ag845328x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437431.jpg b/RWT_Cache/Textures/20/ag845328x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437432.jpg b/RWT_Cache/Textures/20/ag845328x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437433.jpg b/RWT_Cache/Textures/20/ag845328x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437434.jpg b/RWT_Cache/Textures/20/ag845328x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437435.jpg b/RWT_Cache/Textures/20/ag845328x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437436.jpg b/RWT_Cache/Textures/20/ag845328x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437437.jpg b/RWT_Cache/Textures/20/ag845328x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437438.jpg b/RWT_Cache/Textures/20/ag845328x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437439.jpg b/RWT_Cache/Textures/20/ag845328x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437440.jpg b/RWT_Cache/Textures/20/ag845328x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437441.jpg b/RWT_Cache/Textures/20/ag845328x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437442.jpg b/RWT_Cache/Textures/20/ag845328x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437443.jpg b/RWT_Cache/Textures/20/ag845328x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437444.jpg b/RWT_Cache/Textures/20/ag845328x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845328x437445.jpg b/RWT_Cache/Textures/20/ag845328x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845328x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437391.jpg b/RWT_Cache/Textures/20/ag845329x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437392.jpg b/RWT_Cache/Textures/20/ag845329x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437393.jpg b/RWT_Cache/Textures/20/ag845329x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437394.jpg b/RWT_Cache/Textures/20/ag845329x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437395.jpg b/RWT_Cache/Textures/20/ag845329x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437396.jpg b/RWT_Cache/Textures/20/ag845329x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437397.jpg b/RWT_Cache/Textures/20/ag845329x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437398.jpg b/RWT_Cache/Textures/20/ag845329x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437399.jpg b/RWT_Cache/Textures/20/ag845329x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437400.jpg b/RWT_Cache/Textures/20/ag845329x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437401.jpg b/RWT_Cache/Textures/20/ag845329x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437402.jpg b/RWT_Cache/Textures/20/ag845329x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437403.jpg b/RWT_Cache/Textures/20/ag845329x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437404.jpg b/RWT_Cache/Textures/20/ag845329x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437405.jpg b/RWT_Cache/Textures/20/ag845329x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437406.jpg b/RWT_Cache/Textures/20/ag845329x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437407.jpg b/RWT_Cache/Textures/20/ag845329x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437408.jpg b/RWT_Cache/Textures/20/ag845329x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437409.jpg b/RWT_Cache/Textures/20/ag845329x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437410.jpg b/RWT_Cache/Textures/20/ag845329x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437411.jpg b/RWT_Cache/Textures/20/ag845329x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437412.jpg b/RWT_Cache/Textures/20/ag845329x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437413.jpg b/RWT_Cache/Textures/20/ag845329x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437414.jpg b/RWT_Cache/Textures/20/ag845329x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437415.jpg b/RWT_Cache/Textures/20/ag845329x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437416.jpg b/RWT_Cache/Textures/20/ag845329x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437417.jpg b/RWT_Cache/Textures/20/ag845329x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437418.jpg b/RWT_Cache/Textures/20/ag845329x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437419.jpg b/RWT_Cache/Textures/20/ag845329x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437420.jpg b/RWT_Cache/Textures/20/ag845329x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437421.jpg b/RWT_Cache/Textures/20/ag845329x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437422.jpg b/RWT_Cache/Textures/20/ag845329x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437423.jpg b/RWT_Cache/Textures/20/ag845329x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437424.jpg b/RWT_Cache/Textures/20/ag845329x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437425.jpg b/RWT_Cache/Textures/20/ag845329x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437426.jpg b/RWT_Cache/Textures/20/ag845329x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437427.jpg b/RWT_Cache/Textures/20/ag845329x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437428.jpg b/RWT_Cache/Textures/20/ag845329x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437429.jpg b/RWT_Cache/Textures/20/ag845329x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437430.jpg b/RWT_Cache/Textures/20/ag845329x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437431.jpg b/RWT_Cache/Textures/20/ag845329x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437432.jpg b/RWT_Cache/Textures/20/ag845329x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437433.jpg b/RWT_Cache/Textures/20/ag845329x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437434.jpg b/RWT_Cache/Textures/20/ag845329x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437435.jpg b/RWT_Cache/Textures/20/ag845329x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437436.jpg b/RWT_Cache/Textures/20/ag845329x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437437.jpg b/RWT_Cache/Textures/20/ag845329x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437438.jpg b/RWT_Cache/Textures/20/ag845329x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437439.jpg b/RWT_Cache/Textures/20/ag845329x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437440.jpg b/RWT_Cache/Textures/20/ag845329x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437441.jpg b/RWT_Cache/Textures/20/ag845329x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437442.jpg b/RWT_Cache/Textures/20/ag845329x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437443.jpg b/RWT_Cache/Textures/20/ag845329x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437444.jpg b/RWT_Cache/Textures/20/ag845329x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845329x437445.jpg b/RWT_Cache/Textures/20/ag845329x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845329x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437391.jpg b/RWT_Cache/Textures/20/ag845330x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437392.jpg b/RWT_Cache/Textures/20/ag845330x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437393.jpg b/RWT_Cache/Textures/20/ag845330x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437394.jpg b/RWT_Cache/Textures/20/ag845330x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437395.jpg b/RWT_Cache/Textures/20/ag845330x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437396.jpg b/RWT_Cache/Textures/20/ag845330x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437397.jpg b/RWT_Cache/Textures/20/ag845330x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437398.jpg b/RWT_Cache/Textures/20/ag845330x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437399.jpg b/RWT_Cache/Textures/20/ag845330x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437400.jpg b/RWT_Cache/Textures/20/ag845330x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437401.jpg b/RWT_Cache/Textures/20/ag845330x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437402.jpg b/RWT_Cache/Textures/20/ag845330x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437403.jpg b/RWT_Cache/Textures/20/ag845330x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437404.jpg b/RWT_Cache/Textures/20/ag845330x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437405.jpg b/RWT_Cache/Textures/20/ag845330x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437406.jpg b/RWT_Cache/Textures/20/ag845330x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437407.jpg b/RWT_Cache/Textures/20/ag845330x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437408.jpg b/RWT_Cache/Textures/20/ag845330x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437409.jpg b/RWT_Cache/Textures/20/ag845330x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437410.jpg b/RWT_Cache/Textures/20/ag845330x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437411.jpg b/RWT_Cache/Textures/20/ag845330x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437412.jpg b/RWT_Cache/Textures/20/ag845330x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437413.jpg b/RWT_Cache/Textures/20/ag845330x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437414.jpg b/RWT_Cache/Textures/20/ag845330x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437415.jpg b/RWT_Cache/Textures/20/ag845330x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437416.jpg b/RWT_Cache/Textures/20/ag845330x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437417.jpg b/RWT_Cache/Textures/20/ag845330x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437418.jpg b/RWT_Cache/Textures/20/ag845330x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437419.jpg b/RWT_Cache/Textures/20/ag845330x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437420.jpg b/RWT_Cache/Textures/20/ag845330x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437421.jpg b/RWT_Cache/Textures/20/ag845330x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437422.jpg b/RWT_Cache/Textures/20/ag845330x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437423.jpg b/RWT_Cache/Textures/20/ag845330x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437424.jpg b/RWT_Cache/Textures/20/ag845330x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437425.jpg b/RWT_Cache/Textures/20/ag845330x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437426.jpg b/RWT_Cache/Textures/20/ag845330x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437427.jpg b/RWT_Cache/Textures/20/ag845330x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437428.jpg b/RWT_Cache/Textures/20/ag845330x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437429.jpg b/RWT_Cache/Textures/20/ag845330x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437430.jpg b/RWT_Cache/Textures/20/ag845330x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437431.jpg b/RWT_Cache/Textures/20/ag845330x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437432.jpg b/RWT_Cache/Textures/20/ag845330x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437433.jpg b/RWT_Cache/Textures/20/ag845330x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437434.jpg b/RWT_Cache/Textures/20/ag845330x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437435.jpg b/RWT_Cache/Textures/20/ag845330x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437436.jpg b/RWT_Cache/Textures/20/ag845330x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437437.jpg b/RWT_Cache/Textures/20/ag845330x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437438.jpg b/RWT_Cache/Textures/20/ag845330x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437439.jpg b/RWT_Cache/Textures/20/ag845330x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437440.jpg b/RWT_Cache/Textures/20/ag845330x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437441.jpg b/RWT_Cache/Textures/20/ag845330x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437442.jpg b/RWT_Cache/Textures/20/ag845330x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437443.jpg b/RWT_Cache/Textures/20/ag845330x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437444.jpg b/RWT_Cache/Textures/20/ag845330x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845330x437445.jpg b/RWT_Cache/Textures/20/ag845330x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845330x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437391.jpg b/RWT_Cache/Textures/20/ag845331x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437392.jpg b/RWT_Cache/Textures/20/ag845331x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437393.jpg b/RWT_Cache/Textures/20/ag845331x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437394.jpg b/RWT_Cache/Textures/20/ag845331x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437395.jpg b/RWT_Cache/Textures/20/ag845331x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437396.jpg b/RWT_Cache/Textures/20/ag845331x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437397.jpg b/RWT_Cache/Textures/20/ag845331x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437398.jpg b/RWT_Cache/Textures/20/ag845331x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437399.jpg b/RWT_Cache/Textures/20/ag845331x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437400.jpg b/RWT_Cache/Textures/20/ag845331x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437401.jpg b/RWT_Cache/Textures/20/ag845331x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437402.jpg b/RWT_Cache/Textures/20/ag845331x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437403.jpg b/RWT_Cache/Textures/20/ag845331x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437404.jpg b/RWT_Cache/Textures/20/ag845331x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437405.jpg b/RWT_Cache/Textures/20/ag845331x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437406.jpg b/RWT_Cache/Textures/20/ag845331x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437407.jpg b/RWT_Cache/Textures/20/ag845331x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437408.jpg b/RWT_Cache/Textures/20/ag845331x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437409.jpg b/RWT_Cache/Textures/20/ag845331x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437410.jpg b/RWT_Cache/Textures/20/ag845331x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437411.jpg b/RWT_Cache/Textures/20/ag845331x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437412.jpg b/RWT_Cache/Textures/20/ag845331x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437413.jpg b/RWT_Cache/Textures/20/ag845331x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437414.jpg b/RWT_Cache/Textures/20/ag845331x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437415.jpg b/RWT_Cache/Textures/20/ag845331x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437416.jpg b/RWT_Cache/Textures/20/ag845331x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437417.jpg b/RWT_Cache/Textures/20/ag845331x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437418.jpg b/RWT_Cache/Textures/20/ag845331x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437419.jpg b/RWT_Cache/Textures/20/ag845331x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437420.jpg b/RWT_Cache/Textures/20/ag845331x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437421.jpg b/RWT_Cache/Textures/20/ag845331x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437422.jpg b/RWT_Cache/Textures/20/ag845331x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437423.jpg b/RWT_Cache/Textures/20/ag845331x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437424.jpg b/RWT_Cache/Textures/20/ag845331x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437425.jpg b/RWT_Cache/Textures/20/ag845331x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437426.jpg b/RWT_Cache/Textures/20/ag845331x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437427.jpg b/RWT_Cache/Textures/20/ag845331x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437428.jpg b/RWT_Cache/Textures/20/ag845331x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437429.jpg b/RWT_Cache/Textures/20/ag845331x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437430.jpg b/RWT_Cache/Textures/20/ag845331x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437431.jpg b/RWT_Cache/Textures/20/ag845331x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437432.jpg b/RWT_Cache/Textures/20/ag845331x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437433.jpg b/RWT_Cache/Textures/20/ag845331x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437434.jpg b/RWT_Cache/Textures/20/ag845331x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437435.jpg b/RWT_Cache/Textures/20/ag845331x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437436.jpg b/RWT_Cache/Textures/20/ag845331x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437437.jpg b/RWT_Cache/Textures/20/ag845331x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437438.jpg b/RWT_Cache/Textures/20/ag845331x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437439.jpg b/RWT_Cache/Textures/20/ag845331x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437440.jpg b/RWT_Cache/Textures/20/ag845331x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437441.jpg b/RWT_Cache/Textures/20/ag845331x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437442.jpg b/RWT_Cache/Textures/20/ag845331x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437443.jpg b/RWT_Cache/Textures/20/ag845331x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437444.jpg b/RWT_Cache/Textures/20/ag845331x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845331x437445.jpg b/RWT_Cache/Textures/20/ag845331x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845331x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437391.jpg b/RWT_Cache/Textures/20/ag845332x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437392.jpg b/RWT_Cache/Textures/20/ag845332x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437393.jpg b/RWT_Cache/Textures/20/ag845332x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437394.jpg b/RWT_Cache/Textures/20/ag845332x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437395.jpg b/RWT_Cache/Textures/20/ag845332x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437396.jpg b/RWT_Cache/Textures/20/ag845332x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437397.jpg b/RWT_Cache/Textures/20/ag845332x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437398.jpg b/RWT_Cache/Textures/20/ag845332x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437399.jpg b/RWT_Cache/Textures/20/ag845332x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437400.jpg b/RWT_Cache/Textures/20/ag845332x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437401.jpg b/RWT_Cache/Textures/20/ag845332x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437402.jpg b/RWT_Cache/Textures/20/ag845332x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437403.jpg b/RWT_Cache/Textures/20/ag845332x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437404.jpg b/RWT_Cache/Textures/20/ag845332x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437405.jpg b/RWT_Cache/Textures/20/ag845332x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437406.jpg b/RWT_Cache/Textures/20/ag845332x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437407.jpg b/RWT_Cache/Textures/20/ag845332x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437408.jpg b/RWT_Cache/Textures/20/ag845332x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437409.jpg b/RWT_Cache/Textures/20/ag845332x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437410.jpg b/RWT_Cache/Textures/20/ag845332x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437411.jpg b/RWT_Cache/Textures/20/ag845332x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437412.jpg b/RWT_Cache/Textures/20/ag845332x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437413.jpg b/RWT_Cache/Textures/20/ag845332x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437414.jpg b/RWT_Cache/Textures/20/ag845332x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437415.jpg b/RWT_Cache/Textures/20/ag845332x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437416.jpg b/RWT_Cache/Textures/20/ag845332x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437417.jpg b/RWT_Cache/Textures/20/ag845332x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437418.jpg b/RWT_Cache/Textures/20/ag845332x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437419.jpg b/RWT_Cache/Textures/20/ag845332x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437420.jpg b/RWT_Cache/Textures/20/ag845332x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437421.jpg b/RWT_Cache/Textures/20/ag845332x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437422.jpg b/RWT_Cache/Textures/20/ag845332x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437423.jpg b/RWT_Cache/Textures/20/ag845332x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437424.jpg b/RWT_Cache/Textures/20/ag845332x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437425.jpg b/RWT_Cache/Textures/20/ag845332x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437426.jpg b/RWT_Cache/Textures/20/ag845332x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437427.jpg b/RWT_Cache/Textures/20/ag845332x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437428.jpg b/RWT_Cache/Textures/20/ag845332x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437429.jpg b/RWT_Cache/Textures/20/ag845332x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437430.jpg b/RWT_Cache/Textures/20/ag845332x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437431.jpg b/RWT_Cache/Textures/20/ag845332x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437432.jpg b/RWT_Cache/Textures/20/ag845332x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437433.jpg b/RWT_Cache/Textures/20/ag845332x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437434.jpg b/RWT_Cache/Textures/20/ag845332x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437435.jpg b/RWT_Cache/Textures/20/ag845332x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437436.jpg b/RWT_Cache/Textures/20/ag845332x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437437.jpg b/RWT_Cache/Textures/20/ag845332x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437438.jpg b/RWT_Cache/Textures/20/ag845332x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437439.jpg b/RWT_Cache/Textures/20/ag845332x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437440.jpg b/RWT_Cache/Textures/20/ag845332x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437441.jpg b/RWT_Cache/Textures/20/ag845332x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437442.jpg b/RWT_Cache/Textures/20/ag845332x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437443.jpg b/RWT_Cache/Textures/20/ag845332x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437444.jpg b/RWT_Cache/Textures/20/ag845332x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845332x437445.jpg b/RWT_Cache/Textures/20/ag845332x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845332x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437391.jpg b/RWT_Cache/Textures/20/ag845333x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437392.jpg b/RWT_Cache/Textures/20/ag845333x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437393.jpg b/RWT_Cache/Textures/20/ag845333x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437394.jpg b/RWT_Cache/Textures/20/ag845333x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437395.jpg b/RWT_Cache/Textures/20/ag845333x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437396.jpg b/RWT_Cache/Textures/20/ag845333x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437397.jpg b/RWT_Cache/Textures/20/ag845333x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437398.jpg b/RWT_Cache/Textures/20/ag845333x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437399.jpg b/RWT_Cache/Textures/20/ag845333x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437400.jpg b/RWT_Cache/Textures/20/ag845333x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437401.jpg b/RWT_Cache/Textures/20/ag845333x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437402.jpg b/RWT_Cache/Textures/20/ag845333x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437403.jpg b/RWT_Cache/Textures/20/ag845333x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437404.jpg b/RWT_Cache/Textures/20/ag845333x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437405.jpg b/RWT_Cache/Textures/20/ag845333x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437406.jpg b/RWT_Cache/Textures/20/ag845333x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437407.jpg b/RWT_Cache/Textures/20/ag845333x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437408.jpg b/RWT_Cache/Textures/20/ag845333x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437409.jpg b/RWT_Cache/Textures/20/ag845333x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437410.jpg b/RWT_Cache/Textures/20/ag845333x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437411.jpg b/RWT_Cache/Textures/20/ag845333x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437412.jpg b/RWT_Cache/Textures/20/ag845333x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437413.jpg b/RWT_Cache/Textures/20/ag845333x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437414.jpg b/RWT_Cache/Textures/20/ag845333x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437415.jpg b/RWT_Cache/Textures/20/ag845333x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437416.jpg b/RWT_Cache/Textures/20/ag845333x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437417.jpg b/RWT_Cache/Textures/20/ag845333x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437418.jpg b/RWT_Cache/Textures/20/ag845333x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437419.jpg b/RWT_Cache/Textures/20/ag845333x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437420.jpg b/RWT_Cache/Textures/20/ag845333x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437421.jpg b/RWT_Cache/Textures/20/ag845333x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437422.jpg b/RWT_Cache/Textures/20/ag845333x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437423.jpg b/RWT_Cache/Textures/20/ag845333x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437424.jpg b/RWT_Cache/Textures/20/ag845333x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437425.jpg b/RWT_Cache/Textures/20/ag845333x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437426.jpg b/RWT_Cache/Textures/20/ag845333x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437427.jpg b/RWT_Cache/Textures/20/ag845333x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437428.jpg b/RWT_Cache/Textures/20/ag845333x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437429.jpg b/RWT_Cache/Textures/20/ag845333x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437430.jpg b/RWT_Cache/Textures/20/ag845333x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437431.jpg b/RWT_Cache/Textures/20/ag845333x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437432.jpg b/RWT_Cache/Textures/20/ag845333x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437433.jpg b/RWT_Cache/Textures/20/ag845333x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437434.jpg b/RWT_Cache/Textures/20/ag845333x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437435.jpg b/RWT_Cache/Textures/20/ag845333x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437436.jpg b/RWT_Cache/Textures/20/ag845333x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437437.jpg b/RWT_Cache/Textures/20/ag845333x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437438.jpg b/RWT_Cache/Textures/20/ag845333x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437439.jpg b/RWT_Cache/Textures/20/ag845333x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437440.jpg b/RWT_Cache/Textures/20/ag845333x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437441.jpg b/RWT_Cache/Textures/20/ag845333x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437442.jpg b/RWT_Cache/Textures/20/ag845333x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437443.jpg b/RWT_Cache/Textures/20/ag845333x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437444.jpg b/RWT_Cache/Textures/20/ag845333x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845333x437445.jpg b/RWT_Cache/Textures/20/ag845333x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845333x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437391.jpg b/RWT_Cache/Textures/20/ag845334x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437392.jpg b/RWT_Cache/Textures/20/ag845334x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437393.jpg b/RWT_Cache/Textures/20/ag845334x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437394.jpg b/RWT_Cache/Textures/20/ag845334x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437395.jpg b/RWT_Cache/Textures/20/ag845334x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437396.jpg b/RWT_Cache/Textures/20/ag845334x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437397.jpg b/RWT_Cache/Textures/20/ag845334x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437398.jpg b/RWT_Cache/Textures/20/ag845334x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437399.jpg b/RWT_Cache/Textures/20/ag845334x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437400.jpg b/RWT_Cache/Textures/20/ag845334x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437401.jpg b/RWT_Cache/Textures/20/ag845334x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437402.jpg b/RWT_Cache/Textures/20/ag845334x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437403.jpg b/RWT_Cache/Textures/20/ag845334x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437404.jpg b/RWT_Cache/Textures/20/ag845334x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437405.jpg b/RWT_Cache/Textures/20/ag845334x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437406.jpg b/RWT_Cache/Textures/20/ag845334x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437407.jpg b/RWT_Cache/Textures/20/ag845334x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437408.jpg b/RWT_Cache/Textures/20/ag845334x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437409.jpg b/RWT_Cache/Textures/20/ag845334x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437410.jpg b/RWT_Cache/Textures/20/ag845334x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437411.jpg b/RWT_Cache/Textures/20/ag845334x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437412.jpg b/RWT_Cache/Textures/20/ag845334x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437413.jpg b/RWT_Cache/Textures/20/ag845334x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437414.jpg b/RWT_Cache/Textures/20/ag845334x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437415.jpg b/RWT_Cache/Textures/20/ag845334x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437416.jpg b/RWT_Cache/Textures/20/ag845334x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437417.jpg b/RWT_Cache/Textures/20/ag845334x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437418.jpg b/RWT_Cache/Textures/20/ag845334x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437419.jpg b/RWT_Cache/Textures/20/ag845334x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437420.jpg b/RWT_Cache/Textures/20/ag845334x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437421.jpg b/RWT_Cache/Textures/20/ag845334x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437422.jpg b/RWT_Cache/Textures/20/ag845334x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437423.jpg b/RWT_Cache/Textures/20/ag845334x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437424.jpg b/RWT_Cache/Textures/20/ag845334x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437425.jpg b/RWT_Cache/Textures/20/ag845334x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437426.jpg b/RWT_Cache/Textures/20/ag845334x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437427.jpg b/RWT_Cache/Textures/20/ag845334x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437428.jpg b/RWT_Cache/Textures/20/ag845334x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437429.jpg b/RWT_Cache/Textures/20/ag845334x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437430.jpg b/RWT_Cache/Textures/20/ag845334x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437431.jpg b/RWT_Cache/Textures/20/ag845334x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437432.jpg b/RWT_Cache/Textures/20/ag845334x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437433.jpg b/RWT_Cache/Textures/20/ag845334x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437434.jpg b/RWT_Cache/Textures/20/ag845334x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437435.jpg b/RWT_Cache/Textures/20/ag845334x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437436.jpg b/RWT_Cache/Textures/20/ag845334x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437437.jpg b/RWT_Cache/Textures/20/ag845334x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437438.jpg b/RWT_Cache/Textures/20/ag845334x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437439.jpg b/RWT_Cache/Textures/20/ag845334x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437440.jpg b/RWT_Cache/Textures/20/ag845334x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437441.jpg b/RWT_Cache/Textures/20/ag845334x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437442.jpg b/RWT_Cache/Textures/20/ag845334x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437443.jpg b/RWT_Cache/Textures/20/ag845334x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437444.jpg b/RWT_Cache/Textures/20/ag845334x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845334x437445.jpg b/RWT_Cache/Textures/20/ag845334x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845334x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437391.jpg b/RWT_Cache/Textures/20/ag845335x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437392.jpg b/RWT_Cache/Textures/20/ag845335x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437393.jpg b/RWT_Cache/Textures/20/ag845335x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437394.jpg b/RWT_Cache/Textures/20/ag845335x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437395.jpg b/RWT_Cache/Textures/20/ag845335x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437396.jpg b/RWT_Cache/Textures/20/ag845335x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437397.jpg b/RWT_Cache/Textures/20/ag845335x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437398.jpg b/RWT_Cache/Textures/20/ag845335x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437399.jpg b/RWT_Cache/Textures/20/ag845335x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437400.jpg b/RWT_Cache/Textures/20/ag845335x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437401.jpg b/RWT_Cache/Textures/20/ag845335x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437402.jpg b/RWT_Cache/Textures/20/ag845335x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437403.jpg b/RWT_Cache/Textures/20/ag845335x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437404.jpg b/RWT_Cache/Textures/20/ag845335x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437405.jpg b/RWT_Cache/Textures/20/ag845335x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437406.jpg b/RWT_Cache/Textures/20/ag845335x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437407.jpg b/RWT_Cache/Textures/20/ag845335x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437408.jpg b/RWT_Cache/Textures/20/ag845335x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437409.jpg b/RWT_Cache/Textures/20/ag845335x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437410.jpg b/RWT_Cache/Textures/20/ag845335x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437411.jpg b/RWT_Cache/Textures/20/ag845335x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437412.jpg b/RWT_Cache/Textures/20/ag845335x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437413.jpg b/RWT_Cache/Textures/20/ag845335x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437414.jpg b/RWT_Cache/Textures/20/ag845335x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437415.jpg b/RWT_Cache/Textures/20/ag845335x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437416.jpg b/RWT_Cache/Textures/20/ag845335x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437417.jpg b/RWT_Cache/Textures/20/ag845335x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437418.jpg b/RWT_Cache/Textures/20/ag845335x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437419.jpg b/RWT_Cache/Textures/20/ag845335x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437420.jpg b/RWT_Cache/Textures/20/ag845335x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437421.jpg b/RWT_Cache/Textures/20/ag845335x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437422.jpg b/RWT_Cache/Textures/20/ag845335x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437423.jpg b/RWT_Cache/Textures/20/ag845335x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437424.jpg b/RWT_Cache/Textures/20/ag845335x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437425.jpg b/RWT_Cache/Textures/20/ag845335x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437426.jpg b/RWT_Cache/Textures/20/ag845335x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437427.jpg b/RWT_Cache/Textures/20/ag845335x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437428.jpg b/RWT_Cache/Textures/20/ag845335x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437429.jpg b/RWT_Cache/Textures/20/ag845335x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437430.jpg b/RWT_Cache/Textures/20/ag845335x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437431.jpg b/RWT_Cache/Textures/20/ag845335x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437432.jpg b/RWT_Cache/Textures/20/ag845335x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437433.jpg b/RWT_Cache/Textures/20/ag845335x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437434.jpg b/RWT_Cache/Textures/20/ag845335x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437435.jpg b/RWT_Cache/Textures/20/ag845335x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437436.jpg b/RWT_Cache/Textures/20/ag845335x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437437.jpg b/RWT_Cache/Textures/20/ag845335x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437438.jpg b/RWT_Cache/Textures/20/ag845335x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437439.jpg b/RWT_Cache/Textures/20/ag845335x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437440.jpg b/RWT_Cache/Textures/20/ag845335x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437441.jpg b/RWT_Cache/Textures/20/ag845335x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437442.jpg b/RWT_Cache/Textures/20/ag845335x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437443.jpg b/RWT_Cache/Textures/20/ag845335x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437444.jpg b/RWT_Cache/Textures/20/ag845335x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845335x437445.jpg b/RWT_Cache/Textures/20/ag845335x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845335x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437391.jpg b/RWT_Cache/Textures/20/ag845336x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437392.jpg b/RWT_Cache/Textures/20/ag845336x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437393.jpg b/RWT_Cache/Textures/20/ag845336x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437394.jpg b/RWT_Cache/Textures/20/ag845336x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437395.jpg b/RWT_Cache/Textures/20/ag845336x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437396.jpg b/RWT_Cache/Textures/20/ag845336x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437397.jpg b/RWT_Cache/Textures/20/ag845336x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437398.jpg b/RWT_Cache/Textures/20/ag845336x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437399.jpg b/RWT_Cache/Textures/20/ag845336x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437400.jpg b/RWT_Cache/Textures/20/ag845336x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437401.jpg b/RWT_Cache/Textures/20/ag845336x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437402.jpg b/RWT_Cache/Textures/20/ag845336x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437403.jpg b/RWT_Cache/Textures/20/ag845336x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437404.jpg b/RWT_Cache/Textures/20/ag845336x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437405.jpg b/RWT_Cache/Textures/20/ag845336x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437406.jpg b/RWT_Cache/Textures/20/ag845336x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437407.jpg b/RWT_Cache/Textures/20/ag845336x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437408.jpg b/RWT_Cache/Textures/20/ag845336x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437409.jpg b/RWT_Cache/Textures/20/ag845336x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437410.jpg b/RWT_Cache/Textures/20/ag845336x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437411.jpg b/RWT_Cache/Textures/20/ag845336x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437412.jpg b/RWT_Cache/Textures/20/ag845336x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437413.jpg b/RWT_Cache/Textures/20/ag845336x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437414.jpg b/RWT_Cache/Textures/20/ag845336x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437415.jpg b/RWT_Cache/Textures/20/ag845336x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437416.jpg b/RWT_Cache/Textures/20/ag845336x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437417.jpg b/RWT_Cache/Textures/20/ag845336x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437418.jpg b/RWT_Cache/Textures/20/ag845336x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437419.jpg b/RWT_Cache/Textures/20/ag845336x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437420.jpg b/RWT_Cache/Textures/20/ag845336x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437421.jpg b/RWT_Cache/Textures/20/ag845336x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437422.jpg b/RWT_Cache/Textures/20/ag845336x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437423.jpg b/RWT_Cache/Textures/20/ag845336x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437424.jpg b/RWT_Cache/Textures/20/ag845336x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437425.jpg b/RWT_Cache/Textures/20/ag845336x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437426.jpg b/RWT_Cache/Textures/20/ag845336x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437427.jpg b/RWT_Cache/Textures/20/ag845336x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437428.jpg b/RWT_Cache/Textures/20/ag845336x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437429.jpg b/RWT_Cache/Textures/20/ag845336x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437430.jpg b/RWT_Cache/Textures/20/ag845336x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437431.jpg b/RWT_Cache/Textures/20/ag845336x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437432.jpg b/RWT_Cache/Textures/20/ag845336x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437433.jpg b/RWT_Cache/Textures/20/ag845336x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437434.jpg b/RWT_Cache/Textures/20/ag845336x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437435.jpg b/RWT_Cache/Textures/20/ag845336x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437436.jpg b/RWT_Cache/Textures/20/ag845336x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437437.jpg b/RWT_Cache/Textures/20/ag845336x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437438.jpg b/RWT_Cache/Textures/20/ag845336x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437439.jpg b/RWT_Cache/Textures/20/ag845336x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437440.jpg b/RWT_Cache/Textures/20/ag845336x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437441.jpg b/RWT_Cache/Textures/20/ag845336x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437442.jpg b/RWT_Cache/Textures/20/ag845336x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437443.jpg b/RWT_Cache/Textures/20/ag845336x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437444.jpg b/RWT_Cache/Textures/20/ag845336x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845336x437445.jpg b/RWT_Cache/Textures/20/ag845336x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845336x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437391.jpg b/RWT_Cache/Textures/20/ag845337x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437392.jpg b/RWT_Cache/Textures/20/ag845337x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437393.jpg b/RWT_Cache/Textures/20/ag845337x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437394.jpg b/RWT_Cache/Textures/20/ag845337x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437395.jpg b/RWT_Cache/Textures/20/ag845337x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437396.jpg b/RWT_Cache/Textures/20/ag845337x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437397.jpg b/RWT_Cache/Textures/20/ag845337x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437398.jpg b/RWT_Cache/Textures/20/ag845337x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437399.jpg b/RWT_Cache/Textures/20/ag845337x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437400.jpg b/RWT_Cache/Textures/20/ag845337x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437401.jpg b/RWT_Cache/Textures/20/ag845337x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437402.jpg b/RWT_Cache/Textures/20/ag845337x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437403.jpg b/RWT_Cache/Textures/20/ag845337x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437404.jpg b/RWT_Cache/Textures/20/ag845337x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437405.jpg b/RWT_Cache/Textures/20/ag845337x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437406.jpg b/RWT_Cache/Textures/20/ag845337x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437407.jpg b/RWT_Cache/Textures/20/ag845337x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437408.jpg b/RWT_Cache/Textures/20/ag845337x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437409.jpg b/RWT_Cache/Textures/20/ag845337x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437410.jpg b/RWT_Cache/Textures/20/ag845337x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437411.jpg b/RWT_Cache/Textures/20/ag845337x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437412.jpg b/RWT_Cache/Textures/20/ag845337x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437413.jpg b/RWT_Cache/Textures/20/ag845337x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437414.jpg b/RWT_Cache/Textures/20/ag845337x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437415.jpg b/RWT_Cache/Textures/20/ag845337x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437416.jpg b/RWT_Cache/Textures/20/ag845337x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437417.jpg b/RWT_Cache/Textures/20/ag845337x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437418.jpg b/RWT_Cache/Textures/20/ag845337x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437419.jpg b/RWT_Cache/Textures/20/ag845337x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437420.jpg b/RWT_Cache/Textures/20/ag845337x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437421.jpg b/RWT_Cache/Textures/20/ag845337x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437422.jpg b/RWT_Cache/Textures/20/ag845337x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437423.jpg b/RWT_Cache/Textures/20/ag845337x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437424.jpg b/RWT_Cache/Textures/20/ag845337x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437425.jpg b/RWT_Cache/Textures/20/ag845337x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437426.jpg b/RWT_Cache/Textures/20/ag845337x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437427.jpg b/RWT_Cache/Textures/20/ag845337x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437428.jpg b/RWT_Cache/Textures/20/ag845337x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437429.jpg b/RWT_Cache/Textures/20/ag845337x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437430.jpg b/RWT_Cache/Textures/20/ag845337x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437431.jpg b/RWT_Cache/Textures/20/ag845337x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437432.jpg b/RWT_Cache/Textures/20/ag845337x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437433.jpg b/RWT_Cache/Textures/20/ag845337x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437434.jpg b/RWT_Cache/Textures/20/ag845337x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437435.jpg b/RWT_Cache/Textures/20/ag845337x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437436.jpg b/RWT_Cache/Textures/20/ag845337x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437437.jpg b/RWT_Cache/Textures/20/ag845337x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437438.jpg b/RWT_Cache/Textures/20/ag845337x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437439.jpg b/RWT_Cache/Textures/20/ag845337x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437440.jpg b/RWT_Cache/Textures/20/ag845337x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437441.jpg b/RWT_Cache/Textures/20/ag845337x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437442.jpg b/RWT_Cache/Textures/20/ag845337x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437443.jpg b/RWT_Cache/Textures/20/ag845337x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437444.jpg b/RWT_Cache/Textures/20/ag845337x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845337x437445.jpg b/RWT_Cache/Textures/20/ag845337x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845337x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437391.jpg b/RWT_Cache/Textures/20/ag845338x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437392.jpg b/RWT_Cache/Textures/20/ag845338x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437393.jpg b/RWT_Cache/Textures/20/ag845338x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437394.jpg b/RWT_Cache/Textures/20/ag845338x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437395.jpg b/RWT_Cache/Textures/20/ag845338x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437396.jpg b/RWT_Cache/Textures/20/ag845338x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437397.jpg b/RWT_Cache/Textures/20/ag845338x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437398.jpg b/RWT_Cache/Textures/20/ag845338x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437399.jpg b/RWT_Cache/Textures/20/ag845338x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437400.jpg b/RWT_Cache/Textures/20/ag845338x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437401.jpg b/RWT_Cache/Textures/20/ag845338x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437402.jpg b/RWT_Cache/Textures/20/ag845338x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437403.jpg b/RWT_Cache/Textures/20/ag845338x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437404.jpg b/RWT_Cache/Textures/20/ag845338x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437405.jpg b/RWT_Cache/Textures/20/ag845338x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437406.jpg b/RWT_Cache/Textures/20/ag845338x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437407.jpg b/RWT_Cache/Textures/20/ag845338x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437408.jpg b/RWT_Cache/Textures/20/ag845338x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437409.jpg b/RWT_Cache/Textures/20/ag845338x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437410.jpg b/RWT_Cache/Textures/20/ag845338x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437411.jpg b/RWT_Cache/Textures/20/ag845338x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437412.jpg b/RWT_Cache/Textures/20/ag845338x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437413.jpg b/RWT_Cache/Textures/20/ag845338x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437414.jpg b/RWT_Cache/Textures/20/ag845338x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437415.jpg b/RWT_Cache/Textures/20/ag845338x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437416.jpg b/RWT_Cache/Textures/20/ag845338x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437417.jpg b/RWT_Cache/Textures/20/ag845338x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437418.jpg b/RWT_Cache/Textures/20/ag845338x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437419.jpg b/RWT_Cache/Textures/20/ag845338x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437420.jpg b/RWT_Cache/Textures/20/ag845338x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437421.jpg b/RWT_Cache/Textures/20/ag845338x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437422.jpg b/RWT_Cache/Textures/20/ag845338x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437423.jpg b/RWT_Cache/Textures/20/ag845338x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437424.jpg b/RWT_Cache/Textures/20/ag845338x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437425.jpg b/RWT_Cache/Textures/20/ag845338x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437426.jpg b/RWT_Cache/Textures/20/ag845338x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437427.jpg b/RWT_Cache/Textures/20/ag845338x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437428.jpg b/RWT_Cache/Textures/20/ag845338x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437429.jpg b/RWT_Cache/Textures/20/ag845338x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437430.jpg b/RWT_Cache/Textures/20/ag845338x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437431.jpg b/RWT_Cache/Textures/20/ag845338x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437432.jpg b/RWT_Cache/Textures/20/ag845338x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437433.jpg b/RWT_Cache/Textures/20/ag845338x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437434.jpg b/RWT_Cache/Textures/20/ag845338x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437435.jpg b/RWT_Cache/Textures/20/ag845338x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437436.jpg b/RWT_Cache/Textures/20/ag845338x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437437.jpg b/RWT_Cache/Textures/20/ag845338x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437438.jpg b/RWT_Cache/Textures/20/ag845338x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437439.jpg b/RWT_Cache/Textures/20/ag845338x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437440.jpg b/RWT_Cache/Textures/20/ag845338x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437441.jpg b/RWT_Cache/Textures/20/ag845338x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437442.jpg b/RWT_Cache/Textures/20/ag845338x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437443.jpg b/RWT_Cache/Textures/20/ag845338x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437444.jpg b/RWT_Cache/Textures/20/ag845338x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845338x437445.jpg b/RWT_Cache/Textures/20/ag845338x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845338x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437391.jpg b/RWT_Cache/Textures/20/ag845339x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437392.jpg b/RWT_Cache/Textures/20/ag845339x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437393.jpg b/RWT_Cache/Textures/20/ag845339x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437394.jpg b/RWT_Cache/Textures/20/ag845339x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437395.jpg b/RWT_Cache/Textures/20/ag845339x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437396.jpg b/RWT_Cache/Textures/20/ag845339x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437397.jpg b/RWT_Cache/Textures/20/ag845339x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437398.jpg b/RWT_Cache/Textures/20/ag845339x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437399.jpg b/RWT_Cache/Textures/20/ag845339x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437400.jpg b/RWT_Cache/Textures/20/ag845339x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437401.jpg b/RWT_Cache/Textures/20/ag845339x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437402.jpg b/RWT_Cache/Textures/20/ag845339x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437403.jpg b/RWT_Cache/Textures/20/ag845339x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437404.jpg b/RWT_Cache/Textures/20/ag845339x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437405.jpg b/RWT_Cache/Textures/20/ag845339x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437406.jpg b/RWT_Cache/Textures/20/ag845339x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437407.jpg b/RWT_Cache/Textures/20/ag845339x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437408.jpg b/RWT_Cache/Textures/20/ag845339x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437409.jpg b/RWT_Cache/Textures/20/ag845339x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437410.jpg b/RWT_Cache/Textures/20/ag845339x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437411.jpg b/RWT_Cache/Textures/20/ag845339x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437412.jpg b/RWT_Cache/Textures/20/ag845339x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437413.jpg b/RWT_Cache/Textures/20/ag845339x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437414.jpg b/RWT_Cache/Textures/20/ag845339x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437415.jpg b/RWT_Cache/Textures/20/ag845339x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437416.jpg b/RWT_Cache/Textures/20/ag845339x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437417.jpg b/RWT_Cache/Textures/20/ag845339x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437418.jpg b/RWT_Cache/Textures/20/ag845339x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437419.jpg b/RWT_Cache/Textures/20/ag845339x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437420.jpg b/RWT_Cache/Textures/20/ag845339x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437421.jpg b/RWT_Cache/Textures/20/ag845339x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437422.jpg b/RWT_Cache/Textures/20/ag845339x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437423.jpg b/RWT_Cache/Textures/20/ag845339x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437424.jpg b/RWT_Cache/Textures/20/ag845339x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437425.jpg b/RWT_Cache/Textures/20/ag845339x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437426.jpg b/RWT_Cache/Textures/20/ag845339x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437427.jpg b/RWT_Cache/Textures/20/ag845339x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437428.jpg b/RWT_Cache/Textures/20/ag845339x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437429.jpg b/RWT_Cache/Textures/20/ag845339x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437430.jpg b/RWT_Cache/Textures/20/ag845339x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437431.jpg b/RWT_Cache/Textures/20/ag845339x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437432.jpg b/RWT_Cache/Textures/20/ag845339x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437433.jpg b/RWT_Cache/Textures/20/ag845339x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437434.jpg b/RWT_Cache/Textures/20/ag845339x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437435.jpg b/RWT_Cache/Textures/20/ag845339x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437436.jpg b/RWT_Cache/Textures/20/ag845339x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437437.jpg b/RWT_Cache/Textures/20/ag845339x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437438.jpg b/RWT_Cache/Textures/20/ag845339x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437439.jpg b/RWT_Cache/Textures/20/ag845339x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437440.jpg b/RWT_Cache/Textures/20/ag845339x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437441.jpg b/RWT_Cache/Textures/20/ag845339x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437442.jpg b/RWT_Cache/Textures/20/ag845339x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437443.jpg b/RWT_Cache/Textures/20/ag845339x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437444.jpg b/RWT_Cache/Textures/20/ag845339x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845339x437445.jpg b/RWT_Cache/Textures/20/ag845339x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845339x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437391.jpg b/RWT_Cache/Textures/20/ag845340x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437392.jpg b/RWT_Cache/Textures/20/ag845340x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437393.jpg b/RWT_Cache/Textures/20/ag845340x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437394.jpg b/RWT_Cache/Textures/20/ag845340x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437395.jpg b/RWT_Cache/Textures/20/ag845340x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437396.jpg b/RWT_Cache/Textures/20/ag845340x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437397.jpg b/RWT_Cache/Textures/20/ag845340x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437398.jpg b/RWT_Cache/Textures/20/ag845340x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437399.jpg b/RWT_Cache/Textures/20/ag845340x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437400.jpg b/RWT_Cache/Textures/20/ag845340x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437401.jpg b/RWT_Cache/Textures/20/ag845340x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437402.jpg b/RWT_Cache/Textures/20/ag845340x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437403.jpg b/RWT_Cache/Textures/20/ag845340x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437404.jpg b/RWT_Cache/Textures/20/ag845340x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437405.jpg b/RWT_Cache/Textures/20/ag845340x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437406.jpg b/RWT_Cache/Textures/20/ag845340x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437407.jpg b/RWT_Cache/Textures/20/ag845340x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437408.jpg b/RWT_Cache/Textures/20/ag845340x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437409.jpg b/RWT_Cache/Textures/20/ag845340x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437410.jpg b/RWT_Cache/Textures/20/ag845340x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437411.jpg b/RWT_Cache/Textures/20/ag845340x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437412.jpg b/RWT_Cache/Textures/20/ag845340x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437413.jpg b/RWT_Cache/Textures/20/ag845340x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437414.jpg b/RWT_Cache/Textures/20/ag845340x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437415.jpg b/RWT_Cache/Textures/20/ag845340x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437416.jpg b/RWT_Cache/Textures/20/ag845340x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437417.jpg b/RWT_Cache/Textures/20/ag845340x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437418.jpg b/RWT_Cache/Textures/20/ag845340x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437419.jpg b/RWT_Cache/Textures/20/ag845340x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437420.jpg b/RWT_Cache/Textures/20/ag845340x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437421.jpg b/RWT_Cache/Textures/20/ag845340x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437422.jpg b/RWT_Cache/Textures/20/ag845340x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437423.jpg b/RWT_Cache/Textures/20/ag845340x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437424.jpg b/RWT_Cache/Textures/20/ag845340x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437425.jpg b/RWT_Cache/Textures/20/ag845340x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437426.jpg b/RWT_Cache/Textures/20/ag845340x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437427.jpg b/RWT_Cache/Textures/20/ag845340x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437428.jpg b/RWT_Cache/Textures/20/ag845340x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437429.jpg b/RWT_Cache/Textures/20/ag845340x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437430.jpg b/RWT_Cache/Textures/20/ag845340x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437431.jpg b/RWT_Cache/Textures/20/ag845340x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437432.jpg b/RWT_Cache/Textures/20/ag845340x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437433.jpg b/RWT_Cache/Textures/20/ag845340x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437434.jpg b/RWT_Cache/Textures/20/ag845340x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437435.jpg b/RWT_Cache/Textures/20/ag845340x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437436.jpg b/RWT_Cache/Textures/20/ag845340x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437437.jpg b/RWT_Cache/Textures/20/ag845340x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437438.jpg b/RWT_Cache/Textures/20/ag845340x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437439.jpg b/RWT_Cache/Textures/20/ag845340x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437440.jpg b/RWT_Cache/Textures/20/ag845340x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437441.jpg b/RWT_Cache/Textures/20/ag845340x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437442.jpg b/RWT_Cache/Textures/20/ag845340x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437443.jpg b/RWT_Cache/Textures/20/ag845340x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437444.jpg b/RWT_Cache/Textures/20/ag845340x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845340x437445.jpg b/RWT_Cache/Textures/20/ag845340x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845340x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437391.jpg b/RWT_Cache/Textures/20/ag845341x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437392.jpg b/RWT_Cache/Textures/20/ag845341x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437393.jpg b/RWT_Cache/Textures/20/ag845341x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437394.jpg b/RWT_Cache/Textures/20/ag845341x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437395.jpg b/RWT_Cache/Textures/20/ag845341x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437396.jpg b/RWT_Cache/Textures/20/ag845341x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437397.jpg b/RWT_Cache/Textures/20/ag845341x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437398.jpg b/RWT_Cache/Textures/20/ag845341x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437399.jpg b/RWT_Cache/Textures/20/ag845341x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437400.jpg b/RWT_Cache/Textures/20/ag845341x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437401.jpg b/RWT_Cache/Textures/20/ag845341x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437402.jpg b/RWT_Cache/Textures/20/ag845341x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437403.jpg b/RWT_Cache/Textures/20/ag845341x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437404.jpg b/RWT_Cache/Textures/20/ag845341x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437405.jpg b/RWT_Cache/Textures/20/ag845341x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437406.jpg b/RWT_Cache/Textures/20/ag845341x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437407.jpg b/RWT_Cache/Textures/20/ag845341x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437408.jpg b/RWT_Cache/Textures/20/ag845341x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437409.jpg b/RWT_Cache/Textures/20/ag845341x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437410.jpg b/RWT_Cache/Textures/20/ag845341x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437411.jpg b/RWT_Cache/Textures/20/ag845341x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437412.jpg b/RWT_Cache/Textures/20/ag845341x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437413.jpg b/RWT_Cache/Textures/20/ag845341x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437414.jpg b/RWT_Cache/Textures/20/ag845341x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437415.jpg b/RWT_Cache/Textures/20/ag845341x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437416.jpg b/RWT_Cache/Textures/20/ag845341x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437417.jpg b/RWT_Cache/Textures/20/ag845341x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437418.jpg b/RWT_Cache/Textures/20/ag845341x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437419.jpg b/RWT_Cache/Textures/20/ag845341x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437420.jpg b/RWT_Cache/Textures/20/ag845341x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437421.jpg b/RWT_Cache/Textures/20/ag845341x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437422.jpg b/RWT_Cache/Textures/20/ag845341x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437423.jpg b/RWT_Cache/Textures/20/ag845341x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437424.jpg b/RWT_Cache/Textures/20/ag845341x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437425.jpg b/RWT_Cache/Textures/20/ag845341x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437426.jpg b/RWT_Cache/Textures/20/ag845341x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437427.jpg b/RWT_Cache/Textures/20/ag845341x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437428.jpg b/RWT_Cache/Textures/20/ag845341x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437429.jpg b/RWT_Cache/Textures/20/ag845341x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437430.jpg b/RWT_Cache/Textures/20/ag845341x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437431.jpg b/RWT_Cache/Textures/20/ag845341x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437432.jpg b/RWT_Cache/Textures/20/ag845341x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437433.jpg b/RWT_Cache/Textures/20/ag845341x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437434.jpg b/RWT_Cache/Textures/20/ag845341x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437435.jpg b/RWT_Cache/Textures/20/ag845341x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437436.jpg b/RWT_Cache/Textures/20/ag845341x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437437.jpg b/RWT_Cache/Textures/20/ag845341x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437438.jpg b/RWT_Cache/Textures/20/ag845341x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437439.jpg b/RWT_Cache/Textures/20/ag845341x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437440.jpg b/RWT_Cache/Textures/20/ag845341x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437441.jpg b/RWT_Cache/Textures/20/ag845341x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437442.jpg b/RWT_Cache/Textures/20/ag845341x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437443.jpg b/RWT_Cache/Textures/20/ag845341x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437444.jpg b/RWT_Cache/Textures/20/ag845341x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845341x437445.jpg b/RWT_Cache/Textures/20/ag845341x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845341x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437391.jpg b/RWT_Cache/Textures/20/ag845342x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437392.jpg b/RWT_Cache/Textures/20/ag845342x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437393.jpg b/RWT_Cache/Textures/20/ag845342x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437394.jpg b/RWT_Cache/Textures/20/ag845342x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437395.jpg b/RWT_Cache/Textures/20/ag845342x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437396.jpg b/RWT_Cache/Textures/20/ag845342x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437397.jpg b/RWT_Cache/Textures/20/ag845342x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437398.jpg b/RWT_Cache/Textures/20/ag845342x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437399.jpg b/RWT_Cache/Textures/20/ag845342x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437400.jpg b/RWT_Cache/Textures/20/ag845342x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437401.jpg b/RWT_Cache/Textures/20/ag845342x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437402.jpg b/RWT_Cache/Textures/20/ag845342x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437403.jpg b/RWT_Cache/Textures/20/ag845342x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437404.jpg b/RWT_Cache/Textures/20/ag845342x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437405.jpg b/RWT_Cache/Textures/20/ag845342x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437406.jpg b/RWT_Cache/Textures/20/ag845342x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437407.jpg b/RWT_Cache/Textures/20/ag845342x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437408.jpg b/RWT_Cache/Textures/20/ag845342x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437409.jpg b/RWT_Cache/Textures/20/ag845342x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437410.jpg b/RWT_Cache/Textures/20/ag845342x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437411.jpg b/RWT_Cache/Textures/20/ag845342x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437412.jpg b/RWT_Cache/Textures/20/ag845342x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437413.jpg b/RWT_Cache/Textures/20/ag845342x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437414.jpg b/RWT_Cache/Textures/20/ag845342x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437415.jpg b/RWT_Cache/Textures/20/ag845342x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437416.jpg b/RWT_Cache/Textures/20/ag845342x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437417.jpg b/RWT_Cache/Textures/20/ag845342x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437418.jpg b/RWT_Cache/Textures/20/ag845342x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437419.jpg b/RWT_Cache/Textures/20/ag845342x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437420.jpg b/RWT_Cache/Textures/20/ag845342x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437421.jpg b/RWT_Cache/Textures/20/ag845342x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437422.jpg b/RWT_Cache/Textures/20/ag845342x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437423.jpg b/RWT_Cache/Textures/20/ag845342x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437424.jpg b/RWT_Cache/Textures/20/ag845342x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437425.jpg b/RWT_Cache/Textures/20/ag845342x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437426.jpg b/RWT_Cache/Textures/20/ag845342x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437427.jpg b/RWT_Cache/Textures/20/ag845342x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437428.jpg b/RWT_Cache/Textures/20/ag845342x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437429.jpg b/RWT_Cache/Textures/20/ag845342x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437430.jpg b/RWT_Cache/Textures/20/ag845342x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437431.jpg b/RWT_Cache/Textures/20/ag845342x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437432.jpg b/RWT_Cache/Textures/20/ag845342x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437433.jpg b/RWT_Cache/Textures/20/ag845342x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437434.jpg b/RWT_Cache/Textures/20/ag845342x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437435.jpg b/RWT_Cache/Textures/20/ag845342x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437436.jpg b/RWT_Cache/Textures/20/ag845342x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437437.jpg b/RWT_Cache/Textures/20/ag845342x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437438.jpg b/RWT_Cache/Textures/20/ag845342x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437439.jpg b/RWT_Cache/Textures/20/ag845342x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437440.jpg b/RWT_Cache/Textures/20/ag845342x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437441.jpg b/RWT_Cache/Textures/20/ag845342x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437442.jpg b/RWT_Cache/Textures/20/ag845342x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437443.jpg b/RWT_Cache/Textures/20/ag845342x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437444.jpg b/RWT_Cache/Textures/20/ag845342x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845342x437445.jpg b/RWT_Cache/Textures/20/ag845342x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845342x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437391.jpg b/RWT_Cache/Textures/20/ag845343x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437392.jpg b/RWT_Cache/Textures/20/ag845343x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437393.jpg b/RWT_Cache/Textures/20/ag845343x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437394.jpg b/RWT_Cache/Textures/20/ag845343x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437395.jpg b/RWT_Cache/Textures/20/ag845343x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437396.jpg b/RWT_Cache/Textures/20/ag845343x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437397.jpg b/RWT_Cache/Textures/20/ag845343x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437398.jpg b/RWT_Cache/Textures/20/ag845343x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437399.jpg b/RWT_Cache/Textures/20/ag845343x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437400.jpg b/RWT_Cache/Textures/20/ag845343x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437401.jpg b/RWT_Cache/Textures/20/ag845343x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437402.jpg b/RWT_Cache/Textures/20/ag845343x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437403.jpg b/RWT_Cache/Textures/20/ag845343x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437404.jpg b/RWT_Cache/Textures/20/ag845343x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437405.jpg b/RWT_Cache/Textures/20/ag845343x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437406.jpg b/RWT_Cache/Textures/20/ag845343x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437407.jpg b/RWT_Cache/Textures/20/ag845343x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437408.jpg b/RWT_Cache/Textures/20/ag845343x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437409.jpg b/RWT_Cache/Textures/20/ag845343x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437410.jpg b/RWT_Cache/Textures/20/ag845343x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437411.jpg b/RWT_Cache/Textures/20/ag845343x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437412.jpg b/RWT_Cache/Textures/20/ag845343x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437413.jpg b/RWT_Cache/Textures/20/ag845343x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437414.jpg b/RWT_Cache/Textures/20/ag845343x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437415.jpg b/RWT_Cache/Textures/20/ag845343x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437416.jpg b/RWT_Cache/Textures/20/ag845343x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437417.jpg b/RWT_Cache/Textures/20/ag845343x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437418.jpg b/RWT_Cache/Textures/20/ag845343x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437419.jpg b/RWT_Cache/Textures/20/ag845343x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437420.jpg b/RWT_Cache/Textures/20/ag845343x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437421.jpg b/RWT_Cache/Textures/20/ag845343x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437422.jpg b/RWT_Cache/Textures/20/ag845343x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437423.jpg b/RWT_Cache/Textures/20/ag845343x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437424.jpg b/RWT_Cache/Textures/20/ag845343x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437425.jpg b/RWT_Cache/Textures/20/ag845343x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437426.jpg b/RWT_Cache/Textures/20/ag845343x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437427.jpg b/RWT_Cache/Textures/20/ag845343x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437428.jpg b/RWT_Cache/Textures/20/ag845343x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437429.jpg b/RWT_Cache/Textures/20/ag845343x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437430.jpg b/RWT_Cache/Textures/20/ag845343x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437431.jpg b/RWT_Cache/Textures/20/ag845343x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437432.jpg b/RWT_Cache/Textures/20/ag845343x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437433.jpg b/RWT_Cache/Textures/20/ag845343x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437434.jpg b/RWT_Cache/Textures/20/ag845343x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437435.jpg b/RWT_Cache/Textures/20/ag845343x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437436.jpg b/RWT_Cache/Textures/20/ag845343x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437437.jpg b/RWT_Cache/Textures/20/ag845343x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437438.jpg b/RWT_Cache/Textures/20/ag845343x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437439.jpg b/RWT_Cache/Textures/20/ag845343x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437440.jpg b/RWT_Cache/Textures/20/ag845343x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437441.jpg b/RWT_Cache/Textures/20/ag845343x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437442.jpg b/RWT_Cache/Textures/20/ag845343x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437443.jpg b/RWT_Cache/Textures/20/ag845343x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437444.jpg b/RWT_Cache/Textures/20/ag845343x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845343x437445.jpg b/RWT_Cache/Textures/20/ag845343x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845343x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437391.jpg b/RWT_Cache/Textures/20/ag845344x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437392.jpg b/RWT_Cache/Textures/20/ag845344x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437393.jpg b/RWT_Cache/Textures/20/ag845344x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437394.jpg b/RWT_Cache/Textures/20/ag845344x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437395.jpg b/RWT_Cache/Textures/20/ag845344x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437396.jpg b/RWT_Cache/Textures/20/ag845344x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437397.jpg b/RWT_Cache/Textures/20/ag845344x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437398.jpg b/RWT_Cache/Textures/20/ag845344x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437399.jpg b/RWT_Cache/Textures/20/ag845344x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437400.jpg b/RWT_Cache/Textures/20/ag845344x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437401.jpg b/RWT_Cache/Textures/20/ag845344x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437402.jpg b/RWT_Cache/Textures/20/ag845344x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437403.jpg b/RWT_Cache/Textures/20/ag845344x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437404.jpg b/RWT_Cache/Textures/20/ag845344x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437405.jpg b/RWT_Cache/Textures/20/ag845344x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437406.jpg b/RWT_Cache/Textures/20/ag845344x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437407.jpg b/RWT_Cache/Textures/20/ag845344x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437408.jpg b/RWT_Cache/Textures/20/ag845344x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437409.jpg b/RWT_Cache/Textures/20/ag845344x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437410.jpg b/RWT_Cache/Textures/20/ag845344x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437411.jpg b/RWT_Cache/Textures/20/ag845344x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437412.jpg b/RWT_Cache/Textures/20/ag845344x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437413.jpg b/RWT_Cache/Textures/20/ag845344x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437414.jpg b/RWT_Cache/Textures/20/ag845344x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437415.jpg b/RWT_Cache/Textures/20/ag845344x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437416.jpg b/RWT_Cache/Textures/20/ag845344x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437417.jpg b/RWT_Cache/Textures/20/ag845344x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437418.jpg b/RWT_Cache/Textures/20/ag845344x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437419.jpg b/RWT_Cache/Textures/20/ag845344x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437420.jpg b/RWT_Cache/Textures/20/ag845344x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437421.jpg b/RWT_Cache/Textures/20/ag845344x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437422.jpg b/RWT_Cache/Textures/20/ag845344x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437423.jpg b/RWT_Cache/Textures/20/ag845344x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437424.jpg b/RWT_Cache/Textures/20/ag845344x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437425.jpg b/RWT_Cache/Textures/20/ag845344x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437426.jpg b/RWT_Cache/Textures/20/ag845344x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437427.jpg b/RWT_Cache/Textures/20/ag845344x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437428.jpg b/RWT_Cache/Textures/20/ag845344x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437429.jpg b/RWT_Cache/Textures/20/ag845344x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437430.jpg b/RWT_Cache/Textures/20/ag845344x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437431.jpg b/RWT_Cache/Textures/20/ag845344x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437432.jpg b/RWT_Cache/Textures/20/ag845344x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437433.jpg b/RWT_Cache/Textures/20/ag845344x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437434.jpg b/RWT_Cache/Textures/20/ag845344x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437435.jpg b/RWT_Cache/Textures/20/ag845344x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437436.jpg b/RWT_Cache/Textures/20/ag845344x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437437.jpg b/RWT_Cache/Textures/20/ag845344x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437438.jpg b/RWT_Cache/Textures/20/ag845344x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437439.jpg b/RWT_Cache/Textures/20/ag845344x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437440.jpg b/RWT_Cache/Textures/20/ag845344x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437441.jpg b/RWT_Cache/Textures/20/ag845344x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437442.jpg b/RWT_Cache/Textures/20/ag845344x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437443.jpg b/RWT_Cache/Textures/20/ag845344x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437444.jpg b/RWT_Cache/Textures/20/ag845344x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845344x437445.jpg b/RWT_Cache/Textures/20/ag845344x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845344x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437391.jpg b/RWT_Cache/Textures/20/ag845345x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437392.jpg b/RWT_Cache/Textures/20/ag845345x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437393.jpg b/RWT_Cache/Textures/20/ag845345x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437394.jpg b/RWT_Cache/Textures/20/ag845345x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437395.jpg b/RWT_Cache/Textures/20/ag845345x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437396.jpg b/RWT_Cache/Textures/20/ag845345x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437397.jpg b/RWT_Cache/Textures/20/ag845345x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437398.jpg b/RWT_Cache/Textures/20/ag845345x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437399.jpg b/RWT_Cache/Textures/20/ag845345x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437400.jpg b/RWT_Cache/Textures/20/ag845345x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437401.jpg b/RWT_Cache/Textures/20/ag845345x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437402.jpg b/RWT_Cache/Textures/20/ag845345x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437403.jpg b/RWT_Cache/Textures/20/ag845345x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437404.jpg b/RWT_Cache/Textures/20/ag845345x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437405.jpg b/RWT_Cache/Textures/20/ag845345x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437406.jpg b/RWT_Cache/Textures/20/ag845345x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437407.jpg b/RWT_Cache/Textures/20/ag845345x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437408.jpg b/RWT_Cache/Textures/20/ag845345x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437409.jpg b/RWT_Cache/Textures/20/ag845345x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437410.jpg b/RWT_Cache/Textures/20/ag845345x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437411.jpg b/RWT_Cache/Textures/20/ag845345x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437412.jpg b/RWT_Cache/Textures/20/ag845345x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437413.jpg b/RWT_Cache/Textures/20/ag845345x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437414.jpg b/RWT_Cache/Textures/20/ag845345x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437415.jpg b/RWT_Cache/Textures/20/ag845345x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437416.jpg b/RWT_Cache/Textures/20/ag845345x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437417.jpg b/RWT_Cache/Textures/20/ag845345x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437418.jpg b/RWT_Cache/Textures/20/ag845345x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437419.jpg b/RWT_Cache/Textures/20/ag845345x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437420.jpg b/RWT_Cache/Textures/20/ag845345x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437421.jpg b/RWT_Cache/Textures/20/ag845345x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437422.jpg b/RWT_Cache/Textures/20/ag845345x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437423.jpg b/RWT_Cache/Textures/20/ag845345x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437424.jpg b/RWT_Cache/Textures/20/ag845345x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437425.jpg b/RWT_Cache/Textures/20/ag845345x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437426.jpg b/RWT_Cache/Textures/20/ag845345x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437427.jpg b/RWT_Cache/Textures/20/ag845345x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437428.jpg b/RWT_Cache/Textures/20/ag845345x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437429.jpg b/RWT_Cache/Textures/20/ag845345x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437430.jpg b/RWT_Cache/Textures/20/ag845345x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437431.jpg b/RWT_Cache/Textures/20/ag845345x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437432.jpg b/RWT_Cache/Textures/20/ag845345x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437433.jpg b/RWT_Cache/Textures/20/ag845345x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437434.jpg b/RWT_Cache/Textures/20/ag845345x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437435.jpg b/RWT_Cache/Textures/20/ag845345x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437436.jpg b/RWT_Cache/Textures/20/ag845345x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437437.jpg b/RWT_Cache/Textures/20/ag845345x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437438.jpg b/RWT_Cache/Textures/20/ag845345x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437439.jpg b/RWT_Cache/Textures/20/ag845345x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437440.jpg b/RWT_Cache/Textures/20/ag845345x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437441.jpg b/RWT_Cache/Textures/20/ag845345x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437442.jpg b/RWT_Cache/Textures/20/ag845345x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437443.jpg b/RWT_Cache/Textures/20/ag845345x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437444.jpg b/RWT_Cache/Textures/20/ag845345x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845345x437445.jpg b/RWT_Cache/Textures/20/ag845345x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845345x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437391.jpg b/RWT_Cache/Textures/20/ag845346x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437392.jpg b/RWT_Cache/Textures/20/ag845346x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437393.jpg b/RWT_Cache/Textures/20/ag845346x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437394.jpg b/RWT_Cache/Textures/20/ag845346x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437395.jpg b/RWT_Cache/Textures/20/ag845346x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437396.jpg b/RWT_Cache/Textures/20/ag845346x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437397.jpg b/RWT_Cache/Textures/20/ag845346x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437398.jpg b/RWT_Cache/Textures/20/ag845346x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437399.jpg b/RWT_Cache/Textures/20/ag845346x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437400.jpg b/RWT_Cache/Textures/20/ag845346x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437401.jpg b/RWT_Cache/Textures/20/ag845346x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437402.jpg b/RWT_Cache/Textures/20/ag845346x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437403.jpg b/RWT_Cache/Textures/20/ag845346x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437404.jpg b/RWT_Cache/Textures/20/ag845346x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437405.jpg b/RWT_Cache/Textures/20/ag845346x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437406.jpg b/RWT_Cache/Textures/20/ag845346x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437407.jpg b/RWT_Cache/Textures/20/ag845346x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437408.jpg b/RWT_Cache/Textures/20/ag845346x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437409.jpg b/RWT_Cache/Textures/20/ag845346x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437410.jpg b/RWT_Cache/Textures/20/ag845346x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437411.jpg b/RWT_Cache/Textures/20/ag845346x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437412.jpg b/RWT_Cache/Textures/20/ag845346x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437413.jpg b/RWT_Cache/Textures/20/ag845346x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437414.jpg b/RWT_Cache/Textures/20/ag845346x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437415.jpg b/RWT_Cache/Textures/20/ag845346x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437416.jpg b/RWT_Cache/Textures/20/ag845346x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437417.jpg b/RWT_Cache/Textures/20/ag845346x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437418.jpg b/RWT_Cache/Textures/20/ag845346x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437419.jpg b/RWT_Cache/Textures/20/ag845346x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437420.jpg b/RWT_Cache/Textures/20/ag845346x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437421.jpg b/RWT_Cache/Textures/20/ag845346x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437422.jpg b/RWT_Cache/Textures/20/ag845346x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437423.jpg b/RWT_Cache/Textures/20/ag845346x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437424.jpg b/RWT_Cache/Textures/20/ag845346x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437425.jpg b/RWT_Cache/Textures/20/ag845346x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437426.jpg b/RWT_Cache/Textures/20/ag845346x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437427.jpg b/RWT_Cache/Textures/20/ag845346x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437428.jpg b/RWT_Cache/Textures/20/ag845346x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437429.jpg b/RWT_Cache/Textures/20/ag845346x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437430.jpg b/RWT_Cache/Textures/20/ag845346x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437431.jpg b/RWT_Cache/Textures/20/ag845346x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437432.jpg b/RWT_Cache/Textures/20/ag845346x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437433.jpg b/RWT_Cache/Textures/20/ag845346x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437434.jpg b/RWT_Cache/Textures/20/ag845346x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437435.jpg b/RWT_Cache/Textures/20/ag845346x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437436.jpg b/RWT_Cache/Textures/20/ag845346x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437437.jpg b/RWT_Cache/Textures/20/ag845346x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437438.jpg b/RWT_Cache/Textures/20/ag845346x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437439.jpg b/RWT_Cache/Textures/20/ag845346x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437440.jpg b/RWT_Cache/Textures/20/ag845346x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437441.jpg b/RWT_Cache/Textures/20/ag845346x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437442.jpg b/RWT_Cache/Textures/20/ag845346x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437443.jpg b/RWT_Cache/Textures/20/ag845346x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437444.jpg b/RWT_Cache/Textures/20/ag845346x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845346x437445.jpg b/RWT_Cache/Textures/20/ag845346x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845346x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437391.jpg b/RWT_Cache/Textures/20/ag845347x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437392.jpg b/RWT_Cache/Textures/20/ag845347x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437393.jpg b/RWT_Cache/Textures/20/ag845347x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437394.jpg b/RWT_Cache/Textures/20/ag845347x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437395.jpg b/RWT_Cache/Textures/20/ag845347x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437396.jpg b/RWT_Cache/Textures/20/ag845347x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437397.jpg b/RWT_Cache/Textures/20/ag845347x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437398.jpg b/RWT_Cache/Textures/20/ag845347x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437399.jpg b/RWT_Cache/Textures/20/ag845347x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437400.jpg b/RWT_Cache/Textures/20/ag845347x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437401.jpg b/RWT_Cache/Textures/20/ag845347x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437402.jpg b/RWT_Cache/Textures/20/ag845347x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437403.jpg b/RWT_Cache/Textures/20/ag845347x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437404.jpg b/RWT_Cache/Textures/20/ag845347x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437405.jpg b/RWT_Cache/Textures/20/ag845347x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437406.jpg b/RWT_Cache/Textures/20/ag845347x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437407.jpg b/RWT_Cache/Textures/20/ag845347x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437408.jpg b/RWT_Cache/Textures/20/ag845347x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437409.jpg b/RWT_Cache/Textures/20/ag845347x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437410.jpg b/RWT_Cache/Textures/20/ag845347x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437411.jpg b/RWT_Cache/Textures/20/ag845347x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437412.jpg b/RWT_Cache/Textures/20/ag845347x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437413.jpg b/RWT_Cache/Textures/20/ag845347x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437414.jpg b/RWT_Cache/Textures/20/ag845347x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437415.jpg b/RWT_Cache/Textures/20/ag845347x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437416.jpg b/RWT_Cache/Textures/20/ag845347x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437417.jpg b/RWT_Cache/Textures/20/ag845347x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437418.jpg b/RWT_Cache/Textures/20/ag845347x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437419.jpg b/RWT_Cache/Textures/20/ag845347x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437420.jpg b/RWT_Cache/Textures/20/ag845347x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437421.jpg b/RWT_Cache/Textures/20/ag845347x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437422.jpg b/RWT_Cache/Textures/20/ag845347x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437423.jpg b/RWT_Cache/Textures/20/ag845347x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437424.jpg b/RWT_Cache/Textures/20/ag845347x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437425.jpg b/RWT_Cache/Textures/20/ag845347x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437426.jpg b/RWT_Cache/Textures/20/ag845347x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437427.jpg b/RWT_Cache/Textures/20/ag845347x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437428.jpg b/RWT_Cache/Textures/20/ag845347x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437429.jpg b/RWT_Cache/Textures/20/ag845347x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437430.jpg b/RWT_Cache/Textures/20/ag845347x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437431.jpg b/RWT_Cache/Textures/20/ag845347x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437432.jpg b/RWT_Cache/Textures/20/ag845347x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437433.jpg b/RWT_Cache/Textures/20/ag845347x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437434.jpg b/RWT_Cache/Textures/20/ag845347x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437435.jpg b/RWT_Cache/Textures/20/ag845347x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437436.jpg b/RWT_Cache/Textures/20/ag845347x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437437.jpg b/RWT_Cache/Textures/20/ag845347x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437438.jpg b/RWT_Cache/Textures/20/ag845347x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437439.jpg b/RWT_Cache/Textures/20/ag845347x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437440.jpg b/RWT_Cache/Textures/20/ag845347x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437441.jpg b/RWT_Cache/Textures/20/ag845347x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437442.jpg b/RWT_Cache/Textures/20/ag845347x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437443.jpg b/RWT_Cache/Textures/20/ag845347x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437444.jpg b/RWT_Cache/Textures/20/ag845347x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845347x437445.jpg b/RWT_Cache/Textures/20/ag845347x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845347x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437391.jpg b/RWT_Cache/Textures/20/ag845348x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437392.jpg b/RWT_Cache/Textures/20/ag845348x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437393.jpg b/RWT_Cache/Textures/20/ag845348x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437394.jpg b/RWT_Cache/Textures/20/ag845348x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437395.jpg b/RWT_Cache/Textures/20/ag845348x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437396.jpg b/RWT_Cache/Textures/20/ag845348x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437397.jpg b/RWT_Cache/Textures/20/ag845348x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437398.jpg b/RWT_Cache/Textures/20/ag845348x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437399.jpg b/RWT_Cache/Textures/20/ag845348x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437400.jpg b/RWT_Cache/Textures/20/ag845348x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437401.jpg b/RWT_Cache/Textures/20/ag845348x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437402.jpg b/RWT_Cache/Textures/20/ag845348x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437403.jpg b/RWT_Cache/Textures/20/ag845348x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437404.jpg b/RWT_Cache/Textures/20/ag845348x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437405.jpg b/RWT_Cache/Textures/20/ag845348x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437406.jpg b/RWT_Cache/Textures/20/ag845348x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437407.jpg b/RWT_Cache/Textures/20/ag845348x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437408.jpg b/RWT_Cache/Textures/20/ag845348x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437409.jpg b/RWT_Cache/Textures/20/ag845348x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437410.jpg b/RWT_Cache/Textures/20/ag845348x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437411.jpg b/RWT_Cache/Textures/20/ag845348x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437412.jpg b/RWT_Cache/Textures/20/ag845348x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437413.jpg b/RWT_Cache/Textures/20/ag845348x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437414.jpg b/RWT_Cache/Textures/20/ag845348x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437415.jpg b/RWT_Cache/Textures/20/ag845348x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437416.jpg b/RWT_Cache/Textures/20/ag845348x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437417.jpg b/RWT_Cache/Textures/20/ag845348x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437418.jpg b/RWT_Cache/Textures/20/ag845348x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437419.jpg b/RWT_Cache/Textures/20/ag845348x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437420.jpg b/RWT_Cache/Textures/20/ag845348x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437421.jpg b/RWT_Cache/Textures/20/ag845348x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437422.jpg b/RWT_Cache/Textures/20/ag845348x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437423.jpg b/RWT_Cache/Textures/20/ag845348x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437424.jpg b/RWT_Cache/Textures/20/ag845348x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437425.jpg b/RWT_Cache/Textures/20/ag845348x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437426.jpg b/RWT_Cache/Textures/20/ag845348x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437427.jpg b/RWT_Cache/Textures/20/ag845348x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437428.jpg b/RWT_Cache/Textures/20/ag845348x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437429.jpg b/RWT_Cache/Textures/20/ag845348x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437430.jpg b/RWT_Cache/Textures/20/ag845348x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437431.jpg b/RWT_Cache/Textures/20/ag845348x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437432.jpg b/RWT_Cache/Textures/20/ag845348x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437433.jpg b/RWT_Cache/Textures/20/ag845348x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437434.jpg b/RWT_Cache/Textures/20/ag845348x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437435.jpg b/RWT_Cache/Textures/20/ag845348x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437436.jpg b/RWT_Cache/Textures/20/ag845348x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437437.jpg b/RWT_Cache/Textures/20/ag845348x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437438.jpg b/RWT_Cache/Textures/20/ag845348x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437439.jpg b/RWT_Cache/Textures/20/ag845348x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437440.jpg b/RWT_Cache/Textures/20/ag845348x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437441.jpg b/RWT_Cache/Textures/20/ag845348x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437442.jpg b/RWT_Cache/Textures/20/ag845348x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437443.jpg b/RWT_Cache/Textures/20/ag845348x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437444.jpg b/RWT_Cache/Textures/20/ag845348x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845348x437445.jpg b/RWT_Cache/Textures/20/ag845348x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845348x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437391.jpg b/RWT_Cache/Textures/20/ag845349x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437392.jpg b/RWT_Cache/Textures/20/ag845349x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437393.jpg b/RWT_Cache/Textures/20/ag845349x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437394.jpg b/RWT_Cache/Textures/20/ag845349x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437395.jpg b/RWT_Cache/Textures/20/ag845349x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437396.jpg b/RWT_Cache/Textures/20/ag845349x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437397.jpg b/RWT_Cache/Textures/20/ag845349x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437398.jpg b/RWT_Cache/Textures/20/ag845349x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437399.jpg b/RWT_Cache/Textures/20/ag845349x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437400.jpg b/RWT_Cache/Textures/20/ag845349x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437401.jpg b/RWT_Cache/Textures/20/ag845349x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437402.jpg b/RWT_Cache/Textures/20/ag845349x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437403.jpg b/RWT_Cache/Textures/20/ag845349x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437404.jpg b/RWT_Cache/Textures/20/ag845349x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437405.jpg b/RWT_Cache/Textures/20/ag845349x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437406.jpg b/RWT_Cache/Textures/20/ag845349x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437407.jpg b/RWT_Cache/Textures/20/ag845349x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437408.jpg b/RWT_Cache/Textures/20/ag845349x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437409.jpg b/RWT_Cache/Textures/20/ag845349x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437410.jpg b/RWT_Cache/Textures/20/ag845349x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437411.jpg b/RWT_Cache/Textures/20/ag845349x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437412.jpg b/RWT_Cache/Textures/20/ag845349x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437413.jpg b/RWT_Cache/Textures/20/ag845349x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437414.jpg b/RWT_Cache/Textures/20/ag845349x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437415.jpg b/RWT_Cache/Textures/20/ag845349x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437416.jpg b/RWT_Cache/Textures/20/ag845349x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437417.jpg b/RWT_Cache/Textures/20/ag845349x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437418.jpg b/RWT_Cache/Textures/20/ag845349x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437419.jpg b/RWT_Cache/Textures/20/ag845349x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437420.jpg b/RWT_Cache/Textures/20/ag845349x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437421.jpg b/RWT_Cache/Textures/20/ag845349x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437422.jpg b/RWT_Cache/Textures/20/ag845349x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437423.jpg b/RWT_Cache/Textures/20/ag845349x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437424.jpg b/RWT_Cache/Textures/20/ag845349x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437425.jpg b/RWT_Cache/Textures/20/ag845349x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437426.jpg b/RWT_Cache/Textures/20/ag845349x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437427.jpg b/RWT_Cache/Textures/20/ag845349x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437428.jpg b/RWT_Cache/Textures/20/ag845349x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437429.jpg b/RWT_Cache/Textures/20/ag845349x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437430.jpg b/RWT_Cache/Textures/20/ag845349x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437431.jpg b/RWT_Cache/Textures/20/ag845349x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437432.jpg b/RWT_Cache/Textures/20/ag845349x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437433.jpg b/RWT_Cache/Textures/20/ag845349x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437434.jpg b/RWT_Cache/Textures/20/ag845349x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437435.jpg b/RWT_Cache/Textures/20/ag845349x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437436.jpg b/RWT_Cache/Textures/20/ag845349x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437437.jpg b/RWT_Cache/Textures/20/ag845349x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437438.jpg b/RWT_Cache/Textures/20/ag845349x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437439.jpg b/RWT_Cache/Textures/20/ag845349x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437440.jpg b/RWT_Cache/Textures/20/ag845349x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437441.jpg b/RWT_Cache/Textures/20/ag845349x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437442.jpg b/RWT_Cache/Textures/20/ag845349x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437443.jpg b/RWT_Cache/Textures/20/ag845349x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437444.jpg b/RWT_Cache/Textures/20/ag845349x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845349x437445.jpg b/RWT_Cache/Textures/20/ag845349x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845349x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437391.jpg b/RWT_Cache/Textures/20/ag845350x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437392.jpg b/RWT_Cache/Textures/20/ag845350x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437393.jpg b/RWT_Cache/Textures/20/ag845350x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437394.jpg b/RWT_Cache/Textures/20/ag845350x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437395.jpg b/RWT_Cache/Textures/20/ag845350x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437396.jpg b/RWT_Cache/Textures/20/ag845350x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437397.jpg b/RWT_Cache/Textures/20/ag845350x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437398.jpg b/RWT_Cache/Textures/20/ag845350x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437399.jpg b/RWT_Cache/Textures/20/ag845350x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437400.jpg b/RWT_Cache/Textures/20/ag845350x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437401.jpg b/RWT_Cache/Textures/20/ag845350x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437402.jpg b/RWT_Cache/Textures/20/ag845350x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437403.jpg b/RWT_Cache/Textures/20/ag845350x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437404.jpg b/RWT_Cache/Textures/20/ag845350x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437405.jpg b/RWT_Cache/Textures/20/ag845350x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437406.jpg b/RWT_Cache/Textures/20/ag845350x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437407.jpg b/RWT_Cache/Textures/20/ag845350x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437408.jpg b/RWT_Cache/Textures/20/ag845350x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437409.jpg b/RWT_Cache/Textures/20/ag845350x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437410.jpg b/RWT_Cache/Textures/20/ag845350x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437411.jpg b/RWT_Cache/Textures/20/ag845350x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437412.jpg b/RWT_Cache/Textures/20/ag845350x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437413.jpg b/RWT_Cache/Textures/20/ag845350x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437414.jpg b/RWT_Cache/Textures/20/ag845350x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437415.jpg b/RWT_Cache/Textures/20/ag845350x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437416.jpg b/RWT_Cache/Textures/20/ag845350x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437417.jpg b/RWT_Cache/Textures/20/ag845350x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437418.jpg b/RWT_Cache/Textures/20/ag845350x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437419.jpg b/RWT_Cache/Textures/20/ag845350x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437420.jpg b/RWT_Cache/Textures/20/ag845350x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437421.jpg b/RWT_Cache/Textures/20/ag845350x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437422.jpg b/RWT_Cache/Textures/20/ag845350x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437423.jpg b/RWT_Cache/Textures/20/ag845350x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437424.jpg b/RWT_Cache/Textures/20/ag845350x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437425.jpg b/RWT_Cache/Textures/20/ag845350x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437426.jpg b/RWT_Cache/Textures/20/ag845350x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437427.jpg b/RWT_Cache/Textures/20/ag845350x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437428.jpg b/RWT_Cache/Textures/20/ag845350x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437429.jpg b/RWT_Cache/Textures/20/ag845350x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437430.jpg b/RWT_Cache/Textures/20/ag845350x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437431.jpg b/RWT_Cache/Textures/20/ag845350x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437432.jpg b/RWT_Cache/Textures/20/ag845350x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437433.jpg b/RWT_Cache/Textures/20/ag845350x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437434.jpg b/RWT_Cache/Textures/20/ag845350x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437435.jpg b/RWT_Cache/Textures/20/ag845350x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437436.jpg b/RWT_Cache/Textures/20/ag845350x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437437.jpg b/RWT_Cache/Textures/20/ag845350x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437438.jpg b/RWT_Cache/Textures/20/ag845350x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437439.jpg b/RWT_Cache/Textures/20/ag845350x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437440.jpg b/RWT_Cache/Textures/20/ag845350x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437441.jpg b/RWT_Cache/Textures/20/ag845350x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437442.jpg b/RWT_Cache/Textures/20/ag845350x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437443.jpg b/RWT_Cache/Textures/20/ag845350x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437444.jpg b/RWT_Cache/Textures/20/ag845350x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845350x437445.jpg b/RWT_Cache/Textures/20/ag845350x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845350x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437391.jpg b/RWT_Cache/Textures/20/ag845351x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437392.jpg b/RWT_Cache/Textures/20/ag845351x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437393.jpg b/RWT_Cache/Textures/20/ag845351x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437394.jpg b/RWT_Cache/Textures/20/ag845351x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437395.jpg b/RWT_Cache/Textures/20/ag845351x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437396.jpg b/RWT_Cache/Textures/20/ag845351x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437397.jpg b/RWT_Cache/Textures/20/ag845351x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437398.jpg b/RWT_Cache/Textures/20/ag845351x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437399.jpg b/RWT_Cache/Textures/20/ag845351x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437400.jpg b/RWT_Cache/Textures/20/ag845351x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437401.jpg b/RWT_Cache/Textures/20/ag845351x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437402.jpg b/RWT_Cache/Textures/20/ag845351x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437403.jpg b/RWT_Cache/Textures/20/ag845351x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437404.jpg b/RWT_Cache/Textures/20/ag845351x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437405.jpg b/RWT_Cache/Textures/20/ag845351x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437406.jpg b/RWT_Cache/Textures/20/ag845351x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437407.jpg b/RWT_Cache/Textures/20/ag845351x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437408.jpg b/RWT_Cache/Textures/20/ag845351x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437409.jpg b/RWT_Cache/Textures/20/ag845351x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437410.jpg b/RWT_Cache/Textures/20/ag845351x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437411.jpg b/RWT_Cache/Textures/20/ag845351x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437412.jpg b/RWT_Cache/Textures/20/ag845351x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437413.jpg b/RWT_Cache/Textures/20/ag845351x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437414.jpg b/RWT_Cache/Textures/20/ag845351x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437415.jpg b/RWT_Cache/Textures/20/ag845351x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437416.jpg b/RWT_Cache/Textures/20/ag845351x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437417.jpg b/RWT_Cache/Textures/20/ag845351x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437418.jpg b/RWT_Cache/Textures/20/ag845351x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437419.jpg b/RWT_Cache/Textures/20/ag845351x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437420.jpg b/RWT_Cache/Textures/20/ag845351x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437421.jpg b/RWT_Cache/Textures/20/ag845351x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437422.jpg b/RWT_Cache/Textures/20/ag845351x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437423.jpg b/RWT_Cache/Textures/20/ag845351x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437424.jpg b/RWT_Cache/Textures/20/ag845351x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437425.jpg b/RWT_Cache/Textures/20/ag845351x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437426.jpg b/RWT_Cache/Textures/20/ag845351x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437427.jpg b/RWT_Cache/Textures/20/ag845351x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437428.jpg b/RWT_Cache/Textures/20/ag845351x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437429.jpg b/RWT_Cache/Textures/20/ag845351x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437430.jpg b/RWT_Cache/Textures/20/ag845351x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437431.jpg b/RWT_Cache/Textures/20/ag845351x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437432.jpg b/RWT_Cache/Textures/20/ag845351x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437433.jpg b/RWT_Cache/Textures/20/ag845351x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437434.jpg b/RWT_Cache/Textures/20/ag845351x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437435.jpg b/RWT_Cache/Textures/20/ag845351x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437436.jpg b/RWT_Cache/Textures/20/ag845351x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437437.jpg b/RWT_Cache/Textures/20/ag845351x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437438.jpg b/RWT_Cache/Textures/20/ag845351x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437439.jpg b/RWT_Cache/Textures/20/ag845351x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437440.jpg b/RWT_Cache/Textures/20/ag845351x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437441.jpg b/RWT_Cache/Textures/20/ag845351x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437442.jpg b/RWT_Cache/Textures/20/ag845351x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437443.jpg b/RWT_Cache/Textures/20/ag845351x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437444.jpg b/RWT_Cache/Textures/20/ag845351x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845351x437445.jpg b/RWT_Cache/Textures/20/ag845351x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845351x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437391.jpg b/RWT_Cache/Textures/20/ag845352x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437392.jpg b/RWT_Cache/Textures/20/ag845352x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437393.jpg b/RWT_Cache/Textures/20/ag845352x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437394.jpg b/RWT_Cache/Textures/20/ag845352x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437395.jpg b/RWT_Cache/Textures/20/ag845352x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437396.jpg b/RWT_Cache/Textures/20/ag845352x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437397.jpg b/RWT_Cache/Textures/20/ag845352x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437398.jpg b/RWT_Cache/Textures/20/ag845352x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437399.jpg b/RWT_Cache/Textures/20/ag845352x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437400.jpg b/RWT_Cache/Textures/20/ag845352x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437401.jpg b/RWT_Cache/Textures/20/ag845352x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437402.jpg b/RWT_Cache/Textures/20/ag845352x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437403.jpg b/RWT_Cache/Textures/20/ag845352x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437404.jpg b/RWT_Cache/Textures/20/ag845352x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437405.jpg b/RWT_Cache/Textures/20/ag845352x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437406.jpg b/RWT_Cache/Textures/20/ag845352x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437407.jpg b/RWT_Cache/Textures/20/ag845352x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437408.jpg b/RWT_Cache/Textures/20/ag845352x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437409.jpg b/RWT_Cache/Textures/20/ag845352x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437410.jpg b/RWT_Cache/Textures/20/ag845352x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437411.jpg b/RWT_Cache/Textures/20/ag845352x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437412.jpg b/RWT_Cache/Textures/20/ag845352x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437413.jpg b/RWT_Cache/Textures/20/ag845352x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437414.jpg b/RWT_Cache/Textures/20/ag845352x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437415.jpg b/RWT_Cache/Textures/20/ag845352x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437416.jpg b/RWT_Cache/Textures/20/ag845352x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437417.jpg b/RWT_Cache/Textures/20/ag845352x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437418.jpg b/RWT_Cache/Textures/20/ag845352x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437419.jpg b/RWT_Cache/Textures/20/ag845352x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437420.jpg b/RWT_Cache/Textures/20/ag845352x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437421.jpg b/RWT_Cache/Textures/20/ag845352x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437422.jpg b/RWT_Cache/Textures/20/ag845352x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437423.jpg b/RWT_Cache/Textures/20/ag845352x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437424.jpg b/RWT_Cache/Textures/20/ag845352x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437425.jpg b/RWT_Cache/Textures/20/ag845352x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437426.jpg b/RWT_Cache/Textures/20/ag845352x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437427.jpg b/RWT_Cache/Textures/20/ag845352x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437428.jpg b/RWT_Cache/Textures/20/ag845352x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437429.jpg b/RWT_Cache/Textures/20/ag845352x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437430.jpg b/RWT_Cache/Textures/20/ag845352x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437431.jpg b/RWT_Cache/Textures/20/ag845352x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437432.jpg b/RWT_Cache/Textures/20/ag845352x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437433.jpg b/RWT_Cache/Textures/20/ag845352x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437434.jpg b/RWT_Cache/Textures/20/ag845352x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437435.jpg b/RWT_Cache/Textures/20/ag845352x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437436.jpg b/RWT_Cache/Textures/20/ag845352x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437437.jpg b/RWT_Cache/Textures/20/ag845352x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437438.jpg b/RWT_Cache/Textures/20/ag845352x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437439.jpg b/RWT_Cache/Textures/20/ag845352x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437440.jpg b/RWT_Cache/Textures/20/ag845352x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437441.jpg b/RWT_Cache/Textures/20/ag845352x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437442.jpg b/RWT_Cache/Textures/20/ag845352x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437443.jpg b/RWT_Cache/Textures/20/ag845352x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437444.jpg b/RWT_Cache/Textures/20/ag845352x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845352x437445.jpg b/RWT_Cache/Textures/20/ag845352x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845352x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437391.jpg b/RWT_Cache/Textures/20/ag845353x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437392.jpg b/RWT_Cache/Textures/20/ag845353x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437393.jpg b/RWT_Cache/Textures/20/ag845353x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437394.jpg b/RWT_Cache/Textures/20/ag845353x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437395.jpg b/RWT_Cache/Textures/20/ag845353x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437396.jpg b/RWT_Cache/Textures/20/ag845353x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437397.jpg b/RWT_Cache/Textures/20/ag845353x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437398.jpg b/RWT_Cache/Textures/20/ag845353x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437399.jpg b/RWT_Cache/Textures/20/ag845353x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437400.jpg b/RWT_Cache/Textures/20/ag845353x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437401.jpg b/RWT_Cache/Textures/20/ag845353x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437402.jpg b/RWT_Cache/Textures/20/ag845353x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437403.jpg b/RWT_Cache/Textures/20/ag845353x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437404.jpg b/RWT_Cache/Textures/20/ag845353x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437405.jpg b/RWT_Cache/Textures/20/ag845353x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437406.jpg b/RWT_Cache/Textures/20/ag845353x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437407.jpg b/RWT_Cache/Textures/20/ag845353x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437408.jpg b/RWT_Cache/Textures/20/ag845353x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437409.jpg b/RWT_Cache/Textures/20/ag845353x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437410.jpg b/RWT_Cache/Textures/20/ag845353x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437411.jpg b/RWT_Cache/Textures/20/ag845353x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437412.jpg b/RWT_Cache/Textures/20/ag845353x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437413.jpg b/RWT_Cache/Textures/20/ag845353x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437414.jpg b/RWT_Cache/Textures/20/ag845353x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437415.jpg b/RWT_Cache/Textures/20/ag845353x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437416.jpg b/RWT_Cache/Textures/20/ag845353x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437417.jpg b/RWT_Cache/Textures/20/ag845353x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437418.jpg b/RWT_Cache/Textures/20/ag845353x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437419.jpg b/RWT_Cache/Textures/20/ag845353x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437420.jpg b/RWT_Cache/Textures/20/ag845353x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437421.jpg b/RWT_Cache/Textures/20/ag845353x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437422.jpg b/RWT_Cache/Textures/20/ag845353x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437423.jpg b/RWT_Cache/Textures/20/ag845353x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437424.jpg b/RWT_Cache/Textures/20/ag845353x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437425.jpg b/RWT_Cache/Textures/20/ag845353x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437426.jpg b/RWT_Cache/Textures/20/ag845353x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437427.jpg b/RWT_Cache/Textures/20/ag845353x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437428.jpg b/RWT_Cache/Textures/20/ag845353x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437429.jpg b/RWT_Cache/Textures/20/ag845353x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437430.jpg b/RWT_Cache/Textures/20/ag845353x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437431.jpg b/RWT_Cache/Textures/20/ag845353x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437432.jpg b/RWT_Cache/Textures/20/ag845353x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437433.jpg b/RWT_Cache/Textures/20/ag845353x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437434.jpg b/RWT_Cache/Textures/20/ag845353x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437435.jpg b/RWT_Cache/Textures/20/ag845353x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437436.jpg b/RWT_Cache/Textures/20/ag845353x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437437.jpg b/RWT_Cache/Textures/20/ag845353x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437438.jpg b/RWT_Cache/Textures/20/ag845353x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437439.jpg b/RWT_Cache/Textures/20/ag845353x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437440.jpg b/RWT_Cache/Textures/20/ag845353x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437441.jpg b/RWT_Cache/Textures/20/ag845353x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437442.jpg b/RWT_Cache/Textures/20/ag845353x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437443.jpg b/RWT_Cache/Textures/20/ag845353x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437444.jpg b/RWT_Cache/Textures/20/ag845353x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845353x437445.jpg b/RWT_Cache/Textures/20/ag845353x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845353x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437391.jpg b/RWT_Cache/Textures/20/ag845354x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437392.jpg b/RWT_Cache/Textures/20/ag845354x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437393.jpg b/RWT_Cache/Textures/20/ag845354x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437394.jpg b/RWT_Cache/Textures/20/ag845354x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437395.jpg b/RWT_Cache/Textures/20/ag845354x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437396.jpg b/RWT_Cache/Textures/20/ag845354x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437397.jpg b/RWT_Cache/Textures/20/ag845354x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437398.jpg b/RWT_Cache/Textures/20/ag845354x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437399.jpg b/RWT_Cache/Textures/20/ag845354x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437400.jpg b/RWT_Cache/Textures/20/ag845354x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437401.jpg b/RWT_Cache/Textures/20/ag845354x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437402.jpg b/RWT_Cache/Textures/20/ag845354x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437403.jpg b/RWT_Cache/Textures/20/ag845354x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437404.jpg b/RWT_Cache/Textures/20/ag845354x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437405.jpg b/RWT_Cache/Textures/20/ag845354x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437406.jpg b/RWT_Cache/Textures/20/ag845354x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437407.jpg b/RWT_Cache/Textures/20/ag845354x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437408.jpg b/RWT_Cache/Textures/20/ag845354x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437409.jpg b/RWT_Cache/Textures/20/ag845354x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437410.jpg b/RWT_Cache/Textures/20/ag845354x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437411.jpg b/RWT_Cache/Textures/20/ag845354x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437412.jpg b/RWT_Cache/Textures/20/ag845354x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437413.jpg b/RWT_Cache/Textures/20/ag845354x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437414.jpg b/RWT_Cache/Textures/20/ag845354x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437415.jpg b/RWT_Cache/Textures/20/ag845354x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437416.jpg b/RWT_Cache/Textures/20/ag845354x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437417.jpg b/RWT_Cache/Textures/20/ag845354x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437418.jpg b/RWT_Cache/Textures/20/ag845354x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437419.jpg b/RWT_Cache/Textures/20/ag845354x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437420.jpg b/RWT_Cache/Textures/20/ag845354x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437421.jpg b/RWT_Cache/Textures/20/ag845354x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437422.jpg b/RWT_Cache/Textures/20/ag845354x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437423.jpg b/RWT_Cache/Textures/20/ag845354x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437424.jpg b/RWT_Cache/Textures/20/ag845354x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437425.jpg b/RWT_Cache/Textures/20/ag845354x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437426.jpg b/RWT_Cache/Textures/20/ag845354x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437427.jpg b/RWT_Cache/Textures/20/ag845354x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437428.jpg b/RWT_Cache/Textures/20/ag845354x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437429.jpg b/RWT_Cache/Textures/20/ag845354x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437430.jpg b/RWT_Cache/Textures/20/ag845354x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437431.jpg b/RWT_Cache/Textures/20/ag845354x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437432.jpg b/RWT_Cache/Textures/20/ag845354x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437433.jpg b/RWT_Cache/Textures/20/ag845354x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437434.jpg b/RWT_Cache/Textures/20/ag845354x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437435.jpg b/RWT_Cache/Textures/20/ag845354x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437436.jpg b/RWT_Cache/Textures/20/ag845354x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437437.jpg b/RWT_Cache/Textures/20/ag845354x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437438.jpg b/RWT_Cache/Textures/20/ag845354x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437439.jpg b/RWT_Cache/Textures/20/ag845354x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437440.jpg b/RWT_Cache/Textures/20/ag845354x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437441.jpg b/RWT_Cache/Textures/20/ag845354x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437442.jpg b/RWT_Cache/Textures/20/ag845354x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437443.jpg b/RWT_Cache/Textures/20/ag845354x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437444.jpg b/RWT_Cache/Textures/20/ag845354x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845354x437445.jpg b/RWT_Cache/Textures/20/ag845354x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845354x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437391.jpg b/RWT_Cache/Textures/20/ag845355x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437392.jpg b/RWT_Cache/Textures/20/ag845355x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437393.jpg b/RWT_Cache/Textures/20/ag845355x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437394.jpg b/RWT_Cache/Textures/20/ag845355x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437395.jpg b/RWT_Cache/Textures/20/ag845355x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437396.jpg b/RWT_Cache/Textures/20/ag845355x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437397.jpg b/RWT_Cache/Textures/20/ag845355x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437398.jpg b/RWT_Cache/Textures/20/ag845355x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437399.jpg b/RWT_Cache/Textures/20/ag845355x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437400.jpg b/RWT_Cache/Textures/20/ag845355x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437401.jpg b/RWT_Cache/Textures/20/ag845355x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437402.jpg b/RWT_Cache/Textures/20/ag845355x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437403.jpg b/RWT_Cache/Textures/20/ag845355x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437404.jpg b/RWT_Cache/Textures/20/ag845355x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437405.jpg b/RWT_Cache/Textures/20/ag845355x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437406.jpg b/RWT_Cache/Textures/20/ag845355x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437407.jpg b/RWT_Cache/Textures/20/ag845355x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437408.jpg b/RWT_Cache/Textures/20/ag845355x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437409.jpg b/RWT_Cache/Textures/20/ag845355x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437410.jpg b/RWT_Cache/Textures/20/ag845355x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437411.jpg b/RWT_Cache/Textures/20/ag845355x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437412.jpg b/RWT_Cache/Textures/20/ag845355x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437413.jpg b/RWT_Cache/Textures/20/ag845355x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437414.jpg b/RWT_Cache/Textures/20/ag845355x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437415.jpg b/RWT_Cache/Textures/20/ag845355x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437416.jpg b/RWT_Cache/Textures/20/ag845355x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437417.jpg b/RWT_Cache/Textures/20/ag845355x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437418.jpg b/RWT_Cache/Textures/20/ag845355x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437419.jpg b/RWT_Cache/Textures/20/ag845355x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437420.jpg b/RWT_Cache/Textures/20/ag845355x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437421.jpg b/RWT_Cache/Textures/20/ag845355x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437422.jpg b/RWT_Cache/Textures/20/ag845355x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437423.jpg b/RWT_Cache/Textures/20/ag845355x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437424.jpg b/RWT_Cache/Textures/20/ag845355x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437425.jpg b/RWT_Cache/Textures/20/ag845355x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437426.jpg b/RWT_Cache/Textures/20/ag845355x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437427.jpg b/RWT_Cache/Textures/20/ag845355x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437428.jpg b/RWT_Cache/Textures/20/ag845355x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437429.jpg b/RWT_Cache/Textures/20/ag845355x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437430.jpg b/RWT_Cache/Textures/20/ag845355x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437431.jpg b/RWT_Cache/Textures/20/ag845355x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437432.jpg b/RWT_Cache/Textures/20/ag845355x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437433.jpg b/RWT_Cache/Textures/20/ag845355x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437434.jpg b/RWT_Cache/Textures/20/ag845355x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437435.jpg b/RWT_Cache/Textures/20/ag845355x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437436.jpg b/RWT_Cache/Textures/20/ag845355x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437437.jpg b/RWT_Cache/Textures/20/ag845355x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437438.jpg b/RWT_Cache/Textures/20/ag845355x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437439.jpg b/RWT_Cache/Textures/20/ag845355x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437440.jpg b/RWT_Cache/Textures/20/ag845355x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437441.jpg b/RWT_Cache/Textures/20/ag845355x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437442.jpg b/RWT_Cache/Textures/20/ag845355x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437443.jpg b/RWT_Cache/Textures/20/ag845355x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437444.jpg b/RWT_Cache/Textures/20/ag845355x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845355x437445.jpg b/RWT_Cache/Textures/20/ag845355x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845355x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437391.jpg b/RWT_Cache/Textures/20/ag845356x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437392.jpg b/RWT_Cache/Textures/20/ag845356x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437393.jpg b/RWT_Cache/Textures/20/ag845356x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437394.jpg b/RWT_Cache/Textures/20/ag845356x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437395.jpg b/RWT_Cache/Textures/20/ag845356x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437396.jpg b/RWT_Cache/Textures/20/ag845356x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437397.jpg b/RWT_Cache/Textures/20/ag845356x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437398.jpg b/RWT_Cache/Textures/20/ag845356x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437399.jpg b/RWT_Cache/Textures/20/ag845356x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437400.jpg b/RWT_Cache/Textures/20/ag845356x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437401.jpg b/RWT_Cache/Textures/20/ag845356x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437402.jpg b/RWT_Cache/Textures/20/ag845356x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437403.jpg b/RWT_Cache/Textures/20/ag845356x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437404.jpg b/RWT_Cache/Textures/20/ag845356x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437405.jpg b/RWT_Cache/Textures/20/ag845356x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437406.jpg b/RWT_Cache/Textures/20/ag845356x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437407.jpg b/RWT_Cache/Textures/20/ag845356x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437408.jpg b/RWT_Cache/Textures/20/ag845356x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437409.jpg b/RWT_Cache/Textures/20/ag845356x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437410.jpg b/RWT_Cache/Textures/20/ag845356x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437411.jpg b/RWT_Cache/Textures/20/ag845356x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437412.jpg b/RWT_Cache/Textures/20/ag845356x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437413.jpg b/RWT_Cache/Textures/20/ag845356x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437414.jpg b/RWT_Cache/Textures/20/ag845356x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437415.jpg b/RWT_Cache/Textures/20/ag845356x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437416.jpg b/RWT_Cache/Textures/20/ag845356x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437417.jpg b/RWT_Cache/Textures/20/ag845356x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437418.jpg b/RWT_Cache/Textures/20/ag845356x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437419.jpg b/RWT_Cache/Textures/20/ag845356x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437420.jpg b/RWT_Cache/Textures/20/ag845356x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437421.jpg b/RWT_Cache/Textures/20/ag845356x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437422.jpg b/RWT_Cache/Textures/20/ag845356x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437423.jpg b/RWT_Cache/Textures/20/ag845356x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437424.jpg b/RWT_Cache/Textures/20/ag845356x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437425.jpg b/RWT_Cache/Textures/20/ag845356x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437426.jpg b/RWT_Cache/Textures/20/ag845356x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437427.jpg b/RWT_Cache/Textures/20/ag845356x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437428.jpg b/RWT_Cache/Textures/20/ag845356x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437429.jpg b/RWT_Cache/Textures/20/ag845356x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437430.jpg b/RWT_Cache/Textures/20/ag845356x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437431.jpg b/RWT_Cache/Textures/20/ag845356x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437432.jpg b/RWT_Cache/Textures/20/ag845356x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437433.jpg b/RWT_Cache/Textures/20/ag845356x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437434.jpg b/RWT_Cache/Textures/20/ag845356x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437435.jpg b/RWT_Cache/Textures/20/ag845356x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437436.jpg b/RWT_Cache/Textures/20/ag845356x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437437.jpg b/RWT_Cache/Textures/20/ag845356x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437438.jpg b/RWT_Cache/Textures/20/ag845356x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437439.jpg b/RWT_Cache/Textures/20/ag845356x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437440.jpg b/RWT_Cache/Textures/20/ag845356x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437441.jpg b/RWT_Cache/Textures/20/ag845356x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437442.jpg b/RWT_Cache/Textures/20/ag845356x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437443.jpg b/RWT_Cache/Textures/20/ag845356x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437444.jpg b/RWT_Cache/Textures/20/ag845356x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845356x437445.jpg b/RWT_Cache/Textures/20/ag845356x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845356x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437391.jpg b/RWT_Cache/Textures/20/ag845357x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437392.jpg b/RWT_Cache/Textures/20/ag845357x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437393.jpg b/RWT_Cache/Textures/20/ag845357x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437394.jpg b/RWT_Cache/Textures/20/ag845357x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437395.jpg b/RWT_Cache/Textures/20/ag845357x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437396.jpg b/RWT_Cache/Textures/20/ag845357x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437397.jpg b/RWT_Cache/Textures/20/ag845357x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437398.jpg b/RWT_Cache/Textures/20/ag845357x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437399.jpg b/RWT_Cache/Textures/20/ag845357x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437400.jpg b/RWT_Cache/Textures/20/ag845357x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437401.jpg b/RWT_Cache/Textures/20/ag845357x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437402.jpg b/RWT_Cache/Textures/20/ag845357x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437403.jpg b/RWT_Cache/Textures/20/ag845357x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437404.jpg b/RWT_Cache/Textures/20/ag845357x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437405.jpg b/RWT_Cache/Textures/20/ag845357x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437406.jpg b/RWT_Cache/Textures/20/ag845357x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437407.jpg b/RWT_Cache/Textures/20/ag845357x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437408.jpg b/RWT_Cache/Textures/20/ag845357x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437409.jpg b/RWT_Cache/Textures/20/ag845357x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437410.jpg b/RWT_Cache/Textures/20/ag845357x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437411.jpg b/RWT_Cache/Textures/20/ag845357x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437412.jpg b/RWT_Cache/Textures/20/ag845357x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437413.jpg b/RWT_Cache/Textures/20/ag845357x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437414.jpg b/RWT_Cache/Textures/20/ag845357x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437415.jpg b/RWT_Cache/Textures/20/ag845357x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437416.jpg b/RWT_Cache/Textures/20/ag845357x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437417.jpg b/RWT_Cache/Textures/20/ag845357x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437418.jpg b/RWT_Cache/Textures/20/ag845357x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437419.jpg b/RWT_Cache/Textures/20/ag845357x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437420.jpg b/RWT_Cache/Textures/20/ag845357x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437421.jpg b/RWT_Cache/Textures/20/ag845357x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437422.jpg b/RWT_Cache/Textures/20/ag845357x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437423.jpg b/RWT_Cache/Textures/20/ag845357x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437424.jpg b/RWT_Cache/Textures/20/ag845357x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437425.jpg b/RWT_Cache/Textures/20/ag845357x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437426.jpg b/RWT_Cache/Textures/20/ag845357x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437427.jpg b/RWT_Cache/Textures/20/ag845357x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437428.jpg b/RWT_Cache/Textures/20/ag845357x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437429.jpg b/RWT_Cache/Textures/20/ag845357x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437430.jpg b/RWT_Cache/Textures/20/ag845357x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437431.jpg b/RWT_Cache/Textures/20/ag845357x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437432.jpg b/RWT_Cache/Textures/20/ag845357x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437433.jpg b/RWT_Cache/Textures/20/ag845357x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437434.jpg b/RWT_Cache/Textures/20/ag845357x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437435.jpg b/RWT_Cache/Textures/20/ag845357x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437436.jpg b/RWT_Cache/Textures/20/ag845357x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437437.jpg b/RWT_Cache/Textures/20/ag845357x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437438.jpg b/RWT_Cache/Textures/20/ag845357x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437439.jpg b/RWT_Cache/Textures/20/ag845357x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437440.jpg b/RWT_Cache/Textures/20/ag845357x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437441.jpg b/RWT_Cache/Textures/20/ag845357x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437442.jpg b/RWT_Cache/Textures/20/ag845357x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437443.jpg b/RWT_Cache/Textures/20/ag845357x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437444.jpg b/RWT_Cache/Textures/20/ag845357x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845357x437445.jpg b/RWT_Cache/Textures/20/ag845357x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845357x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437391.jpg b/RWT_Cache/Textures/20/ag845358x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437392.jpg b/RWT_Cache/Textures/20/ag845358x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437393.jpg b/RWT_Cache/Textures/20/ag845358x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437394.jpg b/RWT_Cache/Textures/20/ag845358x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437395.jpg b/RWT_Cache/Textures/20/ag845358x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437396.jpg b/RWT_Cache/Textures/20/ag845358x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437397.jpg b/RWT_Cache/Textures/20/ag845358x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437398.jpg b/RWT_Cache/Textures/20/ag845358x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437399.jpg b/RWT_Cache/Textures/20/ag845358x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437400.jpg b/RWT_Cache/Textures/20/ag845358x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437401.jpg b/RWT_Cache/Textures/20/ag845358x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437402.jpg b/RWT_Cache/Textures/20/ag845358x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437403.jpg b/RWT_Cache/Textures/20/ag845358x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437404.jpg b/RWT_Cache/Textures/20/ag845358x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437405.jpg b/RWT_Cache/Textures/20/ag845358x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437406.jpg b/RWT_Cache/Textures/20/ag845358x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437407.jpg b/RWT_Cache/Textures/20/ag845358x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437408.jpg b/RWT_Cache/Textures/20/ag845358x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437409.jpg b/RWT_Cache/Textures/20/ag845358x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437410.jpg b/RWT_Cache/Textures/20/ag845358x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437411.jpg b/RWT_Cache/Textures/20/ag845358x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437412.jpg b/RWT_Cache/Textures/20/ag845358x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437413.jpg b/RWT_Cache/Textures/20/ag845358x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437414.jpg b/RWT_Cache/Textures/20/ag845358x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437415.jpg b/RWT_Cache/Textures/20/ag845358x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437416.jpg b/RWT_Cache/Textures/20/ag845358x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437417.jpg b/RWT_Cache/Textures/20/ag845358x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437418.jpg b/RWT_Cache/Textures/20/ag845358x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437419.jpg b/RWT_Cache/Textures/20/ag845358x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437420.jpg b/RWT_Cache/Textures/20/ag845358x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437421.jpg b/RWT_Cache/Textures/20/ag845358x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437422.jpg b/RWT_Cache/Textures/20/ag845358x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437423.jpg b/RWT_Cache/Textures/20/ag845358x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437424.jpg b/RWT_Cache/Textures/20/ag845358x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437425.jpg b/RWT_Cache/Textures/20/ag845358x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437426.jpg b/RWT_Cache/Textures/20/ag845358x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437427.jpg b/RWT_Cache/Textures/20/ag845358x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437428.jpg b/RWT_Cache/Textures/20/ag845358x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437429.jpg b/RWT_Cache/Textures/20/ag845358x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437430.jpg b/RWT_Cache/Textures/20/ag845358x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437431.jpg b/RWT_Cache/Textures/20/ag845358x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437432.jpg b/RWT_Cache/Textures/20/ag845358x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437433.jpg b/RWT_Cache/Textures/20/ag845358x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437434.jpg b/RWT_Cache/Textures/20/ag845358x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437435.jpg b/RWT_Cache/Textures/20/ag845358x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437436.jpg b/RWT_Cache/Textures/20/ag845358x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437437.jpg b/RWT_Cache/Textures/20/ag845358x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437438.jpg b/RWT_Cache/Textures/20/ag845358x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437439.jpg b/RWT_Cache/Textures/20/ag845358x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437440.jpg b/RWT_Cache/Textures/20/ag845358x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437441.jpg b/RWT_Cache/Textures/20/ag845358x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437442.jpg b/RWT_Cache/Textures/20/ag845358x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437443.jpg b/RWT_Cache/Textures/20/ag845358x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437444.jpg b/RWT_Cache/Textures/20/ag845358x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845358x437445.jpg b/RWT_Cache/Textures/20/ag845358x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845358x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437391.jpg b/RWT_Cache/Textures/20/ag845359x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437392.jpg b/RWT_Cache/Textures/20/ag845359x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437393.jpg b/RWT_Cache/Textures/20/ag845359x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437394.jpg b/RWT_Cache/Textures/20/ag845359x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437395.jpg b/RWT_Cache/Textures/20/ag845359x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437396.jpg b/RWT_Cache/Textures/20/ag845359x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437397.jpg b/RWT_Cache/Textures/20/ag845359x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437398.jpg b/RWT_Cache/Textures/20/ag845359x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437399.jpg b/RWT_Cache/Textures/20/ag845359x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437400.jpg b/RWT_Cache/Textures/20/ag845359x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437401.jpg b/RWT_Cache/Textures/20/ag845359x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437402.jpg b/RWT_Cache/Textures/20/ag845359x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437403.jpg b/RWT_Cache/Textures/20/ag845359x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437404.jpg b/RWT_Cache/Textures/20/ag845359x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437405.jpg b/RWT_Cache/Textures/20/ag845359x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437406.jpg b/RWT_Cache/Textures/20/ag845359x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437407.jpg b/RWT_Cache/Textures/20/ag845359x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437408.jpg b/RWT_Cache/Textures/20/ag845359x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437409.jpg b/RWT_Cache/Textures/20/ag845359x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437410.jpg b/RWT_Cache/Textures/20/ag845359x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437411.jpg b/RWT_Cache/Textures/20/ag845359x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437412.jpg b/RWT_Cache/Textures/20/ag845359x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437413.jpg b/RWT_Cache/Textures/20/ag845359x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437414.jpg b/RWT_Cache/Textures/20/ag845359x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437415.jpg b/RWT_Cache/Textures/20/ag845359x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437416.jpg b/RWT_Cache/Textures/20/ag845359x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437417.jpg b/RWT_Cache/Textures/20/ag845359x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437418.jpg b/RWT_Cache/Textures/20/ag845359x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437419.jpg b/RWT_Cache/Textures/20/ag845359x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437420.jpg b/RWT_Cache/Textures/20/ag845359x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437421.jpg b/RWT_Cache/Textures/20/ag845359x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437422.jpg b/RWT_Cache/Textures/20/ag845359x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437423.jpg b/RWT_Cache/Textures/20/ag845359x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437424.jpg b/RWT_Cache/Textures/20/ag845359x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437425.jpg b/RWT_Cache/Textures/20/ag845359x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437426.jpg b/RWT_Cache/Textures/20/ag845359x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437427.jpg b/RWT_Cache/Textures/20/ag845359x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437428.jpg b/RWT_Cache/Textures/20/ag845359x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437429.jpg b/RWT_Cache/Textures/20/ag845359x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437430.jpg b/RWT_Cache/Textures/20/ag845359x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437431.jpg b/RWT_Cache/Textures/20/ag845359x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437432.jpg b/RWT_Cache/Textures/20/ag845359x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437433.jpg b/RWT_Cache/Textures/20/ag845359x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437434.jpg b/RWT_Cache/Textures/20/ag845359x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437435.jpg b/RWT_Cache/Textures/20/ag845359x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437436.jpg b/RWT_Cache/Textures/20/ag845359x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437437.jpg b/RWT_Cache/Textures/20/ag845359x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437438.jpg b/RWT_Cache/Textures/20/ag845359x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437439.jpg b/RWT_Cache/Textures/20/ag845359x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437440.jpg b/RWT_Cache/Textures/20/ag845359x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437441.jpg b/RWT_Cache/Textures/20/ag845359x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437442.jpg b/RWT_Cache/Textures/20/ag845359x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437443.jpg b/RWT_Cache/Textures/20/ag845359x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437444.jpg b/RWT_Cache/Textures/20/ag845359x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845359x437445.jpg b/RWT_Cache/Textures/20/ag845359x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845359x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437391.jpg b/RWT_Cache/Textures/20/ag845360x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437392.jpg b/RWT_Cache/Textures/20/ag845360x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437393.jpg b/RWT_Cache/Textures/20/ag845360x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437394.jpg b/RWT_Cache/Textures/20/ag845360x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437395.jpg b/RWT_Cache/Textures/20/ag845360x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437396.jpg b/RWT_Cache/Textures/20/ag845360x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437397.jpg b/RWT_Cache/Textures/20/ag845360x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437398.jpg b/RWT_Cache/Textures/20/ag845360x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437399.jpg b/RWT_Cache/Textures/20/ag845360x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437400.jpg b/RWT_Cache/Textures/20/ag845360x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437401.jpg b/RWT_Cache/Textures/20/ag845360x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437402.jpg b/RWT_Cache/Textures/20/ag845360x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437403.jpg b/RWT_Cache/Textures/20/ag845360x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437404.jpg b/RWT_Cache/Textures/20/ag845360x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437405.jpg b/RWT_Cache/Textures/20/ag845360x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437406.jpg b/RWT_Cache/Textures/20/ag845360x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437407.jpg b/RWT_Cache/Textures/20/ag845360x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437408.jpg b/RWT_Cache/Textures/20/ag845360x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437409.jpg b/RWT_Cache/Textures/20/ag845360x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437410.jpg b/RWT_Cache/Textures/20/ag845360x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437411.jpg b/RWT_Cache/Textures/20/ag845360x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437412.jpg b/RWT_Cache/Textures/20/ag845360x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437413.jpg b/RWT_Cache/Textures/20/ag845360x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437414.jpg b/RWT_Cache/Textures/20/ag845360x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437415.jpg b/RWT_Cache/Textures/20/ag845360x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437416.jpg b/RWT_Cache/Textures/20/ag845360x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437417.jpg b/RWT_Cache/Textures/20/ag845360x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437418.jpg b/RWT_Cache/Textures/20/ag845360x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437419.jpg b/RWT_Cache/Textures/20/ag845360x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437420.jpg b/RWT_Cache/Textures/20/ag845360x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437421.jpg b/RWT_Cache/Textures/20/ag845360x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437422.jpg b/RWT_Cache/Textures/20/ag845360x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437423.jpg b/RWT_Cache/Textures/20/ag845360x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437424.jpg b/RWT_Cache/Textures/20/ag845360x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437425.jpg b/RWT_Cache/Textures/20/ag845360x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437426.jpg b/RWT_Cache/Textures/20/ag845360x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437427.jpg b/RWT_Cache/Textures/20/ag845360x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437428.jpg b/RWT_Cache/Textures/20/ag845360x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437429.jpg b/RWT_Cache/Textures/20/ag845360x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437430.jpg b/RWT_Cache/Textures/20/ag845360x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437431.jpg b/RWT_Cache/Textures/20/ag845360x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437432.jpg b/RWT_Cache/Textures/20/ag845360x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437433.jpg b/RWT_Cache/Textures/20/ag845360x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437434.jpg b/RWT_Cache/Textures/20/ag845360x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437435.jpg b/RWT_Cache/Textures/20/ag845360x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437436.jpg b/RWT_Cache/Textures/20/ag845360x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437437.jpg b/RWT_Cache/Textures/20/ag845360x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437438.jpg b/RWT_Cache/Textures/20/ag845360x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437439.jpg b/RWT_Cache/Textures/20/ag845360x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437440.jpg b/RWT_Cache/Textures/20/ag845360x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437441.jpg b/RWT_Cache/Textures/20/ag845360x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437442.jpg b/RWT_Cache/Textures/20/ag845360x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437443.jpg b/RWT_Cache/Textures/20/ag845360x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437444.jpg b/RWT_Cache/Textures/20/ag845360x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845360x437445.jpg b/RWT_Cache/Textures/20/ag845360x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845360x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437391.jpg b/RWT_Cache/Textures/20/ag845361x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437392.jpg b/RWT_Cache/Textures/20/ag845361x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437393.jpg b/RWT_Cache/Textures/20/ag845361x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437394.jpg b/RWT_Cache/Textures/20/ag845361x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437395.jpg b/RWT_Cache/Textures/20/ag845361x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437396.jpg b/RWT_Cache/Textures/20/ag845361x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437397.jpg b/RWT_Cache/Textures/20/ag845361x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437398.jpg b/RWT_Cache/Textures/20/ag845361x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437399.jpg b/RWT_Cache/Textures/20/ag845361x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437400.jpg b/RWT_Cache/Textures/20/ag845361x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437401.jpg b/RWT_Cache/Textures/20/ag845361x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437402.jpg b/RWT_Cache/Textures/20/ag845361x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437403.jpg b/RWT_Cache/Textures/20/ag845361x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437404.jpg b/RWT_Cache/Textures/20/ag845361x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437405.jpg b/RWT_Cache/Textures/20/ag845361x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437406.jpg b/RWT_Cache/Textures/20/ag845361x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437407.jpg b/RWT_Cache/Textures/20/ag845361x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437408.jpg b/RWT_Cache/Textures/20/ag845361x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437409.jpg b/RWT_Cache/Textures/20/ag845361x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437410.jpg b/RWT_Cache/Textures/20/ag845361x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437411.jpg b/RWT_Cache/Textures/20/ag845361x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437412.jpg b/RWT_Cache/Textures/20/ag845361x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437413.jpg b/RWT_Cache/Textures/20/ag845361x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437414.jpg b/RWT_Cache/Textures/20/ag845361x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437415.jpg b/RWT_Cache/Textures/20/ag845361x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437416.jpg b/RWT_Cache/Textures/20/ag845361x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437417.jpg b/RWT_Cache/Textures/20/ag845361x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437418.jpg b/RWT_Cache/Textures/20/ag845361x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437419.jpg b/RWT_Cache/Textures/20/ag845361x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437420.jpg b/RWT_Cache/Textures/20/ag845361x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437421.jpg b/RWT_Cache/Textures/20/ag845361x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437422.jpg b/RWT_Cache/Textures/20/ag845361x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437423.jpg b/RWT_Cache/Textures/20/ag845361x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437424.jpg b/RWT_Cache/Textures/20/ag845361x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437425.jpg b/RWT_Cache/Textures/20/ag845361x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437426.jpg b/RWT_Cache/Textures/20/ag845361x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437427.jpg b/RWT_Cache/Textures/20/ag845361x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437428.jpg b/RWT_Cache/Textures/20/ag845361x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437429.jpg b/RWT_Cache/Textures/20/ag845361x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437430.jpg b/RWT_Cache/Textures/20/ag845361x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437431.jpg b/RWT_Cache/Textures/20/ag845361x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437432.jpg b/RWT_Cache/Textures/20/ag845361x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437433.jpg b/RWT_Cache/Textures/20/ag845361x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437434.jpg b/RWT_Cache/Textures/20/ag845361x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437435.jpg b/RWT_Cache/Textures/20/ag845361x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437436.jpg b/RWT_Cache/Textures/20/ag845361x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437437.jpg b/RWT_Cache/Textures/20/ag845361x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437438.jpg b/RWT_Cache/Textures/20/ag845361x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437439.jpg b/RWT_Cache/Textures/20/ag845361x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437440.jpg b/RWT_Cache/Textures/20/ag845361x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437441.jpg b/RWT_Cache/Textures/20/ag845361x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437442.jpg b/RWT_Cache/Textures/20/ag845361x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437443.jpg b/RWT_Cache/Textures/20/ag845361x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437444.jpg b/RWT_Cache/Textures/20/ag845361x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845361x437445.jpg b/RWT_Cache/Textures/20/ag845361x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845361x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437391.jpg b/RWT_Cache/Textures/20/ag845362x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437392.jpg b/RWT_Cache/Textures/20/ag845362x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437393.jpg b/RWT_Cache/Textures/20/ag845362x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437394.jpg b/RWT_Cache/Textures/20/ag845362x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437395.jpg b/RWT_Cache/Textures/20/ag845362x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437396.jpg b/RWT_Cache/Textures/20/ag845362x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437397.jpg b/RWT_Cache/Textures/20/ag845362x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437398.jpg b/RWT_Cache/Textures/20/ag845362x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437399.jpg b/RWT_Cache/Textures/20/ag845362x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437400.jpg b/RWT_Cache/Textures/20/ag845362x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437401.jpg b/RWT_Cache/Textures/20/ag845362x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437402.jpg b/RWT_Cache/Textures/20/ag845362x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437403.jpg b/RWT_Cache/Textures/20/ag845362x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437404.jpg b/RWT_Cache/Textures/20/ag845362x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437405.jpg b/RWT_Cache/Textures/20/ag845362x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437406.jpg b/RWT_Cache/Textures/20/ag845362x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437407.jpg b/RWT_Cache/Textures/20/ag845362x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437408.jpg b/RWT_Cache/Textures/20/ag845362x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437409.jpg b/RWT_Cache/Textures/20/ag845362x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437410.jpg b/RWT_Cache/Textures/20/ag845362x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437411.jpg b/RWT_Cache/Textures/20/ag845362x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437412.jpg b/RWT_Cache/Textures/20/ag845362x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437413.jpg b/RWT_Cache/Textures/20/ag845362x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437414.jpg b/RWT_Cache/Textures/20/ag845362x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437415.jpg b/RWT_Cache/Textures/20/ag845362x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437416.jpg b/RWT_Cache/Textures/20/ag845362x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437417.jpg b/RWT_Cache/Textures/20/ag845362x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437418.jpg b/RWT_Cache/Textures/20/ag845362x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437419.jpg b/RWT_Cache/Textures/20/ag845362x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437420.jpg b/RWT_Cache/Textures/20/ag845362x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437421.jpg b/RWT_Cache/Textures/20/ag845362x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437422.jpg b/RWT_Cache/Textures/20/ag845362x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437423.jpg b/RWT_Cache/Textures/20/ag845362x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437424.jpg b/RWT_Cache/Textures/20/ag845362x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437425.jpg b/RWT_Cache/Textures/20/ag845362x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437426.jpg b/RWT_Cache/Textures/20/ag845362x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437427.jpg b/RWT_Cache/Textures/20/ag845362x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437428.jpg b/RWT_Cache/Textures/20/ag845362x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437429.jpg b/RWT_Cache/Textures/20/ag845362x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437430.jpg b/RWT_Cache/Textures/20/ag845362x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437431.jpg b/RWT_Cache/Textures/20/ag845362x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437432.jpg b/RWT_Cache/Textures/20/ag845362x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437433.jpg b/RWT_Cache/Textures/20/ag845362x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437434.jpg b/RWT_Cache/Textures/20/ag845362x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437435.jpg b/RWT_Cache/Textures/20/ag845362x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437436.jpg b/RWT_Cache/Textures/20/ag845362x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437437.jpg b/RWT_Cache/Textures/20/ag845362x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437438.jpg b/RWT_Cache/Textures/20/ag845362x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437439.jpg b/RWT_Cache/Textures/20/ag845362x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437440.jpg b/RWT_Cache/Textures/20/ag845362x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437441.jpg b/RWT_Cache/Textures/20/ag845362x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437442.jpg b/RWT_Cache/Textures/20/ag845362x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437443.jpg b/RWT_Cache/Textures/20/ag845362x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437444.jpg b/RWT_Cache/Textures/20/ag845362x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845362x437445.jpg b/RWT_Cache/Textures/20/ag845362x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845362x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437391.jpg b/RWT_Cache/Textures/20/ag845363x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437392.jpg b/RWT_Cache/Textures/20/ag845363x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437393.jpg b/RWT_Cache/Textures/20/ag845363x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437394.jpg b/RWT_Cache/Textures/20/ag845363x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437395.jpg b/RWT_Cache/Textures/20/ag845363x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437396.jpg b/RWT_Cache/Textures/20/ag845363x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437397.jpg b/RWT_Cache/Textures/20/ag845363x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437398.jpg b/RWT_Cache/Textures/20/ag845363x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437399.jpg b/RWT_Cache/Textures/20/ag845363x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437400.jpg b/RWT_Cache/Textures/20/ag845363x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437401.jpg b/RWT_Cache/Textures/20/ag845363x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437402.jpg b/RWT_Cache/Textures/20/ag845363x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437403.jpg b/RWT_Cache/Textures/20/ag845363x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437404.jpg b/RWT_Cache/Textures/20/ag845363x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437405.jpg b/RWT_Cache/Textures/20/ag845363x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437406.jpg b/RWT_Cache/Textures/20/ag845363x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437407.jpg b/RWT_Cache/Textures/20/ag845363x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437408.jpg b/RWT_Cache/Textures/20/ag845363x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437409.jpg b/RWT_Cache/Textures/20/ag845363x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437410.jpg b/RWT_Cache/Textures/20/ag845363x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437411.jpg b/RWT_Cache/Textures/20/ag845363x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437412.jpg b/RWT_Cache/Textures/20/ag845363x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437413.jpg b/RWT_Cache/Textures/20/ag845363x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437414.jpg b/RWT_Cache/Textures/20/ag845363x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437415.jpg b/RWT_Cache/Textures/20/ag845363x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437416.jpg b/RWT_Cache/Textures/20/ag845363x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437417.jpg b/RWT_Cache/Textures/20/ag845363x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437418.jpg b/RWT_Cache/Textures/20/ag845363x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437419.jpg b/RWT_Cache/Textures/20/ag845363x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437420.jpg b/RWT_Cache/Textures/20/ag845363x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437421.jpg b/RWT_Cache/Textures/20/ag845363x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437422.jpg b/RWT_Cache/Textures/20/ag845363x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437423.jpg b/RWT_Cache/Textures/20/ag845363x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437424.jpg b/RWT_Cache/Textures/20/ag845363x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437425.jpg b/RWT_Cache/Textures/20/ag845363x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437426.jpg b/RWT_Cache/Textures/20/ag845363x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437427.jpg b/RWT_Cache/Textures/20/ag845363x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437428.jpg b/RWT_Cache/Textures/20/ag845363x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437429.jpg b/RWT_Cache/Textures/20/ag845363x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437430.jpg b/RWT_Cache/Textures/20/ag845363x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437431.jpg b/RWT_Cache/Textures/20/ag845363x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437432.jpg b/RWT_Cache/Textures/20/ag845363x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437433.jpg b/RWT_Cache/Textures/20/ag845363x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437434.jpg b/RWT_Cache/Textures/20/ag845363x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437435.jpg b/RWT_Cache/Textures/20/ag845363x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437436.jpg b/RWT_Cache/Textures/20/ag845363x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437437.jpg b/RWT_Cache/Textures/20/ag845363x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437438.jpg b/RWT_Cache/Textures/20/ag845363x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437439.jpg b/RWT_Cache/Textures/20/ag845363x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437440.jpg b/RWT_Cache/Textures/20/ag845363x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437441.jpg b/RWT_Cache/Textures/20/ag845363x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437442.jpg b/RWT_Cache/Textures/20/ag845363x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437443.jpg b/RWT_Cache/Textures/20/ag845363x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437444.jpg b/RWT_Cache/Textures/20/ag845363x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845363x437445.jpg b/RWT_Cache/Textures/20/ag845363x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845363x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437391.jpg b/RWT_Cache/Textures/20/ag845364x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437392.jpg b/RWT_Cache/Textures/20/ag845364x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437393.jpg b/RWT_Cache/Textures/20/ag845364x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437394.jpg b/RWT_Cache/Textures/20/ag845364x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437395.jpg b/RWT_Cache/Textures/20/ag845364x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437396.jpg b/RWT_Cache/Textures/20/ag845364x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437397.jpg b/RWT_Cache/Textures/20/ag845364x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437398.jpg b/RWT_Cache/Textures/20/ag845364x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437399.jpg b/RWT_Cache/Textures/20/ag845364x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437400.jpg b/RWT_Cache/Textures/20/ag845364x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437401.jpg b/RWT_Cache/Textures/20/ag845364x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437402.jpg b/RWT_Cache/Textures/20/ag845364x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437403.jpg b/RWT_Cache/Textures/20/ag845364x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437404.jpg b/RWT_Cache/Textures/20/ag845364x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437405.jpg b/RWT_Cache/Textures/20/ag845364x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437406.jpg b/RWT_Cache/Textures/20/ag845364x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437407.jpg b/RWT_Cache/Textures/20/ag845364x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437408.jpg b/RWT_Cache/Textures/20/ag845364x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437409.jpg b/RWT_Cache/Textures/20/ag845364x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437410.jpg b/RWT_Cache/Textures/20/ag845364x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437411.jpg b/RWT_Cache/Textures/20/ag845364x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437412.jpg b/RWT_Cache/Textures/20/ag845364x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437413.jpg b/RWT_Cache/Textures/20/ag845364x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437414.jpg b/RWT_Cache/Textures/20/ag845364x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437415.jpg b/RWT_Cache/Textures/20/ag845364x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437416.jpg b/RWT_Cache/Textures/20/ag845364x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437417.jpg b/RWT_Cache/Textures/20/ag845364x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437418.jpg b/RWT_Cache/Textures/20/ag845364x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437419.jpg b/RWT_Cache/Textures/20/ag845364x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437420.jpg b/RWT_Cache/Textures/20/ag845364x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437421.jpg b/RWT_Cache/Textures/20/ag845364x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437422.jpg b/RWT_Cache/Textures/20/ag845364x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437423.jpg b/RWT_Cache/Textures/20/ag845364x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437424.jpg b/RWT_Cache/Textures/20/ag845364x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437425.jpg b/RWT_Cache/Textures/20/ag845364x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437426.jpg b/RWT_Cache/Textures/20/ag845364x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437427.jpg b/RWT_Cache/Textures/20/ag845364x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437428.jpg b/RWT_Cache/Textures/20/ag845364x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437429.jpg b/RWT_Cache/Textures/20/ag845364x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437430.jpg b/RWT_Cache/Textures/20/ag845364x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437431.jpg b/RWT_Cache/Textures/20/ag845364x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437432.jpg b/RWT_Cache/Textures/20/ag845364x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437433.jpg b/RWT_Cache/Textures/20/ag845364x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437434.jpg b/RWT_Cache/Textures/20/ag845364x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437435.jpg b/RWT_Cache/Textures/20/ag845364x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437436.jpg b/RWT_Cache/Textures/20/ag845364x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437437.jpg b/RWT_Cache/Textures/20/ag845364x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437438.jpg b/RWT_Cache/Textures/20/ag845364x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437439.jpg b/RWT_Cache/Textures/20/ag845364x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437440.jpg b/RWT_Cache/Textures/20/ag845364x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437441.jpg b/RWT_Cache/Textures/20/ag845364x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437442.jpg b/RWT_Cache/Textures/20/ag845364x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437443.jpg b/RWT_Cache/Textures/20/ag845364x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437444.jpg b/RWT_Cache/Textures/20/ag845364x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845364x437445.jpg b/RWT_Cache/Textures/20/ag845364x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845364x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437391.jpg b/RWT_Cache/Textures/20/ag845365x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437392.jpg b/RWT_Cache/Textures/20/ag845365x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437393.jpg b/RWT_Cache/Textures/20/ag845365x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437394.jpg b/RWT_Cache/Textures/20/ag845365x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437395.jpg b/RWT_Cache/Textures/20/ag845365x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437396.jpg b/RWT_Cache/Textures/20/ag845365x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437397.jpg b/RWT_Cache/Textures/20/ag845365x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437398.jpg b/RWT_Cache/Textures/20/ag845365x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437399.jpg b/RWT_Cache/Textures/20/ag845365x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437400.jpg b/RWT_Cache/Textures/20/ag845365x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437401.jpg b/RWT_Cache/Textures/20/ag845365x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437402.jpg b/RWT_Cache/Textures/20/ag845365x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437403.jpg b/RWT_Cache/Textures/20/ag845365x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437404.jpg b/RWT_Cache/Textures/20/ag845365x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437405.jpg b/RWT_Cache/Textures/20/ag845365x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437406.jpg b/RWT_Cache/Textures/20/ag845365x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437407.jpg b/RWT_Cache/Textures/20/ag845365x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437408.jpg b/RWT_Cache/Textures/20/ag845365x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437409.jpg b/RWT_Cache/Textures/20/ag845365x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437410.jpg b/RWT_Cache/Textures/20/ag845365x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437411.jpg b/RWT_Cache/Textures/20/ag845365x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437412.jpg b/RWT_Cache/Textures/20/ag845365x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437413.jpg b/RWT_Cache/Textures/20/ag845365x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437414.jpg b/RWT_Cache/Textures/20/ag845365x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437415.jpg b/RWT_Cache/Textures/20/ag845365x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437416.jpg b/RWT_Cache/Textures/20/ag845365x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437417.jpg b/RWT_Cache/Textures/20/ag845365x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437418.jpg b/RWT_Cache/Textures/20/ag845365x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437419.jpg b/RWT_Cache/Textures/20/ag845365x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437420.jpg b/RWT_Cache/Textures/20/ag845365x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437421.jpg b/RWT_Cache/Textures/20/ag845365x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437422.jpg b/RWT_Cache/Textures/20/ag845365x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437423.jpg b/RWT_Cache/Textures/20/ag845365x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437424.jpg b/RWT_Cache/Textures/20/ag845365x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437425.jpg b/RWT_Cache/Textures/20/ag845365x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437426.jpg b/RWT_Cache/Textures/20/ag845365x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437427.jpg b/RWT_Cache/Textures/20/ag845365x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437428.jpg b/RWT_Cache/Textures/20/ag845365x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437429.jpg b/RWT_Cache/Textures/20/ag845365x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437430.jpg b/RWT_Cache/Textures/20/ag845365x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437431.jpg b/RWT_Cache/Textures/20/ag845365x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437432.jpg b/RWT_Cache/Textures/20/ag845365x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437433.jpg b/RWT_Cache/Textures/20/ag845365x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437434.jpg b/RWT_Cache/Textures/20/ag845365x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437435.jpg b/RWT_Cache/Textures/20/ag845365x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437436.jpg b/RWT_Cache/Textures/20/ag845365x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437437.jpg b/RWT_Cache/Textures/20/ag845365x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437438.jpg b/RWT_Cache/Textures/20/ag845365x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437439.jpg b/RWT_Cache/Textures/20/ag845365x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437440.jpg b/RWT_Cache/Textures/20/ag845365x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437441.jpg b/RWT_Cache/Textures/20/ag845365x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437442.jpg b/RWT_Cache/Textures/20/ag845365x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437443.jpg b/RWT_Cache/Textures/20/ag845365x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437444.jpg b/RWT_Cache/Textures/20/ag845365x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845365x437445.jpg b/RWT_Cache/Textures/20/ag845365x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845365x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437391.jpg b/RWT_Cache/Textures/20/ag845366x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437392.jpg b/RWT_Cache/Textures/20/ag845366x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437393.jpg b/RWT_Cache/Textures/20/ag845366x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437394.jpg b/RWT_Cache/Textures/20/ag845366x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437395.jpg b/RWT_Cache/Textures/20/ag845366x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437396.jpg b/RWT_Cache/Textures/20/ag845366x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437397.jpg b/RWT_Cache/Textures/20/ag845366x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437398.jpg b/RWT_Cache/Textures/20/ag845366x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437399.jpg b/RWT_Cache/Textures/20/ag845366x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437400.jpg b/RWT_Cache/Textures/20/ag845366x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437401.jpg b/RWT_Cache/Textures/20/ag845366x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437402.jpg b/RWT_Cache/Textures/20/ag845366x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437403.jpg b/RWT_Cache/Textures/20/ag845366x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437404.jpg b/RWT_Cache/Textures/20/ag845366x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437405.jpg b/RWT_Cache/Textures/20/ag845366x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437406.jpg b/RWT_Cache/Textures/20/ag845366x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437407.jpg b/RWT_Cache/Textures/20/ag845366x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437408.jpg b/RWT_Cache/Textures/20/ag845366x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437409.jpg b/RWT_Cache/Textures/20/ag845366x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437410.jpg b/RWT_Cache/Textures/20/ag845366x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437411.jpg b/RWT_Cache/Textures/20/ag845366x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437412.jpg b/RWT_Cache/Textures/20/ag845366x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437413.jpg b/RWT_Cache/Textures/20/ag845366x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437414.jpg b/RWT_Cache/Textures/20/ag845366x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437415.jpg b/RWT_Cache/Textures/20/ag845366x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437416.jpg b/RWT_Cache/Textures/20/ag845366x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437417.jpg b/RWT_Cache/Textures/20/ag845366x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437418.jpg b/RWT_Cache/Textures/20/ag845366x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437419.jpg b/RWT_Cache/Textures/20/ag845366x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437420.jpg b/RWT_Cache/Textures/20/ag845366x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437421.jpg b/RWT_Cache/Textures/20/ag845366x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437422.jpg b/RWT_Cache/Textures/20/ag845366x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437423.jpg b/RWT_Cache/Textures/20/ag845366x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437424.jpg b/RWT_Cache/Textures/20/ag845366x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437425.jpg b/RWT_Cache/Textures/20/ag845366x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437426.jpg b/RWT_Cache/Textures/20/ag845366x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437427.jpg b/RWT_Cache/Textures/20/ag845366x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437428.jpg b/RWT_Cache/Textures/20/ag845366x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437429.jpg b/RWT_Cache/Textures/20/ag845366x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437430.jpg b/RWT_Cache/Textures/20/ag845366x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437431.jpg b/RWT_Cache/Textures/20/ag845366x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437432.jpg b/RWT_Cache/Textures/20/ag845366x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437433.jpg b/RWT_Cache/Textures/20/ag845366x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437434.jpg b/RWT_Cache/Textures/20/ag845366x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437435.jpg b/RWT_Cache/Textures/20/ag845366x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437436.jpg b/RWT_Cache/Textures/20/ag845366x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437437.jpg b/RWT_Cache/Textures/20/ag845366x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437438.jpg b/RWT_Cache/Textures/20/ag845366x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437439.jpg b/RWT_Cache/Textures/20/ag845366x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437440.jpg b/RWT_Cache/Textures/20/ag845366x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437441.jpg b/RWT_Cache/Textures/20/ag845366x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437442.jpg b/RWT_Cache/Textures/20/ag845366x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437443.jpg b/RWT_Cache/Textures/20/ag845366x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437444.jpg b/RWT_Cache/Textures/20/ag845366x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845366x437445.jpg b/RWT_Cache/Textures/20/ag845366x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845366x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437391.jpg b/RWT_Cache/Textures/20/ag845367x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437392.jpg b/RWT_Cache/Textures/20/ag845367x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437393.jpg b/RWT_Cache/Textures/20/ag845367x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437394.jpg b/RWT_Cache/Textures/20/ag845367x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437395.jpg b/RWT_Cache/Textures/20/ag845367x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437396.jpg b/RWT_Cache/Textures/20/ag845367x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437397.jpg b/RWT_Cache/Textures/20/ag845367x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437398.jpg b/RWT_Cache/Textures/20/ag845367x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437399.jpg b/RWT_Cache/Textures/20/ag845367x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437400.jpg b/RWT_Cache/Textures/20/ag845367x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437401.jpg b/RWT_Cache/Textures/20/ag845367x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437402.jpg b/RWT_Cache/Textures/20/ag845367x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437403.jpg b/RWT_Cache/Textures/20/ag845367x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437404.jpg b/RWT_Cache/Textures/20/ag845367x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437405.jpg b/RWT_Cache/Textures/20/ag845367x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437406.jpg b/RWT_Cache/Textures/20/ag845367x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437407.jpg b/RWT_Cache/Textures/20/ag845367x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437408.jpg b/RWT_Cache/Textures/20/ag845367x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437409.jpg b/RWT_Cache/Textures/20/ag845367x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437410.jpg b/RWT_Cache/Textures/20/ag845367x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437411.jpg b/RWT_Cache/Textures/20/ag845367x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437412.jpg b/RWT_Cache/Textures/20/ag845367x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437413.jpg b/RWT_Cache/Textures/20/ag845367x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437414.jpg b/RWT_Cache/Textures/20/ag845367x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437415.jpg b/RWT_Cache/Textures/20/ag845367x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437416.jpg b/RWT_Cache/Textures/20/ag845367x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437417.jpg b/RWT_Cache/Textures/20/ag845367x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437418.jpg b/RWT_Cache/Textures/20/ag845367x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437419.jpg b/RWT_Cache/Textures/20/ag845367x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437420.jpg b/RWT_Cache/Textures/20/ag845367x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437421.jpg b/RWT_Cache/Textures/20/ag845367x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437422.jpg b/RWT_Cache/Textures/20/ag845367x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437423.jpg b/RWT_Cache/Textures/20/ag845367x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437424.jpg b/RWT_Cache/Textures/20/ag845367x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437425.jpg b/RWT_Cache/Textures/20/ag845367x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437426.jpg b/RWT_Cache/Textures/20/ag845367x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437427.jpg b/RWT_Cache/Textures/20/ag845367x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437428.jpg b/RWT_Cache/Textures/20/ag845367x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437429.jpg b/RWT_Cache/Textures/20/ag845367x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437430.jpg b/RWT_Cache/Textures/20/ag845367x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437431.jpg b/RWT_Cache/Textures/20/ag845367x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437432.jpg b/RWT_Cache/Textures/20/ag845367x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437433.jpg b/RWT_Cache/Textures/20/ag845367x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437434.jpg b/RWT_Cache/Textures/20/ag845367x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437435.jpg b/RWT_Cache/Textures/20/ag845367x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437436.jpg b/RWT_Cache/Textures/20/ag845367x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437437.jpg b/RWT_Cache/Textures/20/ag845367x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437438.jpg b/RWT_Cache/Textures/20/ag845367x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437439.jpg b/RWT_Cache/Textures/20/ag845367x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437440.jpg b/RWT_Cache/Textures/20/ag845367x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437441.jpg b/RWT_Cache/Textures/20/ag845367x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437442.jpg b/RWT_Cache/Textures/20/ag845367x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437443.jpg b/RWT_Cache/Textures/20/ag845367x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437444.jpg b/RWT_Cache/Textures/20/ag845367x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845367x437445.jpg b/RWT_Cache/Textures/20/ag845367x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845367x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437391.jpg b/RWT_Cache/Textures/20/ag845368x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437392.jpg b/RWT_Cache/Textures/20/ag845368x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437393.jpg b/RWT_Cache/Textures/20/ag845368x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437394.jpg b/RWT_Cache/Textures/20/ag845368x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437395.jpg b/RWT_Cache/Textures/20/ag845368x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437396.jpg b/RWT_Cache/Textures/20/ag845368x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437397.jpg b/RWT_Cache/Textures/20/ag845368x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437398.jpg b/RWT_Cache/Textures/20/ag845368x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437399.jpg b/RWT_Cache/Textures/20/ag845368x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437400.jpg b/RWT_Cache/Textures/20/ag845368x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437401.jpg b/RWT_Cache/Textures/20/ag845368x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437402.jpg b/RWT_Cache/Textures/20/ag845368x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437403.jpg b/RWT_Cache/Textures/20/ag845368x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437404.jpg b/RWT_Cache/Textures/20/ag845368x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437405.jpg b/RWT_Cache/Textures/20/ag845368x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437406.jpg b/RWT_Cache/Textures/20/ag845368x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437407.jpg b/RWT_Cache/Textures/20/ag845368x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437408.jpg b/RWT_Cache/Textures/20/ag845368x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437409.jpg b/RWT_Cache/Textures/20/ag845368x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437410.jpg b/RWT_Cache/Textures/20/ag845368x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437411.jpg b/RWT_Cache/Textures/20/ag845368x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437412.jpg b/RWT_Cache/Textures/20/ag845368x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437413.jpg b/RWT_Cache/Textures/20/ag845368x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437414.jpg b/RWT_Cache/Textures/20/ag845368x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437415.jpg b/RWT_Cache/Textures/20/ag845368x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437416.jpg b/RWT_Cache/Textures/20/ag845368x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437417.jpg b/RWT_Cache/Textures/20/ag845368x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437418.jpg b/RWT_Cache/Textures/20/ag845368x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437419.jpg b/RWT_Cache/Textures/20/ag845368x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437420.jpg b/RWT_Cache/Textures/20/ag845368x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437421.jpg b/RWT_Cache/Textures/20/ag845368x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437422.jpg b/RWT_Cache/Textures/20/ag845368x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437423.jpg b/RWT_Cache/Textures/20/ag845368x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437424.jpg b/RWT_Cache/Textures/20/ag845368x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437425.jpg b/RWT_Cache/Textures/20/ag845368x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437426.jpg b/RWT_Cache/Textures/20/ag845368x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437427.jpg b/RWT_Cache/Textures/20/ag845368x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437428.jpg b/RWT_Cache/Textures/20/ag845368x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437429.jpg b/RWT_Cache/Textures/20/ag845368x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437430.jpg b/RWT_Cache/Textures/20/ag845368x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437431.jpg b/RWT_Cache/Textures/20/ag845368x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437432.jpg b/RWT_Cache/Textures/20/ag845368x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437433.jpg b/RWT_Cache/Textures/20/ag845368x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437434.jpg b/RWT_Cache/Textures/20/ag845368x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437435.jpg b/RWT_Cache/Textures/20/ag845368x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437436.jpg b/RWT_Cache/Textures/20/ag845368x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437437.jpg b/RWT_Cache/Textures/20/ag845368x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437438.jpg b/RWT_Cache/Textures/20/ag845368x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437439.jpg b/RWT_Cache/Textures/20/ag845368x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437440.jpg b/RWT_Cache/Textures/20/ag845368x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437441.jpg b/RWT_Cache/Textures/20/ag845368x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437442.jpg b/RWT_Cache/Textures/20/ag845368x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437443.jpg b/RWT_Cache/Textures/20/ag845368x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437444.jpg b/RWT_Cache/Textures/20/ag845368x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845368x437445.jpg b/RWT_Cache/Textures/20/ag845368x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845368x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437391.jpg b/RWT_Cache/Textures/20/ag845369x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437392.jpg b/RWT_Cache/Textures/20/ag845369x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437393.jpg b/RWT_Cache/Textures/20/ag845369x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437394.jpg b/RWT_Cache/Textures/20/ag845369x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437395.jpg b/RWT_Cache/Textures/20/ag845369x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437396.jpg b/RWT_Cache/Textures/20/ag845369x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437397.jpg b/RWT_Cache/Textures/20/ag845369x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437398.jpg b/RWT_Cache/Textures/20/ag845369x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437399.jpg b/RWT_Cache/Textures/20/ag845369x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437400.jpg b/RWT_Cache/Textures/20/ag845369x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437401.jpg b/RWT_Cache/Textures/20/ag845369x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437402.jpg b/RWT_Cache/Textures/20/ag845369x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437403.jpg b/RWT_Cache/Textures/20/ag845369x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437404.jpg b/RWT_Cache/Textures/20/ag845369x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437405.jpg b/RWT_Cache/Textures/20/ag845369x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437406.jpg b/RWT_Cache/Textures/20/ag845369x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437407.jpg b/RWT_Cache/Textures/20/ag845369x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437408.jpg b/RWT_Cache/Textures/20/ag845369x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437409.jpg b/RWT_Cache/Textures/20/ag845369x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437410.jpg b/RWT_Cache/Textures/20/ag845369x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437411.jpg b/RWT_Cache/Textures/20/ag845369x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437412.jpg b/RWT_Cache/Textures/20/ag845369x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437413.jpg b/RWT_Cache/Textures/20/ag845369x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437414.jpg b/RWT_Cache/Textures/20/ag845369x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437415.jpg b/RWT_Cache/Textures/20/ag845369x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437416.jpg b/RWT_Cache/Textures/20/ag845369x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437417.jpg b/RWT_Cache/Textures/20/ag845369x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437418.jpg b/RWT_Cache/Textures/20/ag845369x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437419.jpg b/RWT_Cache/Textures/20/ag845369x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437420.jpg b/RWT_Cache/Textures/20/ag845369x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437421.jpg b/RWT_Cache/Textures/20/ag845369x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437422.jpg b/RWT_Cache/Textures/20/ag845369x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437423.jpg b/RWT_Cache/Textures/20/ag845369x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437424.jpg b/RWT_Cache/Textures/20/ag845369x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437425.jpg b/RWT_Cache/Textures/20/ag845369x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437426.jpg b/RWT_Cache/Textures/20/ag845369x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437427.jpg b/RWT_Cache/Textures/20/ag845369x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437428.jpg b/RWT_Cache/Textures/20/ag845369x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437429.jpg b/RWT_Cache/Textures/20/ag845369x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437430.jpg b/RWT_Cache/Textures/20/ag845369x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437431.jpg b/RWT_Cache/Textures/20/ag845369x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437432.jpg b/RWT_Cache/Textures/20/ag845369x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437433.jpg b/RWT_Cache/Textures/20/ag845369x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437434.jpg b/RWT_Cache/Textures/20/ag845369x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437435.jpg b/RWT_Cache/Textures/20/ag845369x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437436.jpg b/RWT_Cache/Textures/20/ag845369x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437437.jpg b/RWT_Cache/Textures/20/ag845369x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437438.jpg b/RWT_Cache/Textures/20/ag845369x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437439.jpg b/RWT_Cache/Textures/20/ag845369x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437440.jpg b/RWT_Cache/Textures/20/ag845369x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437441.jpg b/RWT_Cache/Textures/20/ag845369x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437442.jpg b/RWT_Cache/Textures/20/ag845369x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437443.jpg b/RWT_Cache/Textures/20/ag845369x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437444.jpg b/RWT_Cache/Textures/20/ag845369x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845369x437445.jpg b/RWT_Cache/Textures/20/ag845369x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845369x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437391.jpg b/RWT_Cache/Textures/20/ag845370x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437392.jpg b/RWT_Cache/Textures/20/ag845370x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437393.jpg b/RWT_Cache/Textures/20/ag845370x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437394.jpg b/RWT_Cache/Textures/20/ag845370x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437395.jpg b/RWT_Cache/Textures/20/ag845370x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437396.jpg b/RWT_Cache/Textures/20/ag845370x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437397.jpg b/RWT_Cache/Textures/20/ag845370x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437398.jpg b/RWT_Cache/Textures/20/ag845370x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437399.jpg b/RWT_Cache/Textures/20/ag845370x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437400.jpg b/RWT_Cache/Textures/20/ag845370x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437401.jpg b/RWT_Cache/Textures/20/ag845370x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437402.jpg b/RWT_Cache/Textures/20/ag845370x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437403.jpg b/RWT_Cache/Textures/20/ag845370x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437404.jpg b/RWT_Cache/Textures/20/ag845370x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437405.jpg b/RWT_Cache/Textures/20/ag845370x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437406.jpg b/RWT_Cache/Textures/20/ag845370x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437407.jpg b/RWT_Cache/Textures/20/ag845370x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437408.jpg b/RWT_Cache/Textures/20/ag845370x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437409.jpg b/RWT_Cache/Textures/20/ag845370x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437410.jpg b/RWT_Cache/Textures/20/ag845370x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437411.jpg b/RWT_Cache/Textures/20/ag845370x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437412.jpg b/RWT_Cache/Textures/20/ag845370x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437413.jpg b/RWT_Cache/Textures/20/ag845370x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437414.jpg b/RWT_Cache/Textures/20/ag845370x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437415.jpg b/RWT_Cache/Textures/20/ag845370x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437416.jpg b/RWT_Cache/Textures/20/ag845370x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437417.jpg b/RWT_Cache/Textures/20/ag845370x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437418.jpg b/RWT_Cache/Textures/20/ag845370x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437419.jpg b/RWT_Cache/Textures/20/ag845370x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437420.jpg b/RWT_Cache/Textures/20/ag845370x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437421.jpg b/RWT_Cache/Textures/20/ag845370x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437422.jpg b/RWT_Cache/Textures/20/ag845370x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437423.jpg b/RWT_Cache/Textures/20/ag845370x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437424.jpg b/RWT_Cache/Textures/20/ag845370x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437425.jpg b/RWT_Cache/Textures/20/ag845370x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437426.jpg b/RWT_Cache/Textures/20/ag845370x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437427.jpg b/RWT_Cache/Textures/20/ag845370x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437428.jpg b/RWT_Cache/Textures/20/ag845370x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437429.jpg b/RWT_Cache/Textures/20/ag845370x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437430.jpg b/RWT_Cache/Textures/20/ag845370x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437431.jpg b/RWT_Cache/Textures/20/ag845370x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437432.jpg b/RWT_Cache/Textures/20/ag845370x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437433.jpg b/RWT_Cache/Textures/20/ag845370x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437434.jpg b/RWT_Cache/Textures/20/ag845370x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437435.jpg b/RWT_Cache/Textures/20/ag845370x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437436.jpg b/RWT_Cache/Textures/20/ag845370x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437437.jpg b/RWT_Cache/Textures/20/ag845370x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437438.jpg b/RWT_Cache/Textures/20/ag845370x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437439.jpg b/RWT_Cache/Textures/20/ag845370x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437440.jpg b/RWT_Cache/Textures/20/ag845370x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437441.jpg b/RWT_Cache/Textures/20/ag845370x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437442.jpg b/RWT_Cache/Textures/20/ag845370x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437443.jpg b/RWT_Cache/Textures/20/ag845370x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437444.jpg b/RWT_Cache/Textures/20/ag845370x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845370x437445.jpg b/RWT_Cache/Textures/20/ag845370x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845370x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437391.jpg b/RWT_Cache/Textures/20/ag845371x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437392.jpg b/RWT_Cache/Textures/20/ag845371x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437393.jpg b/RWT_Cache/Textures/20/ag845371x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437394.jpg b/RWT_Cache/Textures/20/ag845371x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437395.jpg b/RWT_Cache/Textures/20/ag845371x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437396.jpg b/RWT_Cache/Textures/20/ag845371x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437397.jpg b/RWT_Cache/Textures/20/ag845371x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437398.jpg b/RWT_Cache/Textures/20/ag845371x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437399.jpg b/RWT_Cache/Textures/20/ag845371x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437400.jpg b/RWT_Cache/Textures/20/ag845371x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437401.jpg b/RWT_Cache/Textures/20/ag845371x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437402.jpg b/RWT_Cache/Textures/20/ag845371x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437403.jpg b/RWT_Cache/Textures/20/ag845371x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437404.jpg b/RWT_Cache/Textures/20/ag845371x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437405.jpg b/RWT_Cache/Textures/20/ag845371x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437406.jpg b/RWT_Cache/Textures/20/ag845371x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437407.jpg b/RWT_Cache/Textures/20/ag845371x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437408.jpg b/RWT_Cache/Textures/20/ag845371x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437409.jpg b/RWT_Cache/Textures/20/ag845371x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437410.jpg b/RWT_Cache/Textures/20/ag845371x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437411.jpg b/RWT_Cache/Textures/20/ag845371x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437412.jpg b/RWT_Cache/Textures/20/ag845371x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437413.jpg b/RWT_Cache/Textures/20/ag845371x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437414.jpg b/RWT_Cache/Textures/20/ag845371x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437415.jpg b/RWT_Cache/Textures/20/ag845371x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437416.jpg b/RWT_Cache/Textures/20/ag845371x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437417.jpg b/RWT_Cache/Textures/20/ag845371x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437418.jpg b/RWT_Cache/Textures/20/ag845371x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437419.jpg b/RWT_Cache/Textures/20/ag845371x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437420.jpg b/RWT_Cache/Textures/20/ag845371x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437421.jpg b/RWT_Cache/Textures/20/ag845371x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437422.jpg b/RWT_Cache/Textures/20/ag845371x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437423.jpg b/RWT_Cache/Textures/20/ag845371x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437424.jpg b/RWT_Cache/Textures/20/ag845371x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437425.jpg b/RWT_Cache/Textures/20/ag845371x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437426.jpg b/RWT_Cache/Textures/20/ag845371x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437427.jpg b/RWT_Cache/Textures/20/ag845371x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437428.jpg b/RWT_Cache/Textures/20/ag845371x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437429.jpg b/RWT_Cache/Textures/20/ag845371x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437430.jpg b/RWT_Cache/Textures/20/ag845371x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437431.jpg b/RWT_Cache/Textures/20/ag845371x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437432.jpg b/RWT_Cache/Textures/20/ag845371x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437433.jpg b/RWT_Cache/Textures/20/ag845371x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437434.jpg b/RWT_Cache/Textures/20/ag845371x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437435.jpg b/RWT_Cache/Textures/20/ag845371x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437436.jpg b/RWT_Cache/Textures/20/ag845371x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437437.jpg b/RWT_Cache/Textures/20/ag845371x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437438.jpg b/RWT_Cache/Textures/20/ag845371x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437439.jpg b/RWT_Cache/Textures/20/ag845371x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437440.jpg b/RWT_Cache/Textures/20/ag845371x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437441.jpg b/RWT_Cache/Textures/20/ag845371x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437442.jpg b/RWT_Cache/Textures/20/ag845371x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437443.jpg b/RWT_Cache/Textures/20/ag845371x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437444.jpg b/RWT_Cache/Textures/20/ag845371x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845371x437445.jpg b/RWT_Cache/Textures/20/ag845371x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845371x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437391.jpg b/RWT_Cache/Textures/20/ag845372x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437392.jpg b/RWT_Cache/Textures/20/ag845372x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437393.jpg b/RWT_Cache/Textures/20/ag845372x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437394.jpg b/RWT_Cache/Textures/20/ag845372x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437395.jpg b/RWT_Cache/Textures/20/ag845372x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437396.jpg b/RWT_Cache/Textures/20/ag845372x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437397.jpg b/RWT_Cache/Textures/20/ag845372x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437398.jpg b/RWT_Cache/Textures/20/ag845372x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437399.jpg b/RWT_Cache/Textures/20/ag845372x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437400.jpg b/RWT_Cache/Textures/20/ag845372x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437401.jpg b/RWT_Cache/Textures/20/ag845372x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437402.jpg b/RWT_Cache/Textures/20/ag845372x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437403.jpg b/RWT_Cache/Textures/20/ag845372x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437404.jpg b/RWT_Cache/Textures/20/ag845372x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437405.jpg b/RWT_Cache/Textures/20/ag845372x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437406.jpg b/RWT_Cache/Textures/20/ag845372x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437407.jpg b/RWT_Cache/Textures/20/ag845372x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437408.jpg b/RWT_Cache/Textures/20/ag845372x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437409.jpg b/RWT_Cache/Textures/20/ag845372x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437410.jpg b/RWT_Cache/Textures/20/ag845372x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437411.jpg b/RWT_Cache/Textures/20/ag845372x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437412.jpg b/RWT_Cache/Textures/20/ag845372x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437413.jpg b/RWT_Cache/Textures/20/ag845372x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437414.jpg b/RWT_Cache/Textures/20/ag845372x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437415.jpg b/RWT_Cache/Textures/20/ag845372x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437416.jpg b/RWT_Cache/Textures/20/ag845372x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437417.jpg b/RWT_Cache/Textures/20/ag845372x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437418.jpg b/RWT_Cache/Textures/20/ag845372x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437419.jpg b/RWT_Cache/Textures/20/ag845372x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437420.jpg b/RWT_Cache/Textures/20/ag845372x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437421.jpg b/RWT_Cache/Textures/20/ag845372x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437422.jpg b/RWT_Cache/Textures/20/ag845372x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437423.jpg b/RWT_Cache/Textures/20/ag845372x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437424.jpg b/RWT_Cache/Textures/20/ag845372x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437425.jpg b/RWT_Cache/Textures/20/ag845372x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437426.jpg b/RWT_Cache/Textures/20/ag845372x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437427.jpg b/RWT_Cache/Textures/20/ag845372x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437428.jpg b/RWT_Cache/Textures/20/ag845372x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437429.jpg b/RWT_Cache/Textures/20/ag845372x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437430.jpg b/RWT_Cache/Textures/20/ag845372x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437431.jpg b/RWT_Cache/Textures/20/ag845372x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437432.jpg b/RWT_Cache/Textures/20/ag845372x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437433.jpg b/RWT_Cache/Textures/20/ag845372x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437434.jpg b/RWT_Cache/Textures/20/ag845372x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437435.jpg b/RWT_Cache/Textures/20/ag845372x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437436.jpg b/RWT_Cache/Textures/20/ag845372x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437437.jpg b/RWT_Cache/Textures/20/ag845372x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437438.jpg b/RWT_Cache/Textures/20/ag845372x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437439.jpg b/RWT_Cache/Textures/20/ag845372x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437440.jpg b/RWT_Cache/Textures/20/ag845372x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437441.jpg b/RWT_Cache/Textures/20/ag845372x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437442.jpg b/RWT_Cache/Textures/20/ag845372x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437443.jpg b/RWT_Cache/Textures/20/ag845372x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437444.jpg b/RWT_Cache/Textures/20/ag845372x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845372x437445.jpg b/RWT_Cache/Textures/20/ag845372x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845372x437445.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437391.jpg b/RWT_Cache/Textures/20/ag845373x437391.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437391.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437392.jpg b/RWT_Cache/Textures/20/ag845373x437392.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437392.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437393.jpg b/RWT_Cache/Textures/20/ag845373x437393.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437393.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437394.jpg b/RWT_Cache/Textures/20/ag845373x437394.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437394.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437395.jpg b/RWT_Cache/Textures/20/ag845373x437395.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437395.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437396.jpg b/RWT_Cache/Textures/20/ag845373x437396.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437396.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437397.jpg b/RWT_Cache/Textures/20/ag845373x437397.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437397.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437398.jpg b/RWT_Cache/Textures/20/ag845373x437398.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437398.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437399.jpg b/RWT_Cache/Textures/20/ag845373x437399.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437399.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437400.jpg b/RWT_Cache/Textures/20/ag845373x437400.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437400.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437401.jpg b/RWT_Cache/Textures/20/ag845373x437401.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437401.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437402.jpg b/RWT_Cache/Textures/20/ag845373x437402.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437402.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437403.jpg b/RWT_Cache/Textures/20/ag845373x437403.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437403.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437404.jpg b/RWT_Cache/Textures/20/ag845373x437404.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437404.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437405.jpg b/RWT_Cache/Textures/20/ag845373x437405.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437405.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437406.jpg b/RWT_Cache/Textures/20/ag845373x437406.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437406.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437407.jpg b/RWT_Cache/Textures/20/ag845373x437407.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437407.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437408.jpg b/RWT_Cache/Textures/20/ag845373x437408.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437408.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437409.jpg b/RWT_Cache/Textures/20/ag845373x437409.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437409.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437410.jpg b/RWT_Cache/Textures/20/ag845373x437410.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437410.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437411.jpg b/RWT_Cache/Textures/20/ag845373x437411.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437411.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437412.jpg b/RWT_Cache/Textures/20/ag845373x437412.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437412.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437413.jpg b/RWT_Cache/Textures/20/ag845373x437413.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437413.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437414.jpg b/RWT_Cache/Textures/20/ag845373x437414.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437414.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437415.jpg b/RWT_Cache/Textures/20/ag845373x437415.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437415.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437416.jpg b/RWT_Cache/Textures/20/ag845373x437416.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437416.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437417.jpg b/RWT_Cache/Textures/20/ag845373x437417.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437417.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437418.jpg b/RWT_Cache/Textures/20/ag845373x437418.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437418.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437419.jpg b/RWT_Cache/Textures/20/ag845373x437419.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437419.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437420.jpg b/RWT_Cache/Textures/20/ag845373x437420.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437420.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437421.jpg b/RWT_Cache/Textures/20/ag845373x437421.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437421.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437422.jpg b/RWT_Cache/Textures/20/ag845373x437422.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437422.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437423.jpg b/RWT_Cache/Textures/20/ag845373x437423.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437423.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437424.jpg b/RWT_Cache/Textures/20/ag845373x437424.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437424.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437425.jpg b/RWT_Cache/Textures/20/ag845373x437425.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437425.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437426.jpg b/RWT_Cache/Textures/20/ag845373x437426.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437426.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437427.jpg b/RWT_Cache/Textures/20/ag845373x437427.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437427.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437428.jpg b/RWT_Cache/Textures/20/ag845373x437428.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437428.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437429.jpg b/RWT_Cache/Textures/20/ag845373x437429.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437429.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437430.jpg b/RWT_Cache/Textures/20/ag845373x437430.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437430.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437431.jpg b/RWT_Cache/Textures/20/ag845373x437431.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437431.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437432.jpg b/RWT_Cache/Textures/20/ag845373x437432.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437432.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437433.jpg b/RWT_Cache/Textures/20/ag845373x437433.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437433.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437434.jpg b/RWT_Cache/Textures/20/ag845373x437434.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437434.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437435.jpg b/RWT_Cache/Textures/20/ag845373x437435.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437435.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437436.jpg b/RWT_Cache/Textures/20/ag845373x437436.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437436.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437437.jpg b/RWT_Cache/Textures/20/ag845373x437437.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437437.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437438.jpg b/RWT_Cache/Textures/20/ag845373x437438.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437438.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437439.jpg b/RWT_Cache/Textures/20/ag845373x437439.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437439.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437440.jpg b/RWT_Cache/Textures/20/ag845373x437440.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437440.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437441.jpg b/RWT_Cache/Textures/20/ag845373x437441.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437441.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437442.jpg b/RWT_Cache/Textures/20/ag845373x437442.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437442.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437443.jpg b/RWT_Cache/Textures/20/ag845373x437443.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437443.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437444.jpg b/RWT_Cache/Textures/20/ag845373x437444.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437444.jpg differ diff --git a/RWT_Cache/Textures/20/ag845373x437445.jpg b/RWT_Cache/Textures/20/ag845373x437445.jpg new file mode 100644 index 000000000..411c6dac3 Binary files /dev/null and b/RWT_Cache/Textures/20/ag845373x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437391.jpg b/RWT_Cache/Textures/20/mbs845312x437391.jpg new file mode 100644 index 000000000..3a6a09a75 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437392.jpg b/RWT_Cache/Textures/20/mbs845312x437392.jpg new file mode 100644 index 000000000..4a462e813 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437393.jpg b/RWT_Cache/Textures/20/mbs845312x437393.jpg new file mode 100644 index 000000000..f8c4edbd0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437394.jpg b/RWT_Cache/Textures/20/mbs845312x437394.jpg new file mode 100644 index 000000000..1d728f34a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437395.jpg b/RWT_Cache/Textures/20/mbs845312x437395.jpg new file mode 100644 index 000000000..4617e1e7c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437396.jpg b/RWT_Cache/Textures/20/mbs845312x437396.jpg new file mode 100644 index 000000000..b4c3901ad Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437397.jpg b/RWT_Cache/Textures/20/mbs845312x437397.jpg new file mode 100644 index 000000000..3434e0fd7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437398.jpg b/RWT_Cache/Textures/20/mbs845312x437398.jpg new file mode 100644 index 000000000..0178cf420 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437399.jpg b/RWT_Cache/Textures/20/mbs845312x437399.jpg new file mode 100644 index 000000000..61da40155 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437400.jpg b/RWT_Cache/Textures/20/mbs845312x437400.jpg new file mode 100644 index 000000000..ab05ad6a4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437401.jpg b/RWT_Cache/Textures/20/mbs845312x437401.jpg new file mode 100644 index 000000000..654b0d515 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437402.jpg b/RWT_Cache/Textures/20/mbs845312x437402.jpg new file mode 100644 index 000000000..882348857 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437403.jpg b/RWT_Cache/Textures/20/mbs845312x437403.jpg new file mode 100644 index 000000000..627ef2a5f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437404.jpg b/RWT_Cache/Textures/20/mbs845312x437404.jpg new file mode 100644 index 000000000..04303e613 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437405.jpg b/RWT_Cache/Textures/20/mbs845312x437405.jpg new file mode 100644 index 000000000..aab2f1e35 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437406.jpg b/RWT_Cache/Textures/20/mbs845312x437406.jpg new file mode 100644 index 000000000..7bc851b38 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437407.jpg b/RWT_Cache/Textures/20/mbs845312x437407.jpg new file mode 100644 index 000000000..d35d68da8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437408.jpg b/RWT_Cache/Textures/20/mbs845312x437408.jpg new file mode 100644 index 000000000..cce99d213 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437409.jpg b/RWT_Cache/Textures/20/mbs845312x437409.jpg new file mode 100644 index 000000000..8801587a8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437410.jpg b/RWT_Cache/Textures/20/mbs845312x437410.jpg new file mode 100644 index 000000000..97c53d3af Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437411.jpg b/RWT_Cache/Textures/20/mbs845312x437411.jpg new file mode 100644 index 000000000..fe97b6e4f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437412.jpg b/RWT_Cache/Textures/20/mbs845312x437412.jpg new file mode 100644 index 000000000..0132cdc32 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437413.jpg b/RWT_Cache/Textures/20/mbs845312x437413.jpg new file mode 100644 index 000000000..ad7fbf6cb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437414.jpg b/RWT_Cache/Textures/20/mbs845312x437414.jpg new file mode 100644 index 000000000..b3f744bb5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437415.jpg b/RWT_Cache/Textures/20/mbs845312x437415.jpg new file mode 100644 index 000000000..bf869b6aa Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437416.jpg b/RWT_Cache/Textures/20/mbs845312x437416.jpg new file mode 100644 index 000000000..a94f1f24d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437417.jpg b/RWT_Cache/Textures/20/mbs845312x437417.jpg new file mode 100644 index 000000000..4866a5366 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437418.jpg b/RWT_Cache/Textures/20/mbs845312x437418.jpg new file mode 100644 index 000000000..4949dc926 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437419.jpg b/RWT_Cache/Textures/20/mbs845312x437419.jpg new file mode 100644 index 000000000..f5def1b01 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437420.jpg b/RWT_Cache/Textures/20/mbs845312x437420.jpg new file mode 100644 index 000000000..cd4594086 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437421.jpg b/RWT_Cache/Textures/20/mbs845312x437421.jpg new file mode 100644 index 000000000..cde93bed0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437422.jpg b/RWT_Cache/Textures/20/mbs845312x437422.jpg new file mode 100644 index 000000000..f8a974c0c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437423.jpg b/RWT_Cache/Textures/20/mbs845312x437423.jpg new file mode 100644 index 000000000..e76cfc927 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437424.jpg b/RWT_Cache/Textures/20/mbs845312x437424.jpg new file mode 100644 index 000000000..fdd403a88 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437425.jpg b/RWT_Cache/Textures/20/mbs845312x437425.jpg new file mode 100644 index 000000000..4eea240d6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437426.jpg b/RWT_Cache/Textures/20/mbs845312x437426.jpg new file mode 100644 index 000000000..9992d56f2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437427.jpg b/RWT_Cache/Textures/20/mbs845312x437427.jpg new file mode 100644 index 000000000..be1d4a8af Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437428.jpg b/RWT_Cache/Textures/20/mbs845312x437428.jpg new file mode 100644 index 000000000..85b1dfadd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437429.jpg b/RWT_Cache/Textures/20/mbs845312x437429.jpg new file mode 100644 index 000000000..b0d9885c9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437430.jpg b/RWT_Cache/Textures/20/mbs845312x437430.jpg new file mode 100644 index 000000000..f8981a821 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437431.jpg b/RWT_Cache/Textures/20/mbs845312x437431.jpg new file mode 100644 index 000000000..7ed159cdf Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437432.jpg b/RWT_Cache/Textures/20/mbs845312x437432.jpg new file mode 100644 index 000000000..ad7d31f92 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437433.jpg b/RWT_Cache/Textures/20/mbs845312x437433.jpg new file mode 100644 index 000000000..98319b755 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437434.jpg b/RWT_Cache/Textures/20/mbs845312x437434.jpg new file mode 100644 index 000000000..9d11b7f40 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437435.jpg b/RWT_Cache/Textures/20/mbs845312x437435.jpg new file mode 100644 index 000000000..14c6c366e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437436.jpg b/RWT_Cache/Textures/20/mbs845312x437436.jpg new file mode 100644 index 000000000..d4ef6ef45 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437437.jpg b/RWT_Cache/Textures/20/mbs845312x437437.jpg new file mode 100644 index 000000000..4a1acbe2a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437438.jpg b/RWT_Cache/Textures/20/mbs845312x437438.jpg new file mode 100644 index 000000000..e622ece3a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437439.jpg b/RWT_Cache/Textures/20/mbs845312x437439.jpg new file mode 100644 index 000000000..00269b689 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437440.jpg b/RWT_Cache/Textures/20/mbs845312x437440.jpg new file mode 100644 index 000000000..a03821ae5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437441.jpg b/RWT_Cache/Textures/20/mbs845312x437441.jpg new file mode 100644 index 000000000..a03821ae5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437442.jpg b/RWT_Cache/Textures/20/mbs845312x437442.jpg new file mode 100644 index 000000000..a03821ae5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437443.jpg b/RWT_Cache/Textures/20/mbs845312x437443.jpg new file mode 100644 index 000000000..a03821ae5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437444.jpg b/RWT_Cache/Textures/20/mbs845312x437444.jpg new file mode 100644 index 000000000..a03821ae5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845312x437445.jpg b/RWT_Cache/Textures/20/mbs845312x437445.jpg new file mode 100644 index 000000000..a03821ae5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845312x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437391.jpg b/RWT_Cache/Textures/20/mbs845313x437391.jpg new file mode 100644 index 000000000..2e8f681de Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437392.jpg b/RWT_Cache/Textures/20/mbs845313x437392.jpg new file mode 100644 index 000000000..db218e2b6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437393.jpg b/RWT_Cache/Textures/20/mbs845313x437393.jpg new file mode 100644 index 000000000..c5a13127e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437394.jpg b/RWT_Cache/Textures/20/mbs845313x437394.jpg new file mode 100644 index 000000000..bab71f1d1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437395.jpg b/RWT_Cache/Textures/20/mbs845313x437395.jpg new file mode 100644 index 000000000..90e6ea3fa Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437396.jpg b/RWT_Cache/Textures/20/mbs845313x437396.jpg new file mode 100644 index 000000000..07efecf28 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437397.jpg b/RWT_Cache/Textures/20/mbs845313x437397.jpg new file mode 100644 index 000000000..e4e2e8bec Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437398.jpg b/RWT_Cache/Textures/20/mbs845313x437398.jpg new file mode 100644 index 000000000..0c4897695 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437399.jpg b/RWT_Cache/Textures/20/mbs845313x437399.jpg new file mode 100644 index 000000000..236fffe7d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437400.jpg b/RWT_Cache/Textures/20/mbs845313x437400.jpg new file mode 100644 index 000000000..e75f5a7c8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437401.jpg b/RWT_Cache/Textures/20/mbs845313x437401.jpg new file mode 100644 index 000000000..b844c9d2a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437402.jpg b/RWT_Cache/Textures/20/mbs845313x437402.jpg new file mode 100644 index 000000000..9064d9ca2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437403.jpg b/RWT_Cache/Textures/20/mbs845313x437403.jpg new file mode 100644 index 000000000..9c47dcc30 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437404.jpg b/RWT_Cache/Textures/20/mbs845313x437404.jpg new file mode 100644 index 000000000..094d7a32e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437405.jpg b/RWT_Cache/Textures/20/mbs845313x437405.jpg new file mode 100644 index 000000000..d9b45636d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437406.jpg b/RWT_Cache/Textures/20/mbs845313x437406.jpg new file mode 100644 index 000000000..bf68efcdc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437407.jpg b/RWT_Cache/Textures/20/mbs845313x437407.jpg new file mode 100644 index 000000000..56f9de80f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437408.jpg b/RWT_Cache/Textures/20/mbs845313x437408.jpg new file mode 100644 index 000000000..deb66fb8d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437409.jpg b/RWT_Cache/Textures/20/mbs845313x437409.jpg new file mode 100644 index 000000000..dbcf1f020 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437410.jpg b/RWT_Cache/Textures/20/mbs845313x437410.jpg new file mode 100644 index 000000000..a5f8f4583 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437411.jpg b/RWT_Cache/Textures/20/mbs845313x437411.jpg new file mode 100644 index 000000000..bbc9cd3c7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437412.jpg b/RWT_Cache/Textures/20/mbs845313x437412.jpg new file mode 100644 index 000000000..932e12cd0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437413.jpg b/RWT_Cache/Textures/20/mbs845313x437413.jpg new file mode 100644 index 000000000..e6392f932 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437414.jpg b/RWT_Cache/Textures/20/mbs845313x437414.jpg new file mode 100644 index 000000000..85c149bac Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437415.jpg b/RWT_Cache/Textures/20/mbs845313x437415.jpg new file mode 100644 index 000000000..65a760e81 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437416.jpg b/RWT_Cache/Textures/20/mbs845313x437416.jpg new file mode 100644 index 000000000..ddbc9c53d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437417.jpg b/RWT_Cache/Textures/20/mbs845313x437417.jpg new file mode 100644 index 000000000..26d514627 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437418.jpg b/RWT_Cache/Textures/20/mbs845313x437418.jpg new file mode 100644 index 000000000..b947a9db0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437419.jpg b/RWT_Cache/Textures/20/mbs845313x437419.jpg new file mode 100644 index 000000000..b443d16ab Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437420.jpg b/RWT_Cache/Textures/20/mbs845313x437420.jpg new file mode 100644 index 000000000..634d1b6fe Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437421.jpg b/RWT_Cache/Textures/20/mbs845313x437421.jpg new file mode 100644 index 000000000..b13bdcfb6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437422.jpg b/RWT_Cache/Textures/20/mbs845313x437422.jpg new file mode 100644 index 000000000..da12cb057 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437423.jpg b/RWT_Cache/Textures/20/mbs845313x437423.jpg new file mode 100644 index 000000000..ea8fba1f3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437424.jpg b/RWT_Cache/Textures/20/mbs845313x437424.jpg new file mode 100644 index 000000000..d37f3cd2a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437425.jpg b/RWT_Cache/Textures/20/mbs845313x437425.jpg new file mode 100644 index 000000000..d1b8d71ea Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437426.jpg b/RWT_Cache/Textures/20/mbs845313x437426.jpg new file mode 100644 index 000000000..c19a60324 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437427.jpg b/RWT_Cache/Textures/20/mbs845313x437427.jpg new file mode 100644 index 000000000..9044786de Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437428.jpg b/RWT_Cache/Textures/20/mbs845313x437428.jpg new file mode 100644 index 000000000..2539ee515 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437429.jpg b/RWT_Cache/Textures/20/mbs845313x437429.jpg new file mode 100644 index 000000000..d1fe9339d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437430.jpg b/RWT_Cache/Textures/20/mbs845313x437430.jpg new file mode 100644 index 000000000..9975ec380 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437431.jpg b/RWT_Cache/Textures/20/mbs845313x437431.jpg new file mode 100644 index 000000000..de57ef6fa Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437432.jpg b/RWT_Cache/Textures/20/mbs845313x437432.jpg new file mode 100644 index 000000000..5e3c12be8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437433.jpg b/RWT_Cache/Textures/20/mbs845313x437433.jpg new file mode 100644 index 000000000..1c8807fba Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437434.jpg b/RWT_Cache/Textures/20/mbs845313x437434.jpg new file mode 100644 index 000000000..57edb702c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437435.jpg b/RWT_Cache/Textures/20/mbs845313x437435.jpg new file mode 100644 index 000000000..b81058fd2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437436.jpg b/RWT_Cache/Textures/20/mbs845313x437436.jpg new file mode 100644 index 000000000..791f5349b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437437.jpg b/RWT_Cache/Textures/20/mbs845313x437437.jpg new file mode 100644 index 000000000..4c09145ee Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437438.jpg b/RWT_Cache/Textures/20/mbs845313x437438.jpg new file mode 100644 index 000000000..043a8977b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437439.jpg b/RWT_Cache/Textures/20/mbs845313x437439.jpg new file mode 100644 index 000000000..3c8ce00bb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437440.jpg b/RWT_Cache/Textures/20/mbs845313x437440.jpg new file mode 100644 index 000000000..fa0ae45ce Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437441.jpg b/RWT_Cache/Textures/20/mbs845313x437441.jpg new file mode 100644 index 000000000..a03821ae5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437442.jpg b/RWT_Cache/Textures/20/mbs845313x437442.jpg new file mode 100644 index 000000000..a03821ae5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437443.jpg b/RWT_Cache/Textures/20/mbs845313x437443.jpg new file mode 100644 index 000000000..a03821ae5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437444.jpg b/RWT_Cache/Textures/20/mbs845313x437444.jpg new file mode 100644 index 000000000..a03821ae5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845313x437445.jpg b/RWT_Cache/Textures/20/mbs845313x437445.jpg new file mode 100644 index 000000000..a03821ae5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845313x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437391.jpg b/RWT_Cache/Textures/20/mbs845314x437391.jpg new file mode 100644 index 000000000..a860d3fb2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437392.jpg b/RWT_Cache/Textures/20/mbs845314x437392.jpg new file mode 100644 index 000000000..db218e2b6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437393.jpg b/RWT_Cache/Textures/20/mbs845314x437393.jpg new file mode 100644 index 000000000..03f9107da Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437394.jpg b/RWT_Cache/Textures/20/mbs845314x437394.jpg new file mode 100644 index 000000000..03f9107da Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437395.jpg b/RWT_Cache/Textures/20/mbs845314x437395.jpg new file mode 100644 index 000000000..03f9107da Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437396.jpg b/RWT_Cache/Textures/20/mbs845314x437396.jpg new file mode 100644 index 000000000..1ded4aff4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437397.jpg b/RWT_Cache/Textures/20/mbs845314x437397.jpg new file mode 100644 index 000000000..dd030a1e4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437398.jpg b/RWT_Cache/Textures/20/mbs845314x437398.jpg new file mode 100644 index 000000000..b153ab312 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437399.jpg b/RWT_Cache/Textures/20/mbs845314x437399.jpg new file mode 100644 index 000000000..81406ae0c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437400.jpg b/RWT_Cache/Textures/20/mbs845314x437400.jpg new file mode 100644 index 000000000..092d90d8e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437401.jpg b/RWT_Cache/Textures/20/mbs845314x437401.jpg new file mode 100644 index 000000000..e8f244b0f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437402.jpg b/RWT_Cache/Textures/20/mbs845314x437402.jpg new file mode 100644 index 000000000..b326e93b8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437403.jpg b/RWT_Cache/Textures/20/mbs845314x437403.jpg new file mode 100644 index 000000000..3288abd37 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437404.jpg b/RWT_Cache/Textures/20/mbs845314x437404.jpg new file mode 100644 index 000000000..99ce3e5a8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437405.jpg b/RWT_Cache/Textures/20/mbs845314x437405.jpg new file mode 100644 index 000000000..849b40c7f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437406.jpg b/RWT_Cache/Textures/20/mbs845314x437406.jpg new file mode 100644 index 000000000..f0d448abd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437407.jpg b/RWT_Cache/Textures/20/mbs845314x437407.jpg new file mode 100644 index 000000000..bcb8b086a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437408.jpg b/RWT_Cache/Textures/20/mbs845314x437408.jpg new file mode 100644 index 000000000..8c33384be Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437409.jpg b/RWT_Cache/Textures/20/mbs845314x437409.jpg new file mode 100644 index 000000000..33819dfd0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437410.jpg b/RWT_Cache/Textures/20/mbs845314x437410.jpg new file mode 100644 index 000000000..9696e2427 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437411.jpg b/RWT_Cache/Textures/20/mbs845314x437411.jpg new file mode 100644 index 000000000..4c17a5c69 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437412.jpg b/RWT_Cache/Textures/20/mbs845314x437412.jpg new file mode 100644 index 000000000..f161399eb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437413.jpg b/RWT_Cache/Textures/20/mbs845314x437413.jpg new file mode 100644 index 000000000..9c835011d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437414.jpg b/RWT_Cache/Textures/20/mbs845314x437414.jpg new file mode 100644 index 000000000..1194a6e60 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437415.jpg b/RWT_Cache/Textures/20/mbs845314x437415.jpg new file mode 100644 index 000000000..99ad8a396 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437416.jpg b/RWT_Cache/Textures/20/mbs845314x437416.jpg new file mode 100644 index 000000000..15f280479 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437417.jpg b/RWT_Cache/Textures/20/mbs845314x437417.jpg new file mode 100644 index 000000000..2c1f0b500 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437418.jpg b/RWT_Cache/Textures/20/mbs845314x437418.jpg new file mode 100644 index 000000000..cc65c413e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437419.jpg b/RWT_Cache/Textures/20/mbs845314x437419.jpg new file mode 100644 index 000000000..0a3952040 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437420.jpg b/RWT_Cache/Textures/20/mbs845314x437420.jpg new file mode 100644 index 000000000..65c422597 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437421.jpg b/RWT_Cache/Textures/20/mbs845314x437421.jpg new file mode 100644 index 000000000..88432e331 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437422.jpg b/RWT_Cache/Textures/20/mbs845314x437422.jpg new file mode 100644 index 000000000..26125b601 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437423.jpg b/RWT_Cache/Textures/20/mbs845314x437423.jpg new file mode 100644 index 000000000..85305e7a5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437424.jpg b/RWT_Cache/Textures/20/mbs845314x437424.jpg new file mode 100644 index 000000000..b9032fe14 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437425.jpg b/RWT_Cache/Textures/20/mbs845314x437425.jpg new file mode 100644 index 000000000..49c1429cd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437426.jpg b/RWT_Cache/Textures/20/mbs845314x437426.jpg new file mode 100644 index 000000000..7a9409fdf Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437427.jpg b/RWT_Cache/Textures/20/mbs845314x437427.jpg new file mode 100644 index 000000000..ed973a328 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437428.jpg b/RWT_Cache/Textures/20/mbs845314x437428.jpg new file mode 100644 index 000000000..c8825c9bb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437429.jpg b/RWT_Cache/Textures/20/mbs845314x437429.jpg new file mode 100644 index 000000000..cd0737fe3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437430.jpg b/RWT_Cache/Textures/20/mbs845314x437430.jpg new file mode 100644 index 000000000..c057221b6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437431.jpg b/RWT_Cache/Textures/20/mbs845314x437431.jpg new file mode 100644 index 000000000..88147bda4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437432.jpg b/RWT_Cache/Textures/20/mbs845314x437432.jpg new file mode 100644 index 000000000..1f4582628 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437433.jpg b/RWT_Cache/Textures/20/mbs845314x437433.jpg new file mode 100644 index 000000000..b3ad7bb17 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437434.jpg b/RWT_Cache/Textures/20/mbs845314x437434.jpg new file mode 100644 index 000000000..4560e4225 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437435.jpg b/RWT_Cache/Textures/20/mbs845314x437435.jpg new file mode 100644 index 000000000..fe70ffd1e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437436.jpg b/RWT_Cache/Textures/20/mbs845314x437436.jpg new file mode 100644 index 000000000..a4cf85eb4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437437.jpg b/RWT_Cache/Textures/20/mbs845314x437437.jpg new file mode 100644 index 000000000..867906954 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437438.jpg b/RWT_Cache/Textures/20/mbs845314x437438.jpg new file mode 100644 index 000000000..da983ab88 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437439.jpg b/RWT_Cache/Textures/20/mbs845314x437439.jpg new file mode 100644 index 000000000..38f2953ba Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437440.jpg b/RWT_Cache/Textures/20/mbs845314x437440.jpg new file mode 100644 index 000000000..3a5ea117b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437441.jpg b/RWT_Cache/Textures/20/mbs845314x437441.jpg new file mode 100644 index 000000000..15bc04a41 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437442.jpg b/RWT_Cache/Textures/20/mbs845314x437442.jpg new file mode 100644 index 000000000..a03821ae5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437443.jpg b/RWT_Cache/Textures/20/mbs845314x437443.jpg new file mode 100644 index 000000000..a03821ae5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437444.jpg b/RWT_Cache/Textures/20/mbs845314x437444.jpg new file mode 100644 index 000000000..a03821ae5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845314x437445.jpg b/RWT_Cache/Textures/20/mbs845314x437445.jpg new file mode 100644 index 000000000..a03821ae5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845314x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437391.jpg b/RWT_Cache/Textures/20/mbs845315x437391.jpg new file mode 100644 index 000000000..a860d3fb2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437392.jpg b/RWT_Cache/Textures/20/mbs845315x437392.jpg new file mode 100644 index 000000000..5da143740 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437393.jpg b/RWT_Cache/Textures/20/mbs845315x437393.jpg new file mode 100644 index 000000000..64d17c51f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437394.jpg b/RWT_Cache/Textures/20/mbs845315x437394.jpg new file mode 100644 index 000000000..03f9107da Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437395.jpg b/RWT_Cache/Textures/20/mbs845315x437395.jpg new file mode 100644 index 000000000..03f9107da Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437396.jpg b/RWT_Cache/Textures/20/mbs845315x437396.jpg new file mode 100644 index 000000000..33407ebff Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437397.jpg b/RWT_Cache/Textures/20/mbs845315x437397.jpg new file mode 100644 index 000000000..d27bef82c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437398.jpg b/RWT_Cache/Textures/20/mbs845315x437398.jpg new file mode 100644 index 000000000..dea5aaf5a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437399.jpg b/RWT_Cache/Textures/20/mbs845315x437399.jpg new file mode 100644 index 000000000..89a98a808 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437400.jpg b/RWT_Cache/Textures/20/mbs845315x437400.jpg new file mode 100644 index 000000000..daa8c633b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437401.jpg b/RWT_Cache/Textures/20/mbs845315x437401.jpg new file mode 100644 index 000000000..ecab49b5f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437402.jpg b/RWT_Cache/Textures/20/mbs845315x437402.jpg new file mode 100644 index 000000000..a2f300f8f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437403.jpg b/RWT_Cache/Textures/20/mbs845315x437403.jpg new file mode 100644 index 000000000..ef1ed6d84 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437404.jpg b/RWT_Cache/Textures/20/mbs845315x437404.jpg new file mode 100644 index 000000000..cfadcc48a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437405.jpg b/RWT_Cache/Textures/20/mbs845315x437405.jpg new file mode 100644 index 000000000..aced6bf62 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437406.jpg b/RWT_Cache/Textures/20/mbs845315x437406.jpg new file mode 100644 index 000000000..ddfdef86d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437407.jpg b/RWT_Cache/Textures/20/mbs845315x437407.jpg new file mode 100644 index 000000000..5d1cdf134 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437408.jpg b/RWT_Cache/Textures/20/mbs845315x437408.jpg new file mode 100644 index 000000000..daba2fef5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437409.jpg b/RWT_Cache/Textures/20/mbs845315x437409.jpg new file mode 100644 index 000000000..94466c29c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437410.jpg b/RWT_Cache/Textures/20/mbs845315x437410.jpg new file mode 100644 index 000000000..2a4fef3fd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437411.jpg b/RWT_Cache/Textures/20/mbs845315x437411.jpg new file mode 100644 index 000000000..02208047a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437412.jpg b/RWT_Cache/Textures/20/mbs845315x437412.jpg new file mode 100644 index 000000000..7b5754f26 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437413.jpg b/RWT_Cache/Textures/20/mbs845315x437413.jpg new file mode 100644 index 000000000..cb8f0310b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437414.jpg b/RWT_Cache/Textures/20/mbs845315x437414.jpg new file mode 100644 index 000000000..93698b305 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437415.jpg b/RWT_Cache/Textures/20/mbs845315x437415.jpg new file mode 100644 index 000000000..9a6211cf2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437416.jpg b/RWT_Cache/Textures/20/mbs845315x437416.jpg new file mode 100644 index 000000000..4094d7b3c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437417.jpg b/RWT_Cache/Textures/20/mbs845315x437417.jpg new file mode 100644 index 000000000..f7fdd52ff Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437418.jpg b/RWT_Cache/Textures/20/mbs845315x437418.jpg new file mode 100644 index 000000000..b3779e6ed Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437419.jpg b/RWT_Cache/Textures/20/mbs845315x437419.jpg new file mode 100644 index 000000000..e9379a6c1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437420.jpg b/RWT_Cache/Textures/20/mbs845315x437420.jpg new file mode 100644 index 000000000..4c3dba39a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437421.jpg b/RWT_Cache/Textures/20/mbs845315x437421.jpg new file mode 100644 index 000000000..7be624662 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437422.jpg b/RWT_Cache/Textures/20/mbs845315x437422.jpg new file mode 100644 index 000000000..3b948cce3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437423.jpg b/RWT_Cache/Textures/20/mbs845315x437423.jpg new file mode 100644 index 000000000..e95281541 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437424.jpg b/RWT_Cache/Textures/20/mbs845315x437424.jpg new file mode 100644 index 000000000..cfcf0f4fb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437425.jpg b/RWT_Cache/Textures/20/mbs845315x437425.jpg new file mode 100644 index 000000000..930f1ea86 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437426.jpg b/RWT_Cache/Textures/20/mbs845315x437426.jpg new file mode 100644 index 000000000..527befdd3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437427.jpg b/RWT_Cache/Textures/20/mbs845315x437427.jpg new file mode 100644 index 000000000..6461a9746 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437428.jpg b/RWT_Cache/Textures/20/mbs845315x437428.jpg new file mode 100644 index 000000000..481b277c5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437429.jpg b/RWT_Cache/Textures/20/mbs845315x437429.jpg new file mode 100644 index 000000000..8e1abe5a0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437430.jpg b/RWT_Cache/Textures/20/mbs845315x437430.jpg new file mode 100644 index 000000000..3cae30a1c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437431.jpg b/RWT_Cache/Textures/20/mbs845315x437431.jpg new file mode 100644 index 000000000..6e7e2fd52 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437432.jpg b/RWT_Cache/Textures/20/mbs845315x437432.jpg new file mode 100644 index 000000000..e5603f391 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437433.jpg b/RWT_Cache/Textures/20/mbs845315x437433.jpg new file mode 100644 index 000000000..fc5c13384 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437434.jpg b/RWT_Cache/Textures/20/mbs845315x437434.jpg new file mode 100644 index 000000000..f30b71914 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437435.jpg b/RWT_Cache/Textures/20/mbs845315x437435.jpg new file mode 100644 index 000000000..a71b7aab2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437436.jpg b/RWT_Cache/Textures/20/mbs845315x437436.jpg new file mode 100644 index 000000000..2703e944f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437437.jpg b/RWT_Cache/Textures/20/mbs845315x437437.jpg new file mode 100644 index 000000000..d939265b3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437438.jpg b/RWT_Cache/Textures/20/mbs845315x437438.jpg new file mode 100644 index 000000000..8fecd402e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437439.jpg b/RWT_Cache/Textures/20/mbs845315x437439.jpg new file mode 100644 index 000000000..648dd9477 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437440.jpg b/RWT_Cache/Textures/20/mbs845315x437440.jpg new file mode 100644 index 000000000..0e150ccd8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437441.jpg b/RWT_Cache/Textures/20/mbs845315x437441.jpg new file mode 100644 index 000000000..b37ba826b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437442.jpg b/RWT_Cache/Textures/20/mbs845315x437442.jpg new file mode 100644 index 000000000..a860d3fb2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437443.jpg b/RWT_Cache/Textures/20/mbs845315x437443.jpg new file mode 100644 index 000000000..a860d3fb2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437444.jpg b/RWT_Cache/Textures/20/mbs845315x437444.jpg new file mode 100644 index 000000000..a860d3fb2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845315x437445.jpg b/RWT_Cache/Textures/20/mbs845315x437445.jpg new file mode 100644 index 000000000..a860d3fb2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845315x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437391.jpg b/RWT_Cache/Textures/20/mbs845316x437391.jpg new file mode 100644 index 000000000..a860d3fb2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437392.jpg b/RWT_Cache/Textures/20/mbs845316x437392.jpg new file mode 100644 index 000000000..db218e2b6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437393.jpg b/RWT_Cache/Textures/20/mbs845316x437393.jpg new file mode 100644 index 000000000..03f9107da Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437394.jpg b/RWT_Cache/Textures/20/mbs845316x437394.jpg new file mode 100644 index 000000000..03f9107da Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437395.jpg b/RWT_Cache/Textures/20/mbs845316x437395.jpg new file mode 100644 index 000000000..e8be812b1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437396.jpg b/RWT_Cache/Textures/20/mbs845316x437396.jpg new file mode 100644 index 000000000..8028203db Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437397.jpg b/RWT_Cache/Textures/20/mbs845316x437397.jpg new file mode 100644 index 000000000..d9e3abc5c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437398.jpg b/RWT_Cache/Textures/20/mbs845316x437398.jpg new file mode 100644 index 000000000..636d9d463 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437399.jpg b/RWT_Cache/Textures/20/mbs845316x437399.jpg new file mode 100644 index 000000000..22d2425af Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437400.jpg b/RWT_Cache/Textures/20/mbs845316x437400.jpg new file mode 100644 index 000000000..9ef23bdaa Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437401.jpg b/RWT_Cache/Textures/20/mbs845316x437401.jpg new file mode 100644 index 000000000..58a77dcc9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437402.jpg b/RWT_Cache/Textures/20/mbs845316x437402.jpg new file mode 100644 index 000000000..df2cf690d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437403.jpg b/RWT_Cache/Textures/20/mbs845316x437403.jpg new file mode 100644 index 000000000..5c5290592 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437404.jpg b/RWT_Cache/Textures/20/mbs845316x437404.jpg new file mode 100644 index 000000000..4dc32e36a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437405.jpg b/RWT_Cache/Textures/20/mbs845316x437405.jpg new file mode 100644 index 000000000..f0d64317b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437406.jpg b/RWT_Cache/Textures/20/mbs845316x437406.jpg new file mode 100644 index 000000000..4df5990cc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437407.jpg b/RWT_Cache/Textures/20/mbs845316x437407.jpg new file mode 100644 index 000000000..7442e4ae0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437408.jpg b/RWT_Cache/Textures/20/mbs845316x437408.jpg new file mode 100644 index 000000000..7f49bff25 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437409.jpg b/RWT_Cache/Textures/20/mbs845316x437409.jpg new file mode 100644 index 000000000..9b2ae98c0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437410.jpg b/RWT_Cache/Textures/20/mbs845316x437410.jpg new file mode 100644 index 000000000..8ae6c215b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437411.jpg b/RWT_Cache/Textures/20/mbs845316x437411.jpg new file mode 100644 index 000000000..060af74b2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437412.jpg b/RWT_Cache/Textures/20/mbs845316x437412.jpg new file mode 100644 index 000000000..b454b9ee6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437413.jpg b/RWT_Cache/Textures/20/mbs845316x437413.jpg new file mode 100644 index 000000000..24632245f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437414.jpg b/RWT_Cache/Textures/20/mbs845316x437414.jpg new file mode 100644 index 000000000..bea3d3230 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437415.jpg b/RWT_Cache/Textures/20/mbs845316x437415.jpg new file mode 100644 index 000000000..c068b65d5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437416.jpg b/RWT_Cache/Textures/20/mbs845316x437416.jpg new file mode 100644 index 000000000..14a9b29f7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437417.jpg b/RWT_Cache/Textures/20/mbs845316x437417.jpg new file mode 100644 index 000000000..d2631bee2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437418.jpg b/RWT_Cache/Textures/20/mbs845316x437418.jpg new file mode 100644 index 000000000..182560abc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437419.jpg b/RWT_Cache/Textures/20/mbs845316x437419.jpg new file mode 100644 index 000000000..bb9a34576 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437420.jpg b/RWT_Cache/Textures/20/mbs845316x437420.jpg new file mode 100644 index 000000000..72df08a36 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437421.jpg b/RWT_Cache/Textures/20/mbs845316x437421.jpg new file mode 100644 index 000000000..bef8ba9d6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437422.jpg b/RWT_Cache/Textures/20/mbs845316x437422.jpg new file mode 100644 index 000000000..af28082ac Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437423.jpg b/RWT_Cache/Textures/20/mbs845316x437423.jpg new file mode 100644 index 000000000..ab78c4ff4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437424.jpg b/RWT_Cache/Textures/20/mbs845316x437424.jpg new file mode 100644 index 000000000..64feae67b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437425.jpg b/RWT_Cache/Textures/20/mbs845316x437425.jpg new file mode 100644 index 000000000..5af097ba2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437426.jpg b/RWT_Cache/Textures/20/mbs845316x437426.jpg new file mode 100644 index 000000000..6d9a54060 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437427.jpg b/RWT_Cache/Textures/20/mbs845316x437427.jpg new file mode 100644 index 000000000..7d0f9c835 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437428.jpg b/RWT_Cache/Textures/20/mbs845316x437428.jpg new file mode 100644 index 000000000..a1dd67237 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437429.jpg b/RWT_Cache/Textures/20/mbs845316x437429.jpg new file mode 100644 index 000000000..4bcf03a1d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437430.jpg b/RWT_Cache/Textures/20/mbs845316x437430.jpg new file mode 100644 index 000000000..aa4f144ac Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437431.jpg b/RWT_Cache/Textures/20/mbs845316x437431.jpg new file mode 100644 index 000000000..f67eab879 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437432.jpg b/RWT_Cache/Textures/20/mbs845316x437432.jpg new file mode 100644 index 000000000..df444343c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437433.jpg b/RWT_Cache/Textures/20/mbs845316x437433.jpg new file mode 100644 index 000000000..8fa38ba41 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437434.jpg b/RWT_Cache/Textures/20/mbs845316x437434.jpg new file mode 100644 index 000000000..81c8f77ac Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437435.jpg b/RWT_Cache/Textures/20/mbs845316x437435.jpg new file mode 100644 index 000000000..722b4e989 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437436.jpg b/RWT_Cache/Textures/20/mbs845316x437436.jpg new file mode 100644 index 000000000..e73fd3456 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437437.jpg b/RWT_Cache/Textures/20/mbs845316x437437.jpg new file mode 100644 index 000000000..c3048eae0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437438.jpg b/RWT_Cache/Textures/20/mbs845316x437438.jpg new file mode 100644 index 000000000..e7088cac1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437439.jpg b/RWT_Cache/Textures/20/mbs845316x437439.jpg new file mode 100644 index 000000000..67cceab31 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437440.jpg b/RWT_Cache/Textures/20/mbs845316x437440.jpg new file mode 100644 index 000000000..8eaf96cc6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437441.jpg b/RWT_Cache/Textures/20/mbs845316x437441.jpg new file mode 100644 index 000000000..8ef8b6461 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437442.jpg b/RWT_Cache/Textures/20/mbs845316x437442.jpg new file mode 100644 index 000000000..55c337995 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437443.jpg b/RWT_Cache/Textures/20/mbs845316x437443.jpg new file mode 100644 index 000000000..a860d3fb2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437444.jpg b/RWT_Cache/Textures/20/mbs845316x437444.jpg new file mode 100644 index 000000000..a860d3fb2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437445.jpg b/RWT_Cache/Textures/20/mbs845316x437445.jpg new file mode 100644 index 000000000..a860d3fb2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437446.jpg b/RWT_Cache/Textures/20/mbs845316x437446.jpg new file mode 100644 index 000000000..a860d3fb2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845316x437447.jpg b/RWT_Cache/Textures/20/mbs845316x437447.jpg new file mode 100644 index 000000000..a860d3fb2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845316x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437391.jpg b/RWT_Cache/Textures/20/mbs845317x437391.jpg new file mode 100644 index 000000000..a860d3fb2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437392.jpg b/RWT_Cache/Textures/20/mbs845317x437392.jpg new file mode 100644 index 000000000..db218e2b6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437393.jpg b/RWT_Cache/Textures/20/mbs845317x437393.jpg new file mode 100644 index 000000000..0144c2283 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437394.jpg b/RWT_Cache/Textures/20/mbs845317x437394.jpg new file mode 100644 index 000000000..f84e85366 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437395.jpg b/RWT_Cache/Textures/20/mbs845317x437395.jpg new file mode 100644 index 000000000..514050ba1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437396.jpg b/RWT_Cache/Textures/20/mbs845317x437396.jpg new file mode 100644 index 000000000..6a5c639f8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437397.jpg b/RWT_Cache/Textures/20/mbs845317x437397.jpg new file mode 100644 index 000000000..0f0c81e87 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437398.jpg b/RWT_Cache/Textures/20/mbs845317x437398.jpg new file mode 100644 index 000000000..8382fd55d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437399.jpg b/RWT_Cache/Textures/20/mbs845317x437399.jpg new file mode 100644 index 000000000..8a74f62ea Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437400.jpg b/RWT_Cache/Textures/20/mbs845317x437400.jpg new file mode 100644 index 000000000..77f20cc47 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437401.jpg b/RWT_Cache/Textures/20/mbs845317x437401.jpg new file mode 100644 index 000000000..050480bb5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437402.jpg b/RWT_Cache/Textures/20/mbs845317x437402.jpg new file mode 100644 index 000000000..fc4e5db35 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437403.jpg b/RWT_Cache/Textures/20/mbs845317x437403.jpg new file mode 100644 index 000000000..6eb5172a5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437404.jpg b/RWT_Cache/Textures/20/mbs845317x437404.jpg new file mode 100644 index 000000000..e345524c9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437405.jpg b/RWT_Cache/Textures/20/mbs845317x437405.jpg new file mode 100644 index 000000000..f1f52654f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437406.jpg b/RWT_Cache/Textures/20/mbs845317x437406.jpg new file mode 100644 index 000000000..4fc1e0ff7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437407.jpg b/RWT_Cache/Textures/20/mbs845317x437407.jpg new file mode 100644 index 000000000..1296de602 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437408.jpg b/RWT_Cache/Textures/20/mbs845317x437408.jpg new file mode 100644 index 000000000..4ff22264c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437409.jpg b/RWT_Cache/Textures/20/mbs845317x437409.jpg new file mode 100644 index 000000000..c05c28747 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437410.jpg b/RWT_Cache/Textures/20/mbs845317x437410.jpg new file mode 100644 index 000000000..9c5d3361d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437411.jpg b/RWT_Cache/Textures/20/mbs845317x437411.jpg new file mode 100644 index 000000000..05d74f99e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437412.jpg b/RWT_Cache/Textures/20/mbs845317x437412.jpg new file mode 100644 index 000000000..5214efba0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437413.jpg b/RWT_Cache/Textures/20/mbs845317x437413.jpg new file mode 100644 index 000000000..b64800a83 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437414.jpg b/RWT_Cache/Textures/20/mbs845317x437414.jpg new file mode 100644 index 000000000..e58b960ec Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437415.jpg b/RWT_Cache/Textures/20/mbs845317x437415.jpg new file mode 100644 index 000000000..d9e917931 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437416.jpg b/RWT_Cache/Textures/20/mbs845317x437416.jpg new file mode 100644 index 000000000..c8e78113b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437417.jpg b/RWT_Cache/Textures/20/mbs845317x437417.jpg new file mode 100644 index 000000000..68b25421d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437418.jpg b/RWT_Cache/Textures/20/mbs845317x437418.jpg new file mode 100644 index 000000000..f955f9e28 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437419.jpg b/RWT_Cache/Textures/20/mbs845317x437419.jpg new file mode 100644 index 000000000..8ebe5a26d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437420.jpg b/RWT_Cache/Textures/20/mbs845317x437420.jpg new file mode 100644 index 000000000..e007c5a0b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437421.jpg b/RWT_Cache/Textures/20/mbs845317x437421.jpg new file mode 100644 index 000000000..9f009a7d5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437422.jpg b/RWT_Cache/Textures/20/mbs845317x437422.jpg new file mode 100644 index 000000000..fa0c9533a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437423.jpg b/RWT_Cache/Textures/20/mbs845317x437423.jpg new file mode 100644 index 000000000..f53e43efd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437424.jpg b/RWT_Cache/Textures/20/mbs845317x437424.jpg new file mode 100644 index 000000000..0e3d6965c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437425.jpg b/RWT_Cache/Textures/20/mbs845317x437425.jpg new file mode 100644 index 000000000..6976d0d25 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437426.jpg b/RWT_Cache/Textures/20/mbs845317x437426.jpg new file mode 100644 index 000000000..ab4d116ce Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437427.jpg b/RWT_Cache/Textures/20/mbs845317x437427.jpg new file mode 100644 index 000000000..b2d859494 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437428.jpg b/RWT_Cache/Textures/20/mbs845317x437428.jpg new file mode 100644 index 000000000..ca087064a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437429.jpg b/RWT_Cache/Textures/20/mbs845317x437429.jpg new file mode 100644 index 000000000..0be74ffd9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437430.jpg b/RWT_Cache/Textures/20/mbs845317x437430.jpg new file mode 100644 index 000000000..967ddc845 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437431.jpg b/RWT_Cache/Textures/20/mbs845317x437431.jpg new file mode 100644 index 000000000..eafbb8e90 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437432.jpg b/RWT_Cache/Textures/20/mbs845317x437432.jpg new file mode 100644 index 000000000..6133b211a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437433.jpg b/RWT_Cache/Textures/20/mbs845317x437433.jpg new file mode 100644 index 000000000..77f543dc4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437434.jpg b/RWT_Cache/Textures/20/mbs845317x437434.jpg new file mode 100644 index 000000000..d4fab8740 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437435.jpg b/RWT_Cache/Textures/20/mbs845317x437435.jpg new file mode 100644 index 000000000..ae49199ca Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437436.jpg b/RWT_Cache/Textures/20/mbs845317x437436.jpg new file mode 100644 index 000000000..3b4972359 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437437.jpg b/RWT_Cache/Textures/20/mbs845317x437437.jpg new file mode 100644 index 000000000..92c9490b6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437438.jpg b/RWT_Cache/Textures/20/mbs845317x437438.jpg new file mode 100644 index 000000000..ec5d5c4ea Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437439.jpg b/RWT_Cache/Textures/20/mbs845317x437439.jpg new file mode 100644 index 000000000..de9892b67 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437440.jpg b/RWT_Cache/Textures/20/mbs845317x437440.jpg new file mode 100644 index 000000000..b4fa36745 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437441.jpg b/RWT_Cache/Textures/20/mbs845317x437441.jpg new file mode 100644 index 000000000..7c5f0ff6e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437442.jpg b/RWT_Cache/Textures/20/mbs845317x437442.jpg new file mode 100644 index 000000000..d3a0c6982 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437443.jpg b/RWT_Cache/Textures/20/mbs845317x437443.jpg new file mode 100644 index 000000000..7820cd51c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437444.jpg b/RWT_Cache/Textures/20/mbs845317x437444.jpg new file mode 100644 index 000000000..a860d3fb2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437445.jpg b/RWT_Cache/Textures/20/mbs845317x437445.jpg new file mode 100644 index 000000000..a860d3fb2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437446.jpg b/RWT_Cache/Textures/20/mbs845317x437446.jpg new file mode 100644 index 000000000..a860d3fb2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845317x437447.jpg b/RWT_Cache/Textures/20/mbs845317x437447.jpg new file mode 100644 index 000000000..32a469d0c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845317x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437391.jpg b/RWT_Cache/Textures/20/mbs845318x437391.jpg new file mode 100644 index 000000000..a860d3fb2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437392.jpg b/RWT_Cache/Textures/20/mbs845318x437392.jpg new file mode 100644 index 000000000..db218e2b6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437393.jpg b/RWT_Cache/Textures/20/mbs845318x437393.jpg new file mode 100644 index 000000000..12923ed03 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437394.jpg b/RWT_Cache/Textures/20/mbs845318x437394.jpg new file mode 100644 index 000000000..836176c04 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437395.jpg b/RWT_Cache/Textures/20/mbs845318x437395.jpg new file mode 100644 index 000000000..aae45a343 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437396.jpg b/RWT_Cache/Textures/20/mbs845318x437396.jpg new file mode 100644 index 000000000..62f999081 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437397.jpg b/RWT_Cache/Textures/20/mbs845318x437397.jpg new file mode 100644 index 000000000..e7103d946 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437398.jpg b/RWT_Cache/Textures/20/mbs845318x437398.jpg new file mode 100644 index 000000000..423426c72 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437399.jpg b/RWT_Cache/Textures/20/mbs845318x437399.jpg new file mode 100644 index 000000000..b33888336 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437400.jpg b/RWT_Cache/Textures/20/mbs845318x437400.jpg new file mode 100644 index 000000000..08707ed72 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437401.jpg b/RWT_Cache/Textures/20/mbs845318x437401.jpg new file mode 100644 index 000000000..b740419b8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437402.jpg b/RWT_Cache/Textures/20/mbs845318x437402.jpg new file mode 100644 index 000000000..5e33da6cc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437403.jpg b/RWT_Cache/Textures/20/mbs845318x437403.jpg new file mode 100644 index 000000000..dd71a475e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437404.jpg b/RWT_Cache/Textures/20/mbs845318x437404.jpg new file mode 100644 index 000000000..997dc2003 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437405.jpg b/RWT_Cache/Textures/20/mbs845318x437405.jpg new file mode 100644 index 000000000..2467969da Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437406.jpg b/RWT_Cache/Textures/20/mbs845318x437406.jpg new file mode 100644 index 000000000..acc52f3dc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437407.jpg b/RWT_Cache/Textures/20/mbs845318x437407.jpg new file mode 100644 index 000000000..f344df8b9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437408.jpg b/RWT_Cache/Textures/20/mbs845318x437408.jpg new file mode 100644 index 000000000..b09c439fa Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437409.jpg b/RWT_Cache/Textures/20/mbs845318x437409.jpg new file mode 100644 index 000000000..40d4ec6cd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437410.jpg b/RWT_Cache/Textures/20/mbs845318x437410.jpg new file mode 100644 index 000000000..e9bb6b290 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437411.jpg b/RWT_Cache/Textures/20/mbs845318x437411.jpg new file mode 100644 index 000000000..42d456752 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437412.jpg b/RWT_Cache/Textures/20/mbs845318x437412.jpg new file mode 100644 index 000000000..651a4a35c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437413.jpg b/RWT_Cache/Textures/20/mbs845318x437413.jpg new file mode 100644 index 000000000..8f2d53781 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437414.jpg b/RWT_Cache/Textures/20/mbs845318x437414.jpg new file mode 100644 index 000000000..4663e0682 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437415.jpg b/RWT_Cache/Textures/20/mbs845318x437415.jpg new file mode 100644 index 000000000..c75e75db9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437416.jpg b/RWT_Cache/Textures/20/mbs845318x437416.jpg new file mode 100644 index 000000000..7df1389f8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437417.jpg b/RWT_Cache/Textures/20/mbs845318x437417.jpg new file mode 100644 index 000000000..3d8693e20 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437418.jpg b/RWT_Cache/Textures/20/mbs845318x437418.jpg new file mode 100644 index 000000000..8d9f63225 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437419.jpg b/RWT_Cache/Textures/20/mbs845318x437419.jpg new file mode 100644 index 000000000..db25aa967 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437420.jpg b/RWT_Cache/Textures/20/mbs845318x437420.jpg new file mode 100644 index 000000000..eee86cee3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437421.jpg b/RWT_Cache/Textures/20/mbs845318x437421.jpg new file mode 100644 index 000000000..35722cbfa Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437422.jpg b/RWT_Cache/Textures/20/mbs845318x437422.jpg new file mode 100644 index 000000000..1115b693d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437423.jpg b/RWT_Cache/Textures/20/mbs845318x437423.jpg new file mode 100644 index 000000000..4d3da85c8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437424.jpg b/RWT_Cache/Textures/20/mbs845318x437424.jpg new file mode 100644 index 000000000..a7ce4a583 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437425.jpg b/RWT_Cache/Textures/20/mbs845318x437425.jpg new file mode 100644 index 000000000..224fd2692 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437426.jpg b/RWT_Cache/Textures/20/mbs845318x437426.jpg new file mode 100644 index 000000000..118018f63 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437427.jpg b/RWT_Cache/Textures/20/mbs845318x437427.jpg new file mode 100644 index 000000000..536e8c7d1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437428.jpg b/RWT_Cache/Textures/20/mbs845318x437428.jpg new file mode 100644 index 000000000..36db04962 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437429.jpg b/RWT_Cache/Textures/20/mbs845318x437429.jpg new file mode 100644 index 000000000..1bce14c1b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437430.jpg b/RWT_Cache/Textures/20/mbs845318x437430.jpg new file mode 100644 index 000000000..775d158b8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437431.jpg b/RWT_Cache/Textures/20/mbs845318x437431.jpg new file mode 100644 index 000000000..f4ecc7d87 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437432.jpg b/RWT_Cache/Textures/20/mbs845318x437432.jpg new file mode 100644 index 000000000..7d35f4376 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437433.jpg b/RWT_Cache/Textures/20/mbs845318x437433.jpg new file mode 100644 index 000000000..4d871c53b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437434.jpg b/RWT_Cache/Textures/20/mbs845318x437434.jpg new file mode 100644 index 000000000..14bd052b1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437435.jpg b/RWT_Cache/Textures/20/mbs845318x437435.jpg new file mode 100644 index 000000000..55e571442 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437436.jpg b/RWT_Cache/Textures/20/mbs845318x437436.jpg new file mode 100644 index 000000000..689f1d704 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437437.jpg b/RWT_Cache/Textures/20/mbs845318x437437.jpg new file mode 100644 index 000000000..32fe9e733 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437438.jpg b/RWT_Cache/Textures/20/mbs845318x437438.jpg new file mode 100644 index 000000000..dc3408f58 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437439.jpg b/RWT_Cache/Textures/20/mbs845318x437439.jpg new file mode 100644 index 000000000..e58516fb6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437440.jpg b/RWT_Cache/Textures/20/mbs845318x437440.jpg new file mode 100644 index 000000000..565a22ef8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437441.jpg b/RWT_Cache/Textures/20/mbs845318x437441.jpg new file mode 100644 index 000000000..843d5cdcd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437442.jpg b/RWT_Cache/Textures/20/mbs845318x437442.jpg new file mode 100644 index 000000000..5223e19b5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437443.jpg b/RWT_Cache/Textures/20/mbs845318x437443.jpg new file mode 100644 index 000000000..94432d4ac Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437444.jpg b/RWT_Cache/Textures/20/mbs845318x437444.jpg new file mode 100644 index 000000000..daaa8d21a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437445.jpg b/RWT_Cache/Textures/20/mbs845318x437445.jpg new file mode 100644 index 000000000..a860d3fb2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437446.jpg b/RWT_Cache/Textures/20/mbs845318x437446.jpg new file mode 100644 index 000000000..da05e7656 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845318x437447.jpg b/RWT_Cache/Textures/20/mbs845318x437447.jpg new file mode 100644 index 000000000..0370981a8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845318x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437391.jpg b/RWT_Cache/Textures/20/mbs845319x437391.jpg new file mode 100644 index 000000000..a860d3fb2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437392.jpg b/RWT_Cache/Textures/20/mbs845319x437392.jpg new file mode 100644 index 000000000..db218e2b6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437393.jpg b/RWT_Cache/Textures/20/mbs845319x437393.jpg new file mode 100644 index 000000000..855a5fc49 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437394.jpg b/RWT_Cache/Textures/20/mbs845319x437394.jpg new file mode 100644 index 000000000..a9d197783 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437395.jpg b/RWT_Cache/Textures/20/mbs845319x437395.jpg new file mode 100644 index 000000000..187f328ad Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437396.jpg b/RWT_Cache/Textures/20/mbs845319x437396.jpg new file mode 100644 index 000000000..63643246c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437397.jpg b/RWT_Cache/Textures/20/mbs845319x437397.jpg new file mode 100644 index 000000000..930ed2217 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437398.jpg b/RWT_Cache/Textures/20/mbs845319x437398.jpg new file mode 100644 index 000000000..2cade0973 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437399.jpg b/RWT_Cache/Textures/20/mbs845319x437399.jpg new file mode 100644 index 000000000..a84b84d13 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437400.jpg b/RWT_Cache/Textures/20/mbs845319x437400.jpg new file mode 100644 index 000000000..fd79cedba Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437401.jpg b/RWT_Cache/Textures/20/mbs845319x437401.jpg new file mode 100644 index 000000000..3fbbc4204 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437402.jpg b/RWT_Cache/Textures/20/mbs845319x437402.jpg new file mode 100644 index 000000000..9cf9a3c90 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437403.jpg b/RWT_Cache/Textures/20/mbs845319x437403.jpg new file mode 100644 index 000000000..d7b1924f2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437404.jpg b/RWT_Cache/Textures/20/mbs845319x437404.jpg new file mode 100644 index 000000000..91de5276f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437405.jpg b/RWT_Cache/Textures/20/mbs845319x437405.jpg new file mode 100644 index 000000000..fa1d2c943 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437406.jpg b/RWT_Cache/Textures/20/mbs845319x437406.jpg new file mode 100644 index 000000000..0075e2c89 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437407.jpg b/RWT_Cache/Textures/20/mbs845319x437407.jpg new file mode 100644 index 000000000..0684f7367 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437408.jpg b/RWT_Cache/Textures/20/mbs845319x437408.jpg new file mode 100644 index 000000000..d8f320699 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437409.jpg b/RWT_Cache/Textures/20/mbs845319x437409.jpg new file mode 100644 index 000000000..5587de75b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437410.jpg b/RWT_Cache/Textures/20/mbs845319x437410.jpg new file mode 100644 index 000000000..0d4b16747 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437411.jpg b/RWT_Cache/Textures/20/mbs845319x437411.jpg new file mode 100644 index 000000000..d69259698 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437412.jpg b/RWT_Cache/Textures/20/mbs845319x437412.jpg new file mode 100644 index 000000000..aa6a596d2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437413.jpg b/RWT_Cache/Textures/20/mbs845319x437413.jpg new file mode 100644 index 000000000..2fe27c044 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437414.jpg b/RWT_Cache/Textures/20/mbs845319x437414.jpg new file mode 100644 index 000000000..3ea0d56b8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437415.jpg b/RWT_Cache/Textures/20/mbs845319x437415.jpg new file mode 100644 index 000000000..d4b847c70 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437416.jpg b/RWT_Cache/Textures/20/mbs845319x437416.jpg new file mode 100644 index 000000000..8c4a19b92 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437417.jpg b/RWT_Cache/Textures/20/mbs845319x437417.jpg new file mode 100644 index 000000000..4d61ee344 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437418.jpg b/RWT_Cache/Textures/20/mbs845319x437418.jpg new file mode 100644 index 000000000..8239c9547 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437419.jpg b/RWT_Cache/Textures/20/mbs845319x437419.jpg new file mode 100644 index 000000000..a40ef5500 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437420.jpg b/RWT_Cache/Textures/20/mbs845319x437420.jpg new file mode 100644 index 000000000..8f8649aa3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437421.jpg b/RWT_Cache/Textures/20/mbs845319x437421.jpg new file mode 100644 index 000000000..e96f679fb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437422.jpg b/RWT_Cache/Textures/20/mbs845319x437422.jpg new file mode 100644 index 000000000..df1ec68a7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437423.jpg b/RWT_Cache/Textures/20/mbs845319x437423.jpg new file mode 100644 index 000000000..2ccbef811 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437424.jpg b/RWT_Cache/Textures/20/mbs845319x437424.jpg new file mode 100644 index 000000000..9de224a01 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437425.jpg b/RWT_Cache/Textures/20/mbs845319x437425.jpg new file mode 100644 index 000000000..c5dde0fbf Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437426.jpg b/RWT_Cache/Textures/20/mbs845319x437426.jpg new file mode 100644 index 000000000..cf760f962 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437427.jpg b/RWT_Cache/Textures/20/mbs845319x437427.jpg new file mode 100644 index 000000000..996cbd9fb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437428.jpg b/RWT_Cache/Textures/20/mbs845319x437428.jpg new file mode 100644 index 000000000..86959e1d9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437429.jpg b/RWT_Cache/Textures/20/mbs845319x437429.jpg new file mode 100644 index 000000000..34fc4141a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437430.jpg b/RWT_Cache/Textures/20/mbs845319x437430.jpg new file mode 100644 index 000000000..e8d08a155 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437431.jpg b/RWT_Cache/Textures/20/mbs845319x437431.jpg new file mode 100644 index 000000000..280ecdbcf Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437432.jpg b/RWT_Cache/Textures/20/mbs845319x437432.jpg new file mode 100644 index 000000000..7e27b316b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437433.jpg b/RWT_Cache/Textures/20/mbs845319x437433.jpg new file mode 100644 index 000000000..c6d34ea21 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437434.jpg b/RWT_Cache/Textures/20/mbs845319x437434.jpg new file mode 100644 index 000000000..7c93ed979 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437435.jpg b/RWT_Cache/Textures/20/mbs845319x437435.jpg new file mode 100644 index 000000000..ac440770b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437436.jpg b/RWT_Cache/Textures/20/mbs845319x437436.jpg new file mode 100644 index 000000000..8628d7aea Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437437.jpg b/RWT_Cache/Textures/20/mbs845319x437437.jpg new file mode 100644 index 000000000..c2c5cc16f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437438.jpg b/RWT_Cache/Textures/20/mbs845319x437438.jpg new file mode 100644 index 000000000..0ad4e1c2e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437439.jpg b/RWT_Cache/Textures/20/mbs845319x437439.jpg new file mode 100644 index 000000000..ce588133d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437440.jpg b/RWT_Cache/Textures/20/mbs845319x437440.jpg new file mode 100644 index 000000000..ad85b332c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437441.jpg b/RWT_Cache/Textures/20/mbs845319x437441.jpg new file mode 100644 index 000000000..a6a7e997d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437442.jpg b/RWT_Cache/Textures/20/mbs845319x437442.jpg new file mode 100644 index 000000000..08ce6ba44 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437443.jpg b/RWT_Cache/Textures/20/mbs845319x437443.jpg new file mode 100644 index 000000000..08fcf8bbb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437444.jpg b/RWT_Cache/Textures/20/mbs845319x437444.jpg new file mode 100644 index 000000000..ce43e9832 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437445.jpg b/RWT_Cache/Textures/20/mbs845319x437445.jpg new file mode 100644 index 000000000..a860d3fb2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437446.jpg b/RWT_Cache/Textures/20/mbs845319x437446.jpg new file mode 100644 index 000000000..a860d3fb2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845319x437447.jpg b/RWT_Cache/Textures/20/mbs845319x437447.jpg new file mode 100644 index 000000000..a66c35412 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845319x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437391.jpg b/RWT_Cache/Textures/20/mbs845320x437391.jpg new file mode 100644 index 000000000..a03821ae5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437392.jpg b/RWT_Cache/Textures/20/mbs845320x437392.jpg new file mode 100644 index 000000000..17287e2db Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437393.jpg b/RWT_Cache/Textures/20/mbs845320x437393.jpg new file mode 100644 index 000000000..e4576bd2d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437394.jpg b/RWT_Cache/Textures/20/mbs845320x437394.jpg new file mode 100644 index 000000000..891da05c7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437395.jpg b/RWT_Cache/Textures/20/mbs845320x437395.jpg new file mode 100644 index 000000000..735dedd2e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437396.jpg b/RWT_Cache/Textures/20/mbs845320x437396.jpg new file mode 100644 index 000000000..16f0e2963 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437397.jpg b/RWT_Cache/Textures/20/mbs845320x437397.jpg new file mode 100644 index 000000000..f26a9100d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437398.jpg b/RWT_Cache/Textures/20/mbs845320x437398.jpg new file mode 100644 index 000000000..18dc9ad39 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437399.jpg b/RWT_Cache/Textures/20/mbs845320x437399.jpg new file mode 100644 index 000000000..7caec9a2e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437400.jpg b/RWT_Cache/Textures/20/mbs845320x437400.jpg new file mode 100644 index 000000000..d71ebfb66 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437401.jpg b/RWT_Cache/Textures/20/mbs845320x437401.jpg new file mode 100644 index 000000000..bbe870f92 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437402.jpg b/RWT_Cache/Textures/20/mbs845320x437402.jpg new file mode 100644 index 000000000..aecc2c49e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437403.jpg b/RWT_Cache/Textures/20/mbs845320x437403.jpg new file mode 100644 index 000000000..53c78d34a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437404.jpg b/RWT_Cache/Textures/20/mbs845320x437404.jpg new file mode 100644 index 000000000..48790f6fe Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437405.jpg b/RWT_Cache/Textures/20/mbs845320x437405.jpg new file mode 100644 index 000000000..78f712a5a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437406.jpg b/RWT_Cache/Textures/20/mbs845320x437406.jpg new file mode 100644 index 000000000..e99ab481c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437407.jpg b/RWT_Cache/Textures/20/mbs845320x437407.jpg new file mode 100644 index 000000000..21c3ee471 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437408.jpg b/RWT_Cache/Textures/20/mbs845320x437408.jpg new file mode 100644 index 000000000..5ca46e722 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437409.jpg b/RWT_Cache/Textures/20/mbs845320x437409.jpg new file mode 100644 index 000000000..efdf65824 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437410.jpg b/RWT_Cache/Textures/20/mbs845320x437410.jpg new file mode 100644 index 000000000..edb5008de Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437411.jpg b/RWT_Cache/Textures/20/mbs845320x437411.jpg new file mode 100644 index 000000000..436257bb8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437412.jpg b/RWT_Cache/Textures/20/mbs845320x437412.jpg new file mode 100644 index 000000000..7da9153ff Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437413.jpg b/RWT_Cache/Textures/20/mbs845320x437413.jpg new file mode 100644 index 000000000..6239497a9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437414.jpg b/RWT_Cache/Textures/20/mbs845320x437414.jpg new file mode 100644 index 000000000..86e3cdfdd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437415.jpg b/RWT_Cache/Textures/20/mbs845320x437415.jpg new file mode 100644 index 000000000..802552900 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437416.jpg b/RWT_Cache/Textures/20/mbs845320x437416.jpg new file mode 100644 index 000000000..2c2d21820 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437417.jpg b/RWT_Cache/Textures/20/mbs845320x437417.jpg new file mode 100644 index 000000000..b189deca1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437418.jpg b/RWT_Cache/Textures/20/mbs845320x437418.jpg new file mode 100644 index 000000000..5e718461a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437419.jpg b/RWT_Cache/Textures/20/mbs845320x437419.jpg new file mode 100644 index 000000000..a564bb431 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437420.jpg b/RWT_Cache/Textures/20/mbs845320x437420.jpg new file mode 100644 index 000000000..90374edff Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437421.jpg b/RWT_Cache/Textures/20/mbs845320x437421.jpg new file mode 100644 index 000000000..144b7e3d1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437422.jpg b/RWT_Cache/Textures/20/mbs845320x437422.jpg new file mode 100644 index 000000000..0cc3da88d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437423.jpg b/RWT_Cache/Textures/20/mbs845320x437423.jpg new file mode 100644 index 000000000..f6fc30c3b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437424.jpg b/RWT_Cache/Textures/20/mbs845320x437424.jpg new file mode 100644 index 000000000..7f81bf923 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437425.jpg b/RWT_Cache/Textures/20/mbs845320x437425.jpg new file mode 100644 index 000000000..921d29166 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437426.jpg b/RWT_Cache/Textures/20/mbs845320x437426.jpg new file mode 100644 index 000000000..15fe08aea Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437427.jpg b/RWT_Cache/Textures/20/mbs845320x437427.jpg new file mode 100644 index 000000000..ce3436cf4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437428.jpg b/RWT_Cache/Textures/20/mbs845320x437428.jpg new file mode 100644 index 000000000..aaae24679 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437429.jpg b/RWT_Cache/Textures/20/mbs845320x437429.jpg new file mode 100644 index 000000000..e0f38d677 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437430.jpg b/RWT_Cache/Textures/20/mbs845320x437430.jpg new file mode 100644 index 000000000..2677aa37a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437431.jpg b/RWT_Cache/Textures/20/mbs845320x437431.jpg new file mode 100644 index 000000000..f2abfb7f9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437432.jpg b/RWT_Cache/Textures/20/mbs845320x437432.jpg new file mode 100644 index 000000000..94cba13b9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437433.jpg b/RWT_Cache/Textures/20/mbs845320x437433.jpg new file mode 100644 index 000000000..f188e7fed Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437434.jpg b/RWT_Cache/Textures/20/mbs845320x437434.jpg new file mode 100644 index 000000000..761fc4f40 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437435.jpg b/RWT_Cache/Textures/20/mbs845320x437435.jpg new file mode 100644 index 000000000..382e43c9e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437436.jpg b/RWT_Cache/Textures/20/mbs845320x437436.jpg new file mode 100644 index 000000000..ac532bc81 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437437.jpg b/RWT_Cache/Textures/20/mbs845320x437437.jpg new file mode 100644 index 000000000..daf1ac8ca Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437438.jpg b/RWT_Cache/Textures/20/mbs845320x437438.jpg new file mode 100644 index 000000000..9d3fa0007 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437439.jpg b/RWT_Cache/Textures/20/mbs845320x437439.jpg new file mode 100644 index 000000000..d80338081 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437440.jpg b/RWT_Cache/Textures/20/mbs845320x437440.jpg new file mode 100644 index 000000000..76d53e5b5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437441.jpg b/RWT_Cache/Textures/20/mbs845320x437441.jpg new file mode 100644 index 000000000..beddf4076 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437442.jpg b/RWT_Cache/Textures/20/mbs845320x437442.jpg new file mode 100644 index 000000000..96eaf8389 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437443.jpg b/RWT_Cache/Textures/20/mbs845320x437443.jpg new file mode 100644 index 000000000..dc86337ad Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437444.jpg b/RWT_Cache/Textures/20/mbs845320x437444.jpg new file mode 100644 index 000000000..7a491b372 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437445.jpg b/RWT_Cache/Textures/20/mbs845320x437445.jpg new file mode 100644 index 000000000..a5ba6bae3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437446.jpg b/RWT_Cache/Textures/20/mbs845320x437446.jpg new file mode 100644 index 000000000..f67c9fd03 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845320x437447.jpg b/RWT_Cache/Textures/20/mbs845320x437447.jpg new file mode 100644 index 000000000..283d50ea5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845320x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437391.jpg b/RWT_Cache/Textures/20/mbs845321x437391.jpg new file mode 100644 index 000000000..233b00ef5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437392.jpg b/RWT_Cache/Textures/20/mbs845321x437392.jpg new file mode 100644 index 000000000..19953396f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437393.jpg b/RWT_Cache/Textures/20/mbs845321x437393.jpg new file mode 100644 index 000000000..1497dae99 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437394.jpg b/RWT_Cache/Textures/20/mbs845321x437394.jpg new file mode 100644 index 000000000..862bb9b5f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437395.jpg b/RWT_Cache/Textures/20/mbs845321x437395.jpg new file mode 100644 index 000000000..02e9b9ad0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437396.jpg b/RWT_Cache/Textures/20/mbs845321x437396.jpg new file mode 100644 index 000000000..677542e64 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437397.jpg b/RWT_Cache/Textures/20/mbs845321x437397.jpg new file mode 100644 index 000000000..8eade44af Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437398.jpg b/RWT_Cache/Textures/20/mbs845321x437398.jpg new file mode 100644 index 000000000..c39a8be25 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437399.jpg b/RWT_Cache/Textures/20/mbs845321x437399.jpg new file mode 100644 index 000000000..827bec3cc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437400.jpg b/RWT_Cache/Textures/20/mbs845321x437400.jpg new file mode 100644 index 000000000..648da128a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437401.jpg b/RWT_Cache/Textures/20/mbs845321x437401.jpg new file mode 100644 index 000000000..51006bc02 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437402.jpg b/RWT_Cache/Textures/20/mbs845321x437402.jpg new file mode 100644 index 000000000..6625a6873 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437403.jpg b/RWT_Cache/Textures/20/mbs845321x437403.jpg new file mode 100644 index 000000000..093bab6bf Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437404.jpg b/RWT_Cache/Textures/20/mbs845321x437404.jpg new file mode 100644 index 000000000..901efb637 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437405.jpg b/RWT_Cache/Textures/20/mbs845321x437405.jpg new file mode 100644 index 000000000..abe94b275 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437406.jpg b/RWT_Cache/Textures/20/mbs845321x437406.jpg new file mode 100644 index 000000000..644415a25 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437407.jpg b/RWT_Cache/Textures/20/mbs845321x437407.jpg new file mode 100644 index 000000000..49a7227f4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437408.jpg b/RWT_Cache/Textures/20/mbs845321x437408.jpg new file mode 100644 index 000000000..b5caaddf3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437409.jpg b/RWT_Cache/Textures/20/mbs845321x437409.jpg new file mode 100644 index 000000000..846fa6412 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437410.jpg b/RWT_Cache/Textures/20/mbs845321x437410.jpg new file mode 100644 index 000000000..e4df8aac5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437411.jpg b/RWT_Cache/Textures/20/mbs845321x437411.jpg new file mode 100644 index 000000000..a5c2031e4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437412.jpg b/RWT_Cache/Textures/20/mbs845321x437412.jpg new file mode 100644 index 000000000..15454a497 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437413.jpg b/RWT_Cache/Textures/20/mbs845321x437413.jpg new file mode 100644 index 000000000..01a09da28 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437414.jpg b/RWT_Cache/Textures/20/mbs845321x437414.jpg new file mode 100644 index 000000000..4b2a3a25d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437415.jpg b/RWT_Cache/Textures/20/mbs845321x437415.jpg new file mode 100644 index 000000000..3ab7d142e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437416.jpg b/RWT_Cache/Textures/20/mbs845321x437416.jpg new file mode 100644 index 000000000..37e7fcb80 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437417.jpg b/RWT_Cache/Textures/20/mbs845321x437417.jpg new file mode 100644 index 000000000..bd229f903 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437418.jpg b/RWT_Cache/Textures/20/mbs845321x437418.jpg new file mode 100644 index 000000000..34d12c781 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437419.jpg b/RWT_Cache/Textures/20/mbs845321x437419.jpg new file mode 100644 index 000000000..cf9ab87de Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437420.jpg b/RWT_Cache/Textures/20/mbs845321x437420.jpg new file mode 100644 index 000000000..8925f8e87 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437421.jpg b/RWT_Cache/Textures/20/mbs845321x437421.jpg new file mode 100644 index 000000000..97cb83dd2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437422.jpg b/RWT_Cache/Textures/20/mbs845321x437422.jpg new file mode 100644 index 000000000..2701bbda6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437423.jpg b/RWT_Cache/Textures/20/mbs845321x437423.jpg new file mode 100644 index 000000000..d181dfff8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437424.jpg b/RWT_Cache/Textures/20/mbs845321x437424.jpg new file mode 100644 index 000000000..f0acbc0bd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437425.jpg b/RWT_Cache/Textures/20/mbs845321x437425.jpg new file mode 100644 index 000000000..f57196752 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437426.jpg b/RWT_Cache/Textures/20/mbs845321x437426.jpg new file mode 100644 index 000000000..30b3e4991 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437427.jpg b/RWT_Cache/Textures/20/mbs845321x437427.jpg new file mode 100644 index 000000000..0bbaf8d90 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437428.jpg b/RWT_Cache/Textures/20/mbs845321x437428.jpg new file mode 100644 index 000000000..bdc8559dd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437429.jpg b/RWT_Cache/Textures/20/mbs845321x437429.jpg new file mode 100644 index 000000000..113bfd8a9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437430.jpg b/RWT_Cache/Textures/20/mbs845321x437430.jpg new file mode 100644 index 000000000..f90db7232 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437431.jpg b/RWT_Cache/Textures/20/mbs845321x437431.jpg new file mode 100644 index 000000000..0fc0f5f02 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437432.jpg b/RWT_Cache/Textures/20/mbs845321x437432.jpg new file mode 100644 index 000000000..8d4e7e5fb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437433.jpg b/RWT_Cache/Textures/20/mbs845321x437433.jpg new file mode 100644 index 000000000..dcba5d220 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437434.jpg b/RWT_Cache/Textures/20/mbs845321x437434.jpg new file mode 100644 index 000000000..933ffd325 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437435.jpg b/RWT_Cache/Textures/20/mbs845321x437435.jpg new file mode 100644 index 000000000..6109f1ec6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437436.jpg b/RWT_Cache/Textures/20/mbs845321x437436.jpg new file mode 100644 index 000000000..383b2079b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437437.jpg b/RWT_Cache/Textures/20/mbs845321x437437.jpg new file mode 100644 index 000000000..df2623c90 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437438.jpg b/RWT_Cache/Textures/20/mbs845321x437438.jpg new file mode 100644 index 000000000..04e20fa6c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437439.jpg b/RWT_Cache/Textures/20/mbs845321x437439.jpg new file mode 100644 index 000000000..b00b1db14 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437440.jpg b/RWT_Cache/Textures/20/mbs845321x437440.jpg new file mode 100644 index 000000000..318b98b8c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437441.jpg b/RWT_Cache/Textures/20/mbs845321x437441.jpg new file mode 100644 index 000000000..657ba014e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437442.jpg b/RWT_Cache/Textures/20/mbs845321x437442.jpg new file mode 100644 index 000000000..d67efded1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437443.jpg b/RWT_Cache/Textures/20/mbs845321x437443.jpg new file mode 100644 index 000000000..4a461f10e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437444.jpg b/RWT_Cache/Textures/20/mbs845321x437444.jpg new file mode 100644 index 000000000..a94d2d86e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437445.jpg b/RWT_Cache/Textures/20/mbs845321x437445.jpg new file mode 100644 index 000000000..e23360979 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437446.jpg b/RWT_Cache/Textures/20/mbs845321x437446.jpg new file mode 100644 index 000000000..24489f561 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845321x437447.jpg b/RWT_Cache/Textures/20/mbs845321x437447.jpg new file mode 100644 index 000000000..0e2c97e8f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845321x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437391.jpg b/RWT_Cache/Textures/20/mbs845322x437391.jpg new file mode 100644 index 000000000..b5e67428c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437392.jpg b/RWT_Cache/Textures/20/mbs845322x437392.jpg new file mode 100644 index 000000000..0f634a7b8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437393.jpg b/RWT_Cache/Textures/20/mbs845322x437393.jpg new file mode 100644 index 000000000..8f07f5e58 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437394.jpg b/RWT_Cache/Textures/20/mbs845322x437394.jpg new file mode 100644 index 000000000..98b3f3c19 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437395.jpg b/RWT_Cache/Textures/20/mbs845322x437395.jpg new file mode 100644 index 000000000..ce83f2790 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437396.jpg b/RWT_Cache/Textures/20/mbs845322x437396.jpg new file mode 100644 index 000000000..38a7c8c81 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437397.jpg b/RWT_Cache/Textures/20/mbs845322x437397.jpg new file mode 100644 index 000000000..b53240253 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437398.jpg b/RWT_Cache/Textures/20/mbs845322x437398.jpg new file mode 100644 index 000000000..3ee468029 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437399.jpg b/RWT_Cache/Textures/20/mbs845322x437399.jpg new file mode 100644 index 000000000..c51cb94e9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437400.jpg b/RWT_Cache/Textures/20/mbs845322x437400.jpg new file mode 100644 index 000000000..3cc928530 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437401.jpg b/RWT_Cache/Textures/20/mbs845322x437401.jpg new file mode 100644 index 000000000..a55f8ea0f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437402.jpg b/RWT_Cache/Textures/20/mbs845322x437402.jpg new file mode 100644 index 000000000..b8d688ef5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437403.jpg b/RWT_Cache/Textures/20/mbs845322x437403.jpg new file mode 100644 index 000000000..20105fafb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437404.jpg b/RWT_Cache/Textures/20/mbs845322x437404.jpg new file mode 100644 index 000000000..d60f9e47b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437405.jpg b/RWT_Cache/Textures/20/mbs845322x437405.jpg new file mode 100644 index 000000000..c5828867f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437406.jpg b/RWT_Cache/Textures/20/mbs845322x437406.jpg new file mode 100644 index 000000000..5099e1a24 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437407.jpg b/RWT_Cache/Textures/20/mbs845322x437407.jpg new file mode 100644 index 000000000..52d479517 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437408.jpg b/RWT_Cache/Textures/20/mbs845322x437408.jpg new file mode 100644 index 000000000..e0956827a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437409.jpg b/RWT_Cache/Textures/20/mbs845322x437409.jpg new file mode 100644 index 000000000..49f999acd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437410.jpg b/RWT_Cache/Textures/20/mbs845322x437410.jpg new file mode 100644 index 000000000..fedb32e04 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437411.jpg b/RWT_Cache/Textures/20/mbs845322x437411.jpg new file mode 100644 index 000000000..af9030290 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437412.jpg b/RWT_Cache/Textures/20/mbs845322x437412.jpg new file mode 100644 index 000000000..d1728bc1a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437413.jpg b/RWT_Cache/Textures/20/mbs845322x437413.jpg new file mode 100644 index 000000000..3004551b2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437414.jpg b/RWT_Cache/Textures/20/mbs845322x437414.jpg new file mode 100644 index 000000000..c2244bf50 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437415.jpg b/RWT_Cache/Textures/20/mbs845322x437415.jpg new file mode 100644 index 000000000..e0e81cf3f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437416.jpg b/RWT_Cache/Textures/20/mbs845322x437416.jpg new file mode 100644 index 000000000..b6653756d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437417.jpg b/RWT_Cache/Textures/20/mbs845322x437417.jpg new file mode 100644 index 000000000..185b95183 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437418.jpg b/RWT_Cache/Textures/20/mbs845322x437418.jpg new file mode 100644 index 000000000..4add5d077 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437419.jpg b/RWT_Cache/Textures/20/mbs845322x437419.jpg new file mode 100644 index 000000000..5e87e822a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437420.jpg b/RWT_Cache/Textures/20/mbs845322x437420.jpg new file mode 100644 index 000000000..a64740f17 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437421.jpg b/RWT_Cache/Textures/20/mbs845322x437421.jpg new file mode 100644 index 000000000..50dd1c733 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437422.jpg b/RWT_Cache/Textures/20/mbs845322x437422.jpg new file mode 100644 index 000000000..ccfad2d75 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437423.jpg b/RWT_Cache/Textures/20/mbs845322x437423.jpg new file mode 100644 index 000000000..47568ee47 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437424.jpg b/RWT_Cache/Textures/20/mbs845322x437424.jpg new file mode 100644 index 000000000..78228fcf1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437425.jpg b/RWT_Cache/Textures/20/mbs845322x437425.jpg new file mode 100644 index 000000000..bb01f6a54 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437426.jpg b/RWT_Cache/Textures/20/mbs845322x437426.jpg new file mode 100644 index 000000000..0f68af1fc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437427.jpg b/RWT_Cache/Textures/20/mbs845322x437427.jpg new file mode 100644 index 000000000..ad73e2b85 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437428.jpg b/RWT_Cache/Textures/20/mbs845322x437428.jpg new file mode 100644 index 000000000..f60ce32dd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437429.jpg b/RWT_Cache/Textures/20/mbs845322x437429.jpg new file mode 100644 index 000000000..1e516e353 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437430.jpg b/RWT_Cache/Textures/20/mbs845322x437430.jpg new file mode 100644 index 000000000..813ff921b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437431.jpg b/RWT_Cache/Textures/20/mbs845322x437431.jpg new file mode 100644 index 000000000..f51799366 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437432.jpg b/RWT_Cache/Textures/20/mbs845322x437432.jpg new file mode 100644 index 000000000..f4e410475 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437433.jpg b/RWT_Cache/Textures/20/mbs845322x437433.jpg new file mode 100644 index 000000000..5dbe7fd75 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437434.jpg b/RWT_Cache/Textures/20/mbs845322x437434.jpg new file mode 100644 index 000000000..7dc026b45 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437435.jpg b/RWT_Cache/Textures/20/mbs845322x437435.jpg new file mode 100644 index 000000000..695cda9c7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437436.jpg b/RWT_Cache/Textures/20/mbs845322x437436.jpg new file mode 100644 index 000000000..5dde4b678 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437437.jpg b/RWT_Cache/Textures/20/mbs845322x437437.jpg new file mode 100644 index 000000000..d1d215605 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437438.jpg b/RWT_Cache/Textures/20/mbs845322x437438.jpg new file mode 100644 index 000000000..b8ac3e89a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437439.jpg b/RWT_Cache/Textures/20/mbs845322x437439.jpg new file mode 100644 index 000000000..60878145e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437440.jpg b/RWT_Cache/Textures/20/mbs845322x437440.jpg new file mode 100644 index 000000000..b8498d9ae Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437441.jpg b/RWT_Cache/Textures/20/mbs845322x437441.jpg new file mode 100644 index 000000000..d17e0acdd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437442.jpg b/RWT_Cache/Textures/20/mbs845322x437442.jpg new file mode 100644 index 000000000..7814d9247 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437443.jpg b/RWT_Cache/Textures/20/mbs845322x437443.jpg new file mode 100644 index 000000000..f6b2b3703 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437444.jpg b/RWT_Cache/Textures/20/mbs845322x437444.jpg new file mode 100644 index 000000000..5bd76674a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437445.jpg b/RWT_Cache/Textures/20/mbs845322x437445.jpg new file mode 100644 index 000000000..014ea3c09 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437446.jpg b/RWT_Cache/Textures/20/mbs845322x437446.jpg new file mode 100644 index 000000000..f7795a66c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845322x437447.jpg b/RWT_Cache/Textures/20/mbs845322x437447.jpg new file mode 100644 index 000000000..f6c7d1ebc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845322x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437391.jpg b/RWT_Cache/Textures/20/mbs845323x437391.jpg new file mode 100644 index 000000000..f68303896 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437392.jpg b/RWT_Cache/Textures/20/mbs845323x437392.jpg new file mode 100644 index 000000000..501ff3cf9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437393.jpg b/RWT_Cache/Textures/20/mbs845323x437393.jpg new file mode 100644 index 000000000..0c442a631 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437394.jpg b/RWT_Cache/Textures/20/mbs845323x437394.jpg new file mode 100644 index 000000000..a23600179 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437395.jpg b/RWT_Cache/Textures/20/mbs845323x437395.jpg new file mode 100644 index 000000000..79f6318be Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437396.jpg b/RWT_Cache/Textures/20/mbs845323x437396.jpg new file mode 100644 index 000000000..d18b5a989 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437397.jpg b/RWT_Cache/Textures/20/mbs845323x437397.jpg new file mode 100644 index 000000000..21cb3d332 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437398.jpg b/RWT_Cache/Textures/20/mbs845323x437398.jpg new file mode 100644 index 000000000..3ce5c6d78 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437399.jpg b/RWT_Cache/Textures/20/mbs845323x437399.jpg new file mode 100644 index 000000000..f83c7ac35 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437400.jpg b/RWT_Cache/Textures/20/mbs845323x437400.jpg new file mode 100644 index 000000000..139bfb3ea Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437401.jpg b/RWT_Cache/Textures/20/mbs845323x437401.jpg new file mode 100644 index 000000000..069e5758e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437402.jpg b/RWT_Cache/Textures/20/mbs845323x437402.jpg new file mode 100644 index 000000000..0026efef9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437403.jpg b/RWT_Cache/Textures/20/mbs845323x437403.jpg new file mode 100644 index 000000000..173f99bce Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437404.jpg b/RWT_Cache/Textures/20/mbs845323x437404.jpg new file mode 100644 index 000000000..2274b7097 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437405.jpg b/RWT_Cache/Textures/20/mbs845323x437405.jpg new file mode 100644 index 000000000..710fb2fee Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437406.jpg b/RWT_Cache/Textures/20/mbs845323x437406.jpg new file mode 100644 index 000000000..0594d9cb3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437407.jpg b/RWT_Cache/Textures/20/mbs845323x437407.jpg new file mode 100644 index 000000000..f7c9b6d14 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437408.jpg b/RWT_Cache/Textures/20/mbs845323x437408.jpg new file mode 100644 index 000000000..13befa3bb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437409.jpg b/RWT_Cache/Textures/20/mbs845323x437409.jpg new file mode 100644 index 000000000..568ea12be Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437410.jpg b/RWT_Cache/Textures/20/mbs845323x437410.jpg new file mode 100644 index 000000000..3b6c97903 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437411.jpg b/RWT_Cache/Textures/20/mbs845323x437411.jpg new file mode 100644 index 000000000..1faf1f8c7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437412.jpg b/RWT_Cache/Textures/20/mbs845323x437412.jpg new file mode 100644 index 000000000..e3876cab6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437413.jpg b/RWT_Cache/Textures/20/mbs845323x437413.jpg new file mode 100644 index 000000000..6a21abcf9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437414.jpg b/RWT_Cache/Textures/20/mbs845323x437414.jpg new file mode 100644 index 000000000..2cbc09c2c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437415.jpg b/RWT_Cache/Textures/20/mbs845323x437415.jpg new file mode 100644 index 000000000..c4e462f21 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437416.jpg b/RWT_Cache/Textures/20/mbs845323x437416.jpg new file mode 100644 index 000000000..1f90f352b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437417.jpg b/RWT_Cache/Textures/20/mbs845323x437417.jpg new file mode 100644 index 000000000..62bf452d5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437418.jpg b/RWT_Cache/Textures/20/mbs845323x437418.jpg new file mode 100644 index 000000000..300ba8d68 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437419.jpg b/RWT_Cache/Textures/20/mbs845323x437419.jpg new file mode 100644 index 000000000..ff8a33671 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437420.jpg b/RWT_Cache/Textures/20/mbs845323x437420.jpg new file mode 100644 index 000000000..fbed5acc0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437421.jpg b/RWT_Cache/Textures/20/mbs845323x437421.jpg new file mode 100644 index 000000000..877884ae8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437422.jpg b/RWT_Cache/Textures/20/mbs845323x437422.jpg new file mode 100644 index 000000000..381bfe6b1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437423.jpg b/RWT_Cache/Textures/20/mbs845323x437423.jpg new file mode 100644 index 000000000..e78cc53e4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437424.jpg b/RWT_Cache/Textures/20/mbs845323x437424.jpg new file mode 100644 index 000000000..f5b4aaa76 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437425.jpg b/RWT_Cache/Textures/20/mbs845323x437425.jpg new file mode 100644 index 000000000..5305f6d52 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437426.jpg b/RWT_Cache/Textures/20/mbs845323x437426.jpg new file mode 100644 index 000000000..da2260a92 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437427.jpg b/RWT_Cache/Textures/20/mbs845323x437427.jpg new file mode 100644 index 000000000..8df9436ba Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437428.jpg b/RWT_Cache/Textures/20/mbs845323x437428.jpg new file mode 100644 index 000000000..bcea084b7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437429.jpg b/RWT_Cache/Textures/20/mbs845323x437429.jpg new file mode 100644 index 000000000..0ca3ef7a8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437430.jpg b/RWT_Cache/Textures/20/mbs845323x437430.jpg new file mode 100644 index 000000000..8e718dcc8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437431.jpg b/RWT_Cache/Textures/20/mbs845323x437431.jpg new file mode 100644 index 000000000..26f93e08a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437432.jpg b/RWT_Cache/Textures/20/mbs845323x437432.jpg new file mode 100644 index 000000000..db5a973d5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437433.jpg b/RWT_Cache/Textures/20/mbs845323x437433.jpg new file mode 100644 index 000000000..93d6966bb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437434.jpg b/RWT_Cache/Textures/20/mbs845323x437434.jpg new file mode 100644 index 000000000..b08c4f784 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437435.jpg b/RWT_Cache/Textures/20/mbs845323x437435.jpg new file mode 100644 index 000000000..8dbc6ddda Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437436.jpg b/RWT_Cache/Textures/20/mbs845323x437436.jpg new file mode 100644 index 000000000..a9339dffb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437437.jpg b/RWT_Cache/Textures/20/mbs845323x437437.jpg new file mode 100644 index 000000000..31dcecea7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437438.jpg b/RWT_Cache/Textures/20/mbs845323x437438.jpg new file mode 100644 index 000000000..2a7eeb481 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437439.jpg b/RWT_Cache/Textures/20/mbs845323x437439.jpg new file mode 100644 index 000000000..dee3351c1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437440.jpg b/RWT_Cache/Textures/20/mbs845323x437440.jpg new file mode 100644 index 000000000..029700c1f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437441.jpg b/RWT_Cache/Textures/20/mbs845323x437441.jpg new file mode 100644 index 000000000..6c4df130e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437442.jpg b/RWT_Cache/Textures/20/mbs845323x437442.jpg new file mode 100644 index 000000000..7087f38db Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437443.jpg b/RWT_Cache/Textures/20/mbs845323x437443.jpg new file mode 100644 index 000000000..c9a5becc9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437444.jpg b/RWT_Cache/Textures/20/mbs845323x437444.jpg new file mode 100644 index 000000000..f9c9072d0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437445.jpg b/RWT_Cache/Textures/20/mbs845323x437445.jpg new file mode 100644 index 000000000..cf2c83f25 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437446.jpg b/RWT_Cache/Textures/20/mbs845323x437446.jpg new file mode 100644 index 000000000..ea4b02f33 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845323x437447.jpg b/RWT_Cache/Textures/20/mbs845323x437447.jpg new file mode 100644 index 000000000..425b69004 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845323x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437391.jpg b/RWT_Cache/Textures/20/mbs845324x437391.jpg new file mode 100644 index 000000000..238018b49 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437392.jpg b/RWT_Cache/Textures/20/mbs845324x437392.jpg new file mode 100644 index 000000000..a63173f3c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437393.jpg b/RWT_Cache/Textures/20/mbs845324x437393.jpg new file mode 100644 index 000000000..5f0513b72 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437394.jpg b/RWT_Cache/Textures/20/mbs845324x437394.jpg new file mode 100644 index 000000000..31e430899 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437395.jpg b/RWT_Cache/Textures/20/mbs845324x437395.jpg new file mode 100644 index 000000000..bd8d3afdd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437396.jpg b/RWT_Cache/Textures/20/mbs845324x437396.jpg new file mode 100644 index 000000000..314bb3e37 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437397.jpg b/RWT_Cache/Textures/20/mbs845324x437397.jpg new file mode 100644 index 000000000..ace085c17 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437398.jpg b/RWT_Cache/Textures/20/mbs845324x437398.jpg new file mode 100644 index 000000000..d8ef48249 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437399.jpg b/RWT_Cache/Textures/20/mbs845324x437399.jpg new file mode 100644 index 000000000..20e243021 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437400.jpg b/RWT_Cache/Textures/20/mbs845324x437400.jpg new file mode 100644 index 000000000..d21b27bb0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437401.jpg b/RWT_Cache/Textures/20/mbs845324x437401.jpg new file mode 100644 index 000000000..e1ad5ac65 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437402.jpg b/RWT_Cache/Textures/20/mbs845324x437402.jpg new file mode 100644 index 000000000..44844959a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437403.jpg b/RWT_Cache/Textures/20/mbs845324x437403.jpg new file mode 100644 index 000000000..f73a995c2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437404.jpg b/RWT_Cache/Textures/20/mbs845324x437404.jpg new file mode 100644 index 000000000..e4475ddda Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437405.jpg b/RWT_Cache/Textures/20/mbs845324x437405.jpg new file mode 100644 index 000000000..1b916bcbe Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437406.jpg b/RWT_Cache/Textures/20/mbs845324x437406.jpg new file mode 100644 index 000000000..03f9107da Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437407.jpg b/RWT_Cache/Textures/20/mbs845324x437407.jpg new file mode 100644 index 000000000..7ae579c1d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437408.jpg b/RWT_Cache/Textures/20/mbs845324x437408.jpg new file mode 100644 index 000000000..d467ead56 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437409.jpg b/RWT_Cache/Textures/20/mbs845324x437409.jpg new file mode 100644 index 000000000..a8e79448f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437410.jpg b/RWT_Cache/Textures/20/mbs845324x437410.jpg new file mode 100644 index 000000000..b7b3b8f6b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437411.jpg b/RWT_Cache/Textures/20/mbs845324x437411.jpg new file mode 100644 index 000000000..33a561ffa Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437412.jpg b/RWT_Cache/Textures/20/mbs845324x437412.jpg new file mode 100644 index 000000000..0bd1051b3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437413.jpg b/RWT_Cache/Textures/20/mbs845324x437413.jpg new file mode 100644 index 000000000..dc962ebb4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437414.jpg b/RWT_Cache/Textures/20/mbs845324x437414.jpg new file mode 100644 index 000000000..8357b03b3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437415.jpg b/RWT_Cache/Textures/20/mbs845324x437415.jpg new file mode 100644 index 000000000..957797daa Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437416.jpg b/RWT_Cache/Textures/20/mbs845324x437416.jpg new file mode 100644 index 000000000..a262d998e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437417.jpg b/RWT_Cache/Textures/20/mbs845324x437417.jpg new file mode 100644 index 000000000..c789d93c1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437418.jpg b/RWT_Cache/Textures/20/mbs845324x437418.jpg new file mode 100644 index 000000000..d957eb720 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437419.jpg b/RWT_Cache/Textures/20/mbs845324x437419.jpg new file mode 100644 index 000000000..591f13005 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437420.jpg b/RWT_Cache/Textures/20/mbs845324x437420.jpg new file mode 100644 index 000000000..c0f65dca4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437421.jpg b/RWT_Cache/Textures/20/mbs845324x437421.jpg new file mode 100644 index 000000000..b0fd3b69e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437422.jpg b/RWT_Cache/Textures/20/mbs845324x437422.jpg new file mode 100644 index 000000000..2a48ef7d9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437423.jpg b/RWT_Cache/Textures/20/mbs845324x437423.jpg new file mode 100644 index 000000000..7d8f35537 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437424.jpg b/RWT_Cache/Textures/20/mbs845324x437424.jpg new file mode 100644 index 000000000..a900d8ec0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437425.jpg b/RWT_Cache/Textures/20/mbs845324x437425.jpg new file mode 100644 index 000000000..260cf0a55 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437426.jpg b/RWT_Cache/Textures/20/mbs845324x437426.jpg new file mode 100644 index 000000000..c5ba7519e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437427.jpg b/RWT_Cache/Textures/20/mbs845324x437427.jpg new file mode 100644 index 000000000..330f7f5cc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437428.jpg b/RWT_Cache/Textures/20/mbs845324x437428.jpg new file mode 100644 index 000000000..ef217c46e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437429.jpg b/RWT_Cache/Textures/20/mbs845324x437429.jpg new file mode 100644 index 000000000..ea115eb41 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437430.jpg b/RWT_Cache/Textures/20/mbs845324x437430.jpg new file mode 100644 index 000000000..e807bc05c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437431.jpg b/RWT_Cache/Textures/20/mbs845324x437431.jpg new file mode 100644 index 000000000..c187cf137 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437432.jpg b/RWT_Cache/Textures/20/mbs845324x437432.jpg new file mode 100644 index 000000000..48e7ffc19 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437433.jpg b/RWT_Cache/Textures/20/mbs845324x437433.jpg new file mode 100644 index 000000000..961d5e369 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437434.jpg b/RWT_Cache/Textures/20/mbs845324x437434.jpg new file mode 100644 index 000000000..415c41fe3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437435.jpg b/RWT_Cache/Textures/20/mbs845324x437435.jpg new file mode 100644 index 000000000..0c66b1b8d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437436.jpg b/RWT_Cache/Textures/20/mbs845324x437436.jpg new file mode 100644 index 000000000..53c0e1536 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437437.jpg b/RWT_Cache/Textures/20/mbs845324x437437.jpg new file mode 100644 index 000000000..8a80ee98d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437438.jpg b/RWT_Cache/Textures/20/mbs845324x437438.jpg new file mode 100644 index 000000000..7f9360fa4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437439.jpg b/RWT_Cache/Textures/20/mbs845324x437439.jpg new file mode 100644 index 000000000..a8b6aa49a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437440.jpg b/RWT_Cache/Textures/20/mbs845324x437440.jpg new file mode 100644 index 000000000..c3d8e5394 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437441.jpg b/RWT_Cache/Textures/20/mbs845324x437441.jpg new file mode 100644 index 000000000..b87bff2a6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437442.jpg b/RWT_Cache/Textures/20/mbs845324x437442.jpg new file mode 100644 index 000000000..522288bc1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437443.jpg b/RWT_Cache/Textures/20/mbs845324x437443.jpg new file mode 100644 index 000000000..068536d1a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437444.jpg b/RWT_Cache/Textures/20/mbs845324x437444.jpg new file mode 100644 index 000000000..5c90d4f8e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437445.jpg b/RWT_Cache/Textures/20/mbs845324x437445.jpg new file mode 100644 index 000000000..565ed44fb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437446.jpg b/RWT_Cache/Textures/20/mbs845324x437446.jpg new file mode 100644 index 000000000..635255311 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845324x437447.jpg b/RWT_Cache/Textures/20/mbs845324x437447.jpg new file mode 100644 index 000000000..b285da479 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845324x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437391.jpg b/RWT_Cache/Textures/20/mbs845325x437391.jpg new file mode 100644 index 000000000..43ab685dc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437392.jpg b/RWT_Cache/Textures/20/mbs845325x437392.jpg new file mode 100644 index 000000000..db6d1ee9a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437393.jpg b/RWT_Cache/Textures/20/mbs845325x437393.jpg new file mode 100644 index 000000000..6bf015686 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437394.jpg b/RWT_Cache/Textures/20/mbs845325x437394.jpg new file mode 100644 index 000000000..691c09000 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437395.jpg b/RWT_Cache/Textures/20/mbs845325x437395.jpg new file mode 100644 index 000000000..13797373a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437396.jpg b/RWT_Cache/Textures/20/mbs845325x437396.jpg new file mode 100644 index 000000000..dd1da5ad1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437397.jpg b/RWT_Cache/Textures/20/mbs845325x437397.jpg new file mode 100644 index 000000000..381950eb2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437398.jpg b/RWT_Cache/Textures/20/mbs845325x437398.jpg new file mode 100644 index 000000000..b00e894fc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437399.jpg b/RWT_Cache/Textures/20/mbs845325x437399.jpg new file mode 100644 index 000000000..fbd6d0e72 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437400.jpg b/RWT_Cache/Textures/20/mbs845325x437400.jpg new file mode 100644 index 000000000..d7c859759 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437401.jpg b/RWT_Cache/Textures/20/mbs845325x437401.jpg new file mode 100644 index 000000000..344048e8b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437402.jpg b/RWT_Cache/Textures/20/mbs845325x437402.jpg new file mode 100644 index 000000000..037c94170 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437403.jpg b/RWT_Cache/Textures/20/mbs845325x437403.jpg new file mode 100644 index 000000000..b3d8a7fe2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437404.jpg b/RWT_Cache/Textures/20/mbs845325x437404.jpg new file mode 100644 index 000000000..395392793 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437405.jpg b/RWT_Cache/Textures/20/mbs845325x437405.jpg new file mode 100644 index 000000000..0ba310c10 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437406.jpg b/RWT_Cache/Textures/20/mbs845325x437406.jpg new file mode 100644 index 000000000..03f9107da Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437407.jpg b/RWT_Cache/Textures/20/mbs845325x437407.jpg new file mode 100644 index 000000000..e8e7ec6ee Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437408.jpg b/RWT_Cache/Textures/20/mbs845325x437408.jpg new file mode 100644 index 000000000..70b97f69c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437409.jpg b/RWT_Cache/Textures/20/mbs845325x437409.jpg new file mode 100644 index 000000000..9dac06149 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437410.jpg b/RWT_Cache/Textures/20/mbs845325x437410.jpg new file mode 100644 index 000000000..ea7ddd463 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437411.jpg b/RWT_Cache/Textures/20/mbs845325x437411.jpg new file mode 100644 index 000000000..0e22df555 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437412.jpg b/RWT_Cache/Textures/20/mbs845325x437412.jpg new file mode 100644 index 000000000..a386e8016 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437413.jpg b/RWT_Cache/Textures/20/mbs845325x437413.jpg new file mode 100644 index 000000000..1fbe4bcd4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437414.jpg b/RWT_Cache/Textures/20/mbs845325x437414.jpg new file mode 100644 index 000000000..ffee244e2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437415.jpg b/RWT_Cache/Textures/20/mbs845325x437415.jpg new file mode 100644 index 000000000..99b08151b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437416.jpg b/RWT_Cache/Textures/20/mbs845325x437416.jpg new file mode 100644 index 000000000..21d0bb8a5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437417.jpg b/RWT_Cache/Textures/20/mbs845325x437417.jpg new file mode 100644 index 000000000..e4fa4ed9a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437418.jpg b/RWT_Cache/Textures/20/mbs845325x437418.jpg new file mode 100644 index 000000000..41f75073a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437419.jpg b/RWT_Cache/Textures/20/mbs845325x437419.jpg new file mode 100644 index 000000000..a1365c4a1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437420.jpg b/RWT_Cache/Textures/20/mbs845325x437420.jpg new file mode 100644 index 000000000..9bd3a71b2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437421.jpg b/RWT_Cache/Textures/20/mbs845325x437421.jpg new file mode 100644 index 000000000..32c88bc9d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437422.jpg b/RWT_Cache/Textures/20/mbs845325x437422.jpg new file mode 100644 index 000000000..14560ff36 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437423.jpg b/RWT_Cache/Textures/20/mbs845325x437423.jpg new file mode 100644 index 000000000..8d28b10f7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437424.jpg b/RWT_Cache/Textures/20/mbs845325x437424.jpg new file mode 100644 index 000000000..b6cbdd515 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437425.jpg b/RWT_Cache/Textures/20/mbs845325x437425.jpg new file mode 100644 index 000000000..bcb80e665 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437426.jpg b/RWT_Cache/Textures/20/mbs845325x437426.jpg new file mode 100644 index 000000000..1a5faf5ca Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437427.jpg b/RWT_Cache/Textures/20/mbs845325x437427.jpg new file mode 100644 index 000000000..026afe2f3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437428.jpg b/RWT_Cache/Textures/20/mbs845325x437428.jpg new file mode 100644 index 000000000..97225113e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437429.jpg b/RWT_Cache/Textures/20/mbs845325x437429.jpg new file mode 100644 index 000000000..416b93d13 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437430.jpg b/RWT_Cache/Textures/20/mbs845325x437430.jpg new file mode 100644 index 000000000..f71136a89 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437431.jpg b/RWT_Cache/Textures/20/mbs845325x437431.jpg new file mode 100644 index 000000000..ee6f7ce44 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437432.jpg b/RWT_Cache/Textures/20/mbs845325x437432.jpg new file mode 100644 index 000000000..bf5bb0b04 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437433.jpg b/RWT_Cache/Textures/20/mbs845325x437433.jpg new file mode 100644 index 000000000..48215353a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437434.jpg b/RWT_Cache/Textures/20/mbs845325x437434.jpg new file mode 100644 index 000000000..6a12eedc8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437435.jpg b/RWT_Cache/Textures/20/mbs845325x437435.jpg new file mode 100644 index 000000000..a08f2f9f7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437436.jpg b/RWT_Cache/Textures/20/mbs845325x437436.jpg new file mode 100644 index 000000000..2a6d05bcf Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437437.jpg b/RWT_Cache/Textures/20/mbs845325x437437.jpg new file mode 100644 index 000000000..0f7ced81c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437438.jpg b/RWT_Cache/Textures/20/mbs845325x437438.jpg new file mode 100644 index 000000000..c6570ae9d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437439.jpg b/RWT_Cache/Textures/20/mbs845325x437439.jpg new file mode 100644 index 000000000..f733db531 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437440.jpg b/RWT_Cache/Textures/20/mbs845325x437440.jpg new file mode 100644 index 000000000..761ebae8b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437441.jpg b/RWT_Cache/Textures/20/mbs845325x437441.jpg new file mode 100644 index 000000000..652576fc0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437442.jpg b/RWT_Cache/Textures/20/mbs845325x437442.jpg new file mode 100644 index 000000000..f1cd99332 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437443.jpg b/RWT_Cache/Textures/20/mbs845325x437443.jpg new file mode 100644 index 000000000..68fb87189 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437444.jpg b/RWT_Cache/Textures/20/mbs845325x437444.jpg new file mode 100644 index 000000000..c50743c63 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437445.jpg b/RWT_Cache/Textures/20/mbs845325x437445.jpg new file mode 100644 index 000000000..269861ce7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437446.jpg b/RWT_Cache/Textures/20/mbs845325x437446.jpg new file mode 100644 index 000000000..18f04c199 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845325x437447.jpg b/RWT_Cache/Textures/20/mbs845325x437447.jpg new file mode 100644 index 000000000..3946dca8e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845325x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437391.jpg b/RWT_Cache/Textures/20/mbs845326x437391.jpg new file mode 100644 index 000000000..a6fdcb92e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437392.jpg b/RWT_Cache/Textures/20/mbs845326x437392.jpg new file mode 100644 index 000000000..d5cf3b6a7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437393.jpg b/RWT_Cache/Textures/20/mbs845326x437393.jpg new file mode 100644 index 000000000..7633e5f5f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437394.jpg b/RWT_Cache/Textures/20/mbs845326x437394.jpg new file mode 100644 index 000000000..dbf28b52d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437395.jpg b/RWT_Cache/Textures/20/mbs845326x437395.jpg new file mode 100644 index 000000000..35964a99e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437396.jpg b/RWT_Cache/Textures/20/mbs845326x437396.jpg new file mode 100644 index 000000000..c5db7bc66 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437397.jpg b/RWT_Cache/Textures/20/mbs845326x437397.jpg new file mode 100644 index 000000000..f5bb65e5c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437398.jpg b/RWT_Cache/Textures/20/mbs845326x437398.jpg new file mode 100644 index 000000000..312b2f6e6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437399.jpg b/RWT_Cache/Textures/20/mbs845326x437399.jpg new file mode 100644 index 000000000..c2d5dc422 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437400.jpg b/RWT_Cache/Textures/20/mbs845326x437400.jpg new file mode 100644 index 000000000..edfc5dc6e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437401.jpg b/RWT_Cache/Textures/20/mbs845326x437401.jpg new file mode 100644 index 000000000..eec9d69cc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437402.jpg b/RWT_Cache/Textures/20/mbs845326x437402.jpg new file mode 100644 index 000000000..0a48c5a48 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437403.jpg b/RWT_Cache/Textures/20/mbs845326x437403.jpg new file mode 100644 index 000000000..3a2cc10c1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437404.jpg b/RWT_Cache/Textures/20/mbs845326x437404.jpg new file mode 100644 index 000000000..ef98b6e2d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437405.jpg b/RWT_Cache/Textures/20/mbs845326x437405.jpg new file mode 100644 index 000000000..2d606519e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437406.jpg b/RWT_Cache/Textures/20/mbs845326x437406.jpg new file mode 100644 index 000000000..aa450e81d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437407.jpg b/RWT_Cache/Textures/20/mbs845326x437407.jpg new file mode 100644 index 000000000..2a22efdf8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437408.jpg b/RWT_Cache/Textures/20/mbs845326x437408.jpg new file mode 100644 index 000000000..b0b84777a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437409.jpg b/RWT_Cache/Textures/20/mbs845326x437409.jpg new file mode 100644 index 000000000..342813bef Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437410.jpg b/RWT_Cache/Textures/20/mbs845326x437410.jpg new file mode 100644 index 000000000..6936be4b5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437411.jpg b/RWT_Cache/Textures/20/mbs845326x437411.jpg new file mode 100644 index 000000000..bb3f72241 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437412.jpg b/RWT_Cache/Textures/20/mbs845326x437412.jpg new file mode 100644 index 000000000..000245f7a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437413.jpg b/RWT_Cache/Textures/20/mbs845326x437413.jpg new file mode 100644 index 000000000..71de8b043 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437414.jpg b/RWT_Cache/Textures/20/mbs845326x437414.jpg new file mode 100644 index 000000000..0ed99b722 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437415.jpg b/RWT_Cache/Textures/20/mbs845326x437415.jpg new file mode 100644 index 000000000..578407465 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437416.jpg b/RWT_Cache/Textures/20/mbs845326x437416.jpg new file mode 100644 index 000000000..e1e26bbac Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437417.jpg b/RWT_Cache/Textures/20/mbs845326x437417.jpg new file mode 100644 index 000000000..5eacff5ad Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437418.jpg b/RWT_Cache/Textures/20/mbs845326x437418.jpg new file mode 100644 index 000000000..15cc30694 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437419.jpg b/RWT_Cache/Textures/20/mbs845326x437419.jpg new file mode 100644 index 000000000..19061f718 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437420.jpg b/RWT_Cache/Textures/20/mbs845326x437420.jpg new file mode 100644 index 000000000..77418c3bc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437421.jpg b/RWT_Cache/Textures/20/mbs845326x437421.jpg new file mode 100644 index 000000000..c5703008f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437422.jpg b/RWT_Cache/Textures/20/mbs845326x437422.jpg new file mode 100644 index 000000000..3e756d5e5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437423.jpg b/RWT_Cache/Textures/20/mbs845326x437423.jpg new file mode 100644 index 000000000..1aaccea21 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437424.jpg b/RWT_Cache/Textures/20/mbs845326x437424.jpg new file mode 100644 index 000000000..f0557b8ae Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437425.jpg b/RWT_Cache/Textures/20/mbs845326x437425.jpg new file mode 100644 index 000000000..940611869 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437426.jpg b/RWT_Cache/Textures/20/mbs845326x437426.jpg new file mode 100644 index 000000000..bd5b77d5a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437427.jpg b/RWT_Cache/Textures/20/mbs845326x437427.jpg new file mode 100644 index 000000000..f4cbe7195 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437428.jpg b/RWT_Cache/Textures/20/mbs845326x437428.jpg new file mode 100644 index 000000000..5be09afdc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437429.jpg b/RWT_Cache/Textures/20/mbs845326x437429.jpg new file mode 100644 index 000000000..a10638c42 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437430.jpg b/RWT_Cache/Textures/20/mbs845326x437430.jpg new file mode 100644 index 000000000..98c2e4a08 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437431.jpg b/RWT_Cache/Textures/20/mbs845326x437431.jpg new file mode 100644 index 000000000..b929df3d2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437432.jpg b/RWT_Cache/Textures/20/mbs845326x437432.jpg new file mode 100644 index 000000000..afea937eb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437433.jpg b/RWT_Cache/Textures/20/mbs845326x437433.jpg new file mode 100644 index 000000000..b2bb4c61d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437434.jpg b/RWT_Cache/Textures/20/mbs845326x437434.jpg new file mode 100644 index 000000000..cb915489f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437435.jpg b/RWT_Cache/Textures/20/mbs845326x437435.jpg new file mode 100644 index 000000000..adfd3479b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437436.jpg b/RWT_Cache/Textures/20/mbs845326x437436.jpg new file mode 100644 index 000000000..c86c2522b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437437.jpg b/RWT_Cache/Textures/20/mbs845326x437437.jpg new file mode 100644 index 000000000..d727fd67d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437438.jpg b/RWT_Cache/Textures/20/mbs845326x437438.jpg new file mode 100644 index 000000000..1018c29c0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437439.jpg b/RWT_Cache/Textures/20/mbs845326x437439.jpg new file mode 100644 index 000000000..a9a63fb13 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437440.jpg b/RWT_Cache/Textures/20/mbs845326x437440.jpg new file mode 100644 index 000000000..ef503a3c5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437441.jpg b/RWT_Cache/Textures/20/mbs845326x437441.jpg new file mode 100644 index 000000000..a30113cee Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437442.jpg b/RWT_Cache/Textures/20/mbs845326x437442.jpg new file mode 100644 index 000000000..e1223cd9b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437443.jpg b/RWT_Cache/Textures/20/mbs845326x437443.jpg new file mode 100644 index 000000000..e98735275 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437444.jpg b/RWT_Cache/Textures/20/mbs845326x437444.jpg new file mode 100644 index 000000000..e27dcc8f6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437445.jpg b/RWT_Cache/Textures/20/mbs845326x437445.jpg new file mode 100644 index 000000000..c6b30fa3a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437446.jpg b/RWT_Cache/Textures/20/mbs845326x437446.jpg new file mode 100644 index 000000000..1be3adbc5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845326x437447.jpg b/RWT_Cache/Textures/20/mbs845326x437447.jpg new file mode 100644 index 000000000..7f89f2006 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845326x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437391.jpg b/RWT_Cache/Textures/20/mbs845327x437391.jpg new file mode 100644 index 000000000..dcb5bd44a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437392.jpg b/RWT_Cache/Textures/20/mbs845327x437392.jpg new file mode 100644 index 000000000..4f8e13fef Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437393.jpg b/RWT_Cache/Textures/20/mbs845327x437393.jpg new file mode 100644 index 000000000..2326cdbb1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437394.jpg b/RWT_Cache/Textures/20/mbs845327x437394.jpg new file mode 100644 index 000000000..658a32726 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437395.jpg b/RWT_Cache/Textures/20/mbs845327x437395.jpg new file mode 100644 index 000000000..b068fe613 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437396.jpg b/RWT_Cache/Textures/20/mbs845327x437396.jpg new file mode 100644 index 000000000..04176b4fa Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437397.jpg b/RWT_Cache/Textures/20/mbs845327x437397.jpg new file mode 100644 index 000000000..dddd7e0aa Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437398.jpg b/RWT_Cache/Textures/20/mbs845327x437398.jpg new file mode 100644 index 000000000..4756b7b47 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437399.jpg b/RWT_Cache/Textures/20/mbs845327x437399.jpg new file mode 100644 index 000000000..3be19c91e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437400.jpg b/RWT_Cache/Textures/20/mbs845327x437400.jpg new file mode 100644 index 000000000..a853f399d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437401.jpg b/RWT_Cache/Textures/20/mbs845327x437401.jpg new file mode 100644 index 000000000..0d6321f02 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437402.jpg b/RWT_Cache/Textures/20/mbs845327x437402.jpg new file mode 100644 index 000000000..04041a0f5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437403.jpg b/RWT_Cache/Textures/20/mbs845327x437403.jpg new file mode 100644 index 000000000..04b232ba2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437404.jpg b/RWT_Cache/Textures/20/mbs845327x437404.jpg new file mode 100644 index 000000000..7e6e370f8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437405.jpg b/RWT_Cache/Textures/20/mbs845327x437405.jpg new file mode 100644 index 000000000..e21cddffb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437406.jpg b/RWT_Cache/Textures/20/mbs845327x437406.jpg new file mode 100644 index 000000000..011c083e0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437407.jpg b/RWT_Cache/Textures/20/mbs845327x437407.jpg new file mode 100644 index 000000000..a1219659f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437408.jpg b/RWT_Cache/Textures/20/mbs845327x437408.jpg new file mode 100644 index 000000000..4f6d4c1e9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437409.jpg b/RWT_Cache/Textures/20/mbs845327x437409.jpg new file mode 100644 index 000000000..5321ec757 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437410.jpg b/RWT_Cache/Textures/20/mbs845327x437410.jpg new file mode 100644 index 000000000..deb4154c2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437411.jpg b/RWT_Cache/Textures/20/mbs845327x437411.jpg new file mode 100644 index 000000000..ef30d15b1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437412.jpg b/RWT_Cache/Textures/20/mbs845327x437412.jpg new file mode 100644 index 000000000..5a9a6e755 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437413.jpg b/RWT_Cache/Textures/20/mbs845327x437413.jpg new file mode 100644 index 000000000..268570b7b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437414.jpg b/RWT_Cache/Textures/20/mbs845327x437414.jpg new file mode 100644 index 000000000..2196603b8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437415.jpg b/RWT_Cache/Textures/20/mbs845327x437415.jpg new file mode 100644 index 000000000..451c74df6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437416.jpg b/RWT_Cache/Textures/20/mbs845327x437416.jpg new file mode 100644 index 000000000..476f5143b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437417.jpg b/RWT_Cache/Textures/20/mbs845327x437417.jpg new file mode 100644 index 000000000..0857797c7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437418.jpg b/RWT_Cache/Textures/20/mbs845327x437418.jpg new file mode 100644 index 000000000..d32109a25 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437419.jpg b/RWT_Cache/Textures/20/mbs845327x437419.jpg new file mode 100644 index 000000000..540928bfe Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437420.jpg b/RWT_Cache/Textures/20/mbs845327x437420.jpg new file mode 100644 index 000000000..d371a1bbd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437421.jpg b/RWT_Cache/Textures/20/mbs845327x437421.jpg new file mode 100644 index 000000000..2921f0d9b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437422.jpg b/RWT_Cache/Textures/20/mbs845327x437422.jpg new file mode 100644 index 000000000..de8de9574 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437423.jpg b/RWT_Cache/Textures/20/mbs845327x437423.jpg new file mode 100644 index 000000000..d911369b7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437424.jpg b/RWT_Cache/Textures/20/mbs845327x437424.jpg new file mode 100644 index 000000000..b7f3bd4c5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437425.jpg b/RWT_Cache/Textures/20/mbs845327x437425.jpg new file mode 100644 index 000000000..fbd34d4ee Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437426.jpg b/RWT_Cache/Textures/20/mbs845327x437426.jpg new file mode 100644 index 000000000..26cd404c1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437427.jpg b/RWT_Cache/Textures/20/mbs845327x437427.jpg new file mode 100644 index 000000000..7fda167b8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437428.jpg b/RWT_Cache/Textures/20/mbs845327x437428.jpg new file mode 100644 index 000000000..fcd9dde42 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437429.jpg b/RWT_Cache/Textures/20/mbs845327x437429.jpg new file mode 100644 index 000000000..3a724a0ec Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437430.jpg b/RWT_Cache/Textures/20/mbs845327x437430.jpg new file mode 100644 index 000000000..d1674ca76 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437431.jpg b/RWT_Cache/Textures/20/mbs845327x437431.jpg new file mode 100644 index 000000000..5b264b059 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437432.jpg b/RWT_Cache/Textures/20/mbs845327x437432.jpg new file mode 100644 index 000000000..eb91348c1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437433.jpg b/RWT_Cache/Textures/20/mbs845327x437433.jpg new file mode 100644 index 000000000..0b089da24 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437434.jpg b/RWT_Cache/Textures/20/mbs845327x437434.jpg new file mode 100644 index 000000000..3ae57f3ea Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437435.jpg b/RWT_Cache/Textures/20/mbs845327x437435.jpg new file mode 100644 index 000000000..74f568a6c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437436.jpg b/RWT_Cache/Textures/20/mbs845327x437436.jpg new file mode 100644 index 000000000..abed3f0ef Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437437.jpg b/RWT_Cache/Textures/20/mbs845327x437437.jpg new file mode 100644 index 000000000..cd3178d9b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437438.jpg b/RWT_Cache/Textures/20/mbs845327x437438.jpg new file mode 100644 index 000000000..9804df45b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437439.jpg b/RWT_Cache/Textures/20/mbs845327x437439.jpg new file mode 100644 index 000000000..2a36cf3f9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437440.jpg b/RWT_Cache/Textures/20/mbs845327x437440.jpg new file mode 100644 index 000000000..8535020d9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437441.jpg b/RWT_Cache/Textures/20/mbs845327x437441.jpg new file mode 100644 index 000000000..e114c4ac1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437442.jpg b/RWT_Cache/Textures/20/mbs845327x437442.jpg new file mode 100644 index 000000000..9c0e5ac83 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437443.jpg b/RWT_Cache/Textures/20/mbs845327x437443.jpg new file mode 100644 index 000000000..2123121f4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437444.jpg b/RWT_Cache/Textures/20/mbs845327x437444.jpg new file mode 100644 index 000000000..49457bbaf Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437445.jpg b/RWT_Cache/Textures/20/mbs845327x437445.jpg new file mode 100644 index 000000000..d16946593 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437446.jpg b/RWT_Cache/Textures/20/mbs845327x437446.jpg new file mode 100644 index 000000000..0fbf08698 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845327x437447.jpg b/RWT_Cache/Textures/20/mbs845327x437447.jpg new file mode 100644 index 000000000..cd3f9580d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845327x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437391.jpg b/RWT_Cache/Textures/20/mbs845328x437391.jpg new file mode 100644 index 000000000..33422bda6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437392.jpg b/RWT_Cache/Textures/20/mbs845328x437392.jpg new file mode 100644 index 000000000..ba980b608 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437393.jpg b/RWT_Cache/Textures/20/mbs845328x437393.jpg new file mode 100644 index 000000000..1a5344173 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437394.jpg b/RWT_Cache/Textures/20/mbs845328x437394.jpg new file mode 100644 index 000000000..b68642942 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437395.jpg b/RWT_Cache/Textures/20/mbs845328x437395.jpg new file mode 100644 index 000000000..492e371ad Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437396.jpg b/RWT_Cache/Textures/20/mbs845328x437396.jpg new file mode 100644 index 000000000..aed0fc38d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437397.jpg b/RWT_Cache/Textures/20/mbs845328x437397.jpg new file mode 100644 index 000000000..3c7d9ba7a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437398.jpg b/RWT_Cache/Textures/20/mbs845328x437398.jpg new file mode 100644 index 000000000..2b9b6bf0c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437399.jpg b/RWT_Cache/Textures/20/mbs845328x437399.jpg new file mode 100644 index 000000000..47c1d8d4d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437400.jpg b/RWT_Cache/Textures/20/mbs845328x437400.jpg new file mode 100644 index 000000000..1af3335f8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437401.jpg b/RWT_Cache/Textures/20/mbs845328x437401.jpg new file mode 100644 index 000000000..6f5d00feb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437402.jpg b/RWT_Cache/Textures/20/mbs845328x437402.jpg new file mode 100644 index 000000000..0ba2297e4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437403.jpg b/RWT_Cache/Textures/20/mbs845328x437403.jpg new file mode 100644 index 000000000..e4d4bc01d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437404.jpg b/RWT_Cache/Textures/20/mbs845328x437404.jpg new file mode 100644 index 000000000..a1015a853 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437405.jpg b/RWT_Cache/Textures/20/mbs845328x437405.jpg new file mode 100644 index 000000000..e2cbbde47 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437406.jpg b/RWT_Cache/Textures/20/mbs845328x437406.jpg new file mode 100644 index 000000000..332f9b92b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437407.jpg b/RWT_Cache/Textures/20/mbs845328x437407.jpg new file mode 100644 index 000000000..74f3c6388 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437408.jpg b/RWT_Cache/Textures/20/mbs845328x437408.jpg new file mode 100644 index 000000000..40a93983d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437409.jpg b/RWT_Cache/Textures/20/mbs845328x437409.jpg new file mode 100644 index 000000000..7f8926416 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437410.jpg b/RWT_Cache/Textures/20/mbs845328x437410.jpg new file mode 100644 index 000000000..d155fb1ce Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437411.jpg b/RWT_Cache/Textures/20/mbs845328x437411.jpg new file mode 100644 index 000000000..a80ca3557 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437412.jpg b/RWT_Cache/Textures/20/mbs845328x437412.jpg new file mode 100644 index 000000000..2c839b8aa Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437413.jpg b/RWT_Cache/Textures/20/mbs845328x437413.jpg new file mode 100644 index 000000000..3e6ff72ef Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437414.jpg b/RWT_Cache/Textures/20/mbs845328x437414.jpg new file mode 100644 index 000000000..a5bf33e8e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437415.jpg b/RWT_Cache/Textures/20/mbs845328x437415.jpg new file mode 100644 index 000000000..5ae221c93 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437416.jpg b/RWT_Cache/Textures/20/mbs845328x437416.jpg new file mode 100644 index 000000000..438936704 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437417.jpg b/RWT_Cache/Textures/20/mbs845328x437417.jpg new file mode 100644 index 000000000..77047d405 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437418.jpg b/RWT_Cache/Textures/20/mbs845328x437418.jpg new file mode 100644 index 000000000..06ffa80af Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437419.jpg b/RWT_Cache/Textures/20/mbs845328x437419.jpg new file mode 100644 index 000000000..cb5e4cd5d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437420.jpg b/RWT_Cache/Textures/20/mbs845328x437420.jpg new file mode 100644 index 000000000..cd9d36730 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437421.jpg b/RWT_Cache/Textures/20/mbs845328x437421.jpg new file mode 100644 index 000000000..6e623eaf5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437422.jpg b/RWT_Cache/Textures/20/mbs845328x437422.jpg new file mode 100644 index 000000000..a8e35dc5c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437423.jpg b/RWT_Cache/Textures/20/mbs845328x437423.jpg new file mode 100644 index 000000000..0f56945a2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437424.jpg b/RWT_Cache/Textures/20/mbs845328x437424.jpg new file mode 100644 index 000000000..1b2ac4b44 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437425.jpg b/RWT_Cache/Textures/20/mbs845328x437425.jpg new file mode 100644 index 000000000..d9d496dbd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437426.jpg b/RWT_Cache/Textures/20/mbs845328x437426.jpg new file mode 100644 index 000000000..34c8d7f31 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437427.jpg b/RWT_Cache/Textures/20/mbs845328x437427.jpg new file mode 100644 index 000000000..579c566d6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437428.jpg b/RWT_Cache/Textures/20/mbs845328x437428.jpg new file mode 100644 index 000000000..987abdca8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437429.jpg b/RWT_Cache/Textures/20/mbs845328x437429.jpg new file mode 100644 index 000000000..f17b494cc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437430.jpg b/RWT_Cache/Textures/20/mbs845328x437430.jpg new file mode 100644 index 000000000..741c7a97c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437431.jpg b/RWT_Cache/Textures/20/mbs845328x437431.jpg new file mode 100644 index 000000000..1608041b0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437432.jpg b/RWT_Cache/Textures/20/mbs845328x437432.jpg new file mode 100644 index 000000000..dbb26fa33 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437433.jpg b/RWT_Cache/Textures/20/mbs845328x437433.jpg new file mode 100644 index 000000000..b67a585dc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437434.jpg b/RWT_Cache/Textures/20/mbs845328x437434.jpg new file mode 100644 index 000000000..4bc909066 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437435.jpg b/RWT_Cache/Textures/20/mbs845328x437435.jpg new file mode 100644 index 000000000..6cc9378d6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437436.jpg b/RWT_Cache/Textures/20/mbs845328x437436.jpg new file mode 100644 index 000000000..0fb591f97 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437437.jpg b/RWT_Cache/Textures/20/mbs845328x437437.jpg new file mode 100644 index 000000000..88558f7c2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437438.jpg b/RWT_Cache/Textures/20/mbs845328x437438.jpg new file mode 100644 index 000000000..ed75f5bcf Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437439.jpg b/RWT_Cache/Textures/20/mbs845328x437439.jpg new file mode 100644 index 000000000..74b528e00 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437440.jpg b/RWT_Cache/Textures/20/mbs845328x437440.jpg new file mode 100644 index 000000000..e0c889126 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437441.jpg b/RWT_Cache/Textures/20/mbs845328x437441.jpg new file mode 100644 index 000000000..7bdbffa05 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437442.jpg b/RWT_Cache/Textures/20/mbs845328x437442.jpg new file mode 100644 index 000000000..d527aab32 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437443.jpg b/RWT_Cache/Textures/20/mbs845328x437443.jpg new file mode 100644 index 000000000..09de1b2f7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437444.jpg b/RWT_Cache/Textures/20/mbs845328x437444.jpg new file mode 100644 index 000000000..a7a92a13d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437445.jpg b/RWT_Cache/Textures/20/mbs845328x437445.jpg new file mode 100644 index 000000000..96d61328f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437446.jpg b/RWT_Cache/Textures/20/mbs845328x437446.jpg new file mode 100644 index 000000000..c790f20f0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845328x437447.jpg b/RWT_Cache/Textures/20/mbs845328x437447.jpg new file mode 100644 index 000000000..d74e9e8d3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845328x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437391.jpg b/RWT_Cache/Textures/20/mbs845329x437391.jpg new file mode 100644 index 000000000..1e68a75ea Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437392.jpg b/RWT_Cache/Textures/20/mbs845329x437392.jpg new file mode 100644 index 000000000..08ea531c4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437393.jpg b/RWT_Cache/Textures/20/mbs845329x437393.jpg new file mode 100644 index 000000000..e53657294 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437394.jpg b/RWT_Cache/Textures/20/mbs845329x437394.jpg new file mode 100644 index 000000000..ee9ef91eb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437395.jpg b/RWT_Cache/Textures/20/mbs845329x437395.jpg new file mode 100644 index 000000000..6fe1002c6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437396.jpg b/RWT_Cache/Textures/20/mbs845329x437396.jpg new file mode 100644 index 000000000..7a52e0e00 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437397.jpg b/RWT_Cache/Textures/20/mbs845329x437397.jpg new file mode 100644 index 000000000..4c005c7e1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437398.jpg b/RWT_Cache/Textures/20/mbs845329x437398.jpg new file mode 100644 index 000000000..e1960d635 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437399.jpg b/RWT_Cache/Textures/20/mbs845329x437399.jpg new file mode 100644 index 000000000..0f167bbac Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437400.jpg b/RWT_Cache/Textures/20/mbs845329x437400.jpg new file mode 100644 index 000000000..36e1edc3f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437401.jpg b/RWT_Cache/Textures/20/mbs845329x437401.jpg new file mode 100644 index 000000000..453838186 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437402.jpg b/RWT_Cache/Textures/20/mbs845329x437402.jpg new file mode 100644 index 000000000..025151d92 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437403.jpg b/RWT_Cache/Textures/20/mbs845329x437403.jpg new file mode 100644 index 000000000..0e409f4ac Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437404.jpg b/RWT_Cache/Textures/20/mbs845329x437404.jpg new file mode 100644 index 000000000..f3e5c67ac Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437405.jpg b/RWT_Cache/Textures/20/mbs845329x437405.jpg new file mode 100644 index 000000000..99564f47b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437406.jpg b/RWT_Cache/Textures/20/mbs845329x437406.jpg new file mode 100644 index 000000000..bcdb121ba Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437407.jpg b/RWT_Cache/Textures/20/mbs845329x437407.jpg new file mode 100644 index 000000000..6e146be66 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437408.jpg b/RWT_Cache/Textures/20/mbs845329x437408.jpg new file mode 100644 index 000000000..2fa606ac0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437409.jpg b/RWT_Cache/Textures/20/mbs845329x437409.jpg new file mode 100644 index 000000000..77ea89ea0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437410.jpg b/RWT_Cache/Textures/20/mbs845329x437410.jpg new file mode 100644 index 000000000..04c3b8e8b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437411.jpg b/RWT_Cache/Textures/20/mbs845329x437411.jpg new file mode 100644 index 000000000..66dde1f4f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437412.jpg b/RWT_Cache/Textures/20/mbs845329x437412.jpg new file mode 100644 index 000000000..71b924eb1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437413.jpg b/RWT_Cache/Textures/20/mbs845329x437413.jpg new file mode 100644 index 000000000..748f2625e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437414.jpg b/RWT_Cache/Textures/20/mbs845329x437414.jpg new file mode 100644 index 000000000..125f7d0dc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437415.jpg b/RWT_Cache/Textures/20/mbs845329x437415.jpg new file mode 100644 index 000000000..c2c6b4c57 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437416.jpg b/RWT_Cache/Textures/20/mbs845329x437416.jpg new file mode 100644 index 000000000..3d2aa2264 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437417.jpg b/RWT_Cache/Textures/20/mbs845329x437417.jpg new file mode 100644 index 000000000..ed01b0b1d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437418.jpg b/RWT_Cache/Textures/20/mbs845329x437418.jpg new file mode 100644 index 000000000..5cad24458 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437419.jpg b/RWT_Cache/Textures/20/mbs845329x437419.jpg new file mode 100644 index 000000000..1ed2ef4a8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437420.jpg b/RWT_Cache/Textures/20/mbs845329x437420.jpg new file mode 100644 index 000000000..0109dd795 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437421.jpg b/RWT_Cache/Textures/20/mbs845329x437421.jpg new file mode 100644 index 000000000..67287766e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437422.jpg b/RWT_Cache/Textures/20/mbs845329x437422.jpg new file mode 100644 index 000000000..a1fc182a3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437423.jpg b/RWT_Cache/Textures/20/mbs845329x437423.jpg new file mode 100644 index 000000000..fcc9d3f6b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437424.jpg b/RWT_Cache/Textures/20/mbs845329x437424.jpg new file mode 100644 index 000000000..8db57238b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437425.jpg b/RWT_Cache/Textures/20/mbs845329x437425.jpg new file mode 100644 index 000000000..3bca06cda Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437426.jpg b/RWT_Cache/Textures/20/mbs845329x437426.jpg new file mode 100644 index 000000000..4c7130ffc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437427.jpg b/RWT_Cache/Textures/20/mbs845329x437427.jpg new file mode 100644 index 000000000..2c0c218ba Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437428.jpg b/RWT_Cache/Textures/20/mbs845329x437428.jpg new file mode 100644 index 000000000..836e288f7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437429.jpg b/RWT_Cache/Textures/20/mbs845329x437429.jpg new file mode 100644 index 000000000..4d8de64ed Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437430.jpg b/RWT_Cache/Textures/20/mbs845329x437430.jpg new file mode 100644 index 000000000..d71127d72 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437431.jpg b/RWT_Cache/Textures/20/mbs845329x437431.jpg new file mode 100644 index 000000000..e21c22d75 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437432.jpg b/RWT_Cache/Textures/20/mbs845329x437432.jpg new file mode 100644 index 000000000..f58943ecd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437433.jpg b/RWT_Cache/Textures/20/mbs845329x437433.jpg new file mode 100644 index 000000000..e112102d8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437434.jpg b/RWT_Cache/Textures/20/mbs845329x437434.jpg new file mode 100644 index 000000000..fbc697c93 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437435.jpg b/RWT_Cache/Textures/20/mbs845329x437435.jpg new file mode 100644 index 000000000..eb841bfc0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437436.jpg b/RWT_Cache/Textures/20/mbs845329x437436.jpg new file mode 100644 index 000000000..912e50ff7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437437.jpg b/RWT_Cache/Textures/20/mbs845329x437437.jpg new file mode 100644 index 000000000..2cfc5504a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437438.jpg b/RWT_Cache/Textures/20/mbs845329x437438.jpg new file mode 100644 index 000000000..6e23339ed Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437439.jpg b/RWT_Cache/Textures/20/mbs845329x437439.jpg new file mode 100644 index 000000000..066274454 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437440.jpg b/RWT_Cache/Textures/20/mbs845329x437440.jpg new file mode 100644 index 000000000..1da46cd35 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437441.jpg b/RWT_Cache/Textures/20/mbs845329x437441.jpg new file mode 100644 index 000000000..0bb50929d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437442.jpg b/RWT_Cache/Textures/20/mbs845329x437442.jpg new file mode 100644 index 000000000..9569045fa Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437443.jpg b/RWT_Cache/Textures/20/mbs845329x437443.jpg new file mode 100644 index 000000000..f8213656f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437444.jpg b/RWT_Cache/Textures/20/mbs845329x437444.jpg new file mode 100644 index 000000000..40298e12b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437445.jpg b/RWT_Cache/Textures/20/mbs845329x437445.jpg new file mode 100644 index 000000000..cc681f600 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437446.jpg b/RWT_Cache/Textures/20/mbs845329x437446.jpg new file mode 100644 index 000000000..547c38fc8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845329x437447.jpg b/RWT_Cache/Textures/20/mbs845329x437447.jpg new file mode 100644 index 000000000..bc4cf93c8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845329x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437391.jpg b/RWT_Cache/Textures/20/mbs845330x437391.jpg new file mode 100644 index 000000000..b9ea2741e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437392.jpg b/RWT_Cache/Textures/20/mbs845330x437392.jpg new file mode 100644 index 000000000..8821311a9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437393.jpg b/RWT_Cache/Textures/20/mbs845330x437393.jpg new file mode 100644 index 000000000..b3af9c877 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437394.jpg b/RWT_Cache/Textures/20/mbs845330x437394.jpg new file mode 100644 index 000000000..e124c18f7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437395.jpg b/RWT_Cache/Textures/20/mbs845330x437395.jpg new file mode 100644 index 000000000..b683fc234 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437396.jpg b/RWT_Cache/Textures/20/mbs845330x437396.jpg new file mode 100644 index 000000000..9030bd81e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437397.jpg b/RWT_Cache/Textures/20/mbs845330x437397.jpg new file mode 100644 index 000000000..70b75f6bb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437398.jpg b/RWT_Cache/Textures/20/mbs845330x437398.jpg new file mode 100644 index 000000000..58acd0d66 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437399.jpg b/RWT_Cache/Textures/20/mbs845330x437399.jpg new file mode 100644 index 000000000..192dc042a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437400.jpg b/RWT_Cache/Textures/20/mbs845330x437400.jpg new file mode 100644 index 000000000..c66d432cc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437401.jpg b/RWT_Cache/Textures/20/mbs845330x437401.jpg new file mode 100644 index 000000000..956d8bf0f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437402.jpg b/RWT_Cache/Textures/20/mbs845330x437402.jpg new file mode 100644 index 000000000..f6a28efd2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437403.jpg b/RWT_Cache/Textures/20/mbs845330x437403.jpg new file mode 100644 index 000000000..11520c3f7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437404.jpg b/RWT_Cache/Textures/20/mbs845330x437404.jpg new file mode 100644 index 000000000..2a2be2fd1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437405.jpg b/RWT_Cache/Textures/20/mbs845330x437405.jpg new file mode 100644 index 000000000..d98bc196e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437406.jpg b/RWT_Cache/Textures/20/mbs845330x437406.jpg new file mode 100644 index 000000000..c26f1f49d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437407.jpg b/RWT_Cache/Textures/20/mbs845330x437407.jpg new file mode 100644 index 000000000..8bdaf6cad Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437408.jpg b/RWT_Cache/Textures/20/mbs845330x437408.jpg new file mode 100644 index 000000000..94c82700c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437409.jpg b/RWT_Cache/Textures/20/mbs845330x437409.jpg new file mode 100644 index 000000000..cfec02a97 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437410.jpg b/RWT_Cache/Textures/20/mbs845330x437410.jpg new file mode 100644 index 000000000..d32d257ac Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437411.jpg b/RWT_Cache/Textures/20/mbs845330x437411.jpg new file mode 100644 index 000000000..e4a93226e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437412.jpg b/RWT_Cache/Textures/20/mbs845330x437412.jpg new file mode 100644 index 000000000..607d35d41 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437413.jpg b/RWT_Cache/Textures/20/mbs845330x437413.jpg new file mode 100644 index 000000000..744163b81 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437414.jpg b/RWT_Cache/Textures/20/mbs845330x437414.jpg new file mode 100644 index 000000000..951ac6e36 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437415.jpg b/RWT_Cache/Textures/20/mbs845330x437415.jpg new file mode 100644 index 000000000..36cc8bea9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437416.jpg b/RWT_Cache/Textures/20/mbs845330x437416.jpg new file mode 100644 index 000000000..8674b2541 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437417.jpg b/RWT_Cache/Textures/20/mbs845330x437417.jpg new file mode 100644 index 000000000..86628f583 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437418.jpg b/RWT_Cache/Textures/20/mbs845330x437418.jpg new file mode 100644 index 000000000..23ce6ad5d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437419.jpg b/RWT_Cache/Textures/20/mbs845330x437419.jpg new file mode 100644 index 000000000..b08aa8d5e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437420.jpg b/RWT_Cache/Textures/20/mbs845330x437420.jpg new file mode 100644 index 000000000..279afacc4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437421.jpg b/RWT_Cache/Textures/20/mbs845330x437421.jpg new file mode 100644 index 000000000..a72e5ce2c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437422.jpg b/RWT_Cache/Textures/20/mbs845330x437422.jpg new file mode 100644 index 000000000..387973525 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437423.jpg b/RWT_Cache/Textures/20/mbs845330x437423.jpg new file mode 100644 index 000000000..64b5eab8b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437424.jpg b/RWT_Cache/Textures/20/mbs845330x437424.jpg new file mode 100644 index 000000000..58a6de6a3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437425.jpg b/RWT_Cache/Textures/20/mbs845330x437425.jpg new file mode 100644 index 000000000..d288589b0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437426.jpg b/RWT_Cache/Textures/20/mbs845330x437426.jpg new file mode 100644 index 000000000..dad69edb3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437427.jpg b/RWT_Cache/Textures/20/mbs845330x437427.jpg new file mode 100644 index 000000000..9daff6e3f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437428.jpg b/RWT_Cache/Textures/20/mbs845330x437428.jpg new file mode 100644 index 000000000..baf1b7828 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437429.jpg b/RWT_Cache/Textures/20/mbs845330x437429.jpg new file mode 100644 index 000000000..2b29e2cb0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437430.jpg b/RWT_Cache/Textures/20/mbs845330x437430.jpg new file mode 100644 index 000000000..17ca8cae7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437431.jpg b/RWT_Cache/Textures/20/mbs845330x437431.jpg new file mode 100644 index 000000000..2a789e66e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437432.jpg b/RWT_Cache/Textures/20/mbs845330x437432.jpg new file mode 100644 index 000000000..04386930d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437433.jpg b/RWT_Cache/Textures/20/mbs845330x437433.jpg new file mode 100644 index 000000000..82f9b1b46 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437434.jpg b/RWT_Cache/Textures/20/mbs845330x437434.jpg new file mode 100644 index 000000000..ea130bedd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437435.jpg b/RWT_Cache/Textures/20/mbs845330x437435.jpg new file mode 100644 index 000000000..15f4e12f7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437436.jpg b/RWT_Cache/Textures/20/mbs845330x437436.jpg new file mode 100644 index 000000000..5f408c13a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437437.jpg b/RWT_Cache/Textures/20/mbs845330x437437.jpg new file mode 100644 index 000000000..3dde3616b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437438.jpg b/RWT_Cache/Textures/20/mbs845330x437438.jpg new file mode 100644 index 000000000..08c2bddf5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437439.jpg b/RWT_Cache/Textures/20/mbs845330x437439.jpg new file mode 100644 index 000000000..85bada88b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437440.jpg b/RWT_Cache/Textures/20/mbs845330x437440.jpg new file mode 100644 index 000000000..07bd98119 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437441.jpg b/RWT_Cache/Textures/20/mbs845330x437441.jpg new file mode 100644 index 000000000..c23d63fc1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437442.jpg b/RWT_Cache/Textures/20/mbs845330x437442.jpg new file mode 100644 index 000000000..f6a65b488 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437443.jpg b/RWT_Cache/Textures/20/mbs845330x437443.jpg new file mode 100644 index 000000000..9661dfe1e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437444.jpg b/RWT_Cache/Textures/20/mbs845330x437444.jpg new file mode 100644 index 000000000..6e013a8c7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437445.jpg b/RWT_Cache/Textures/20/mbs845330x437445.jpg new file mode 100644 index 000000000..19bf202e7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437446.jpg b/RWT_Cache/Textures/20/mbs845330x437446.jpg new file mode 100644 index 000000000..221877130 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845330x437447.jpg b/RWT_Cache/Textures/20/mbs845330x437447.jpg new file mode 100644 index 000000000..c7bb9e196 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845330x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437391.jpg b/RWT_Cache/Textures/20/mbs845331x437391.jpg new file mode 100644 index 000000000..309132a3a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437392.jpg b/RWT_Cache/Textures/20/mbs845331x437392.jpg new file mode 100644 index 000000000..7e7d590e9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437393.jpg b/RWT_Cache/Textures/20/mbs845331x437393.jpg new file mode 100644 index 000000000..198a48c32 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437394.jpg b/RWT_Cache/Textures/20/mbs845331x437394.jpg new file mode 100644 index 000000000..02a406728 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437395.jpg b/RWT_Cache/Textures/20/mbs845331x437395.jpg new file mode 100644 index 000000000..3249be1ab Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437396.jpg b/RWT_Cache/Textures/20/mbs845331x437396.jpg new file mode 100644 index 000000000..a356d3300 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437397.jpg b/RWT_Cache/Textures/20/mbs845331x437397.jpg new file mode 100644 index 000000000..6c6813fa6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437398.jpg b/RWT_Cache/Textures/20/mbs845331x437398.jpg new file mode 100644 index 000000000..9699b5ef5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437399.jpg b/RWT_Cache/Textures/20/mbs845331x437399.jpg new file mode 100644 index 000000000..55c5a614a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437400.jpg b/RWT_Cache/Textures/20/mbs845331x437400.jpg new file mode 100644 index 000000000..593574109 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437401.jpg b/RWT_Cache/Textures/20/mbs845331x437401.jpg new file mode 100644 index 000000000..cb7a171e2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437402.jpg b/RWT_Cache/Textures/20/mbs845331x437402.jpg new file mode 100644 index 000000000..f2b79fa40 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437403.jpg b/RWT_Cache/Textures/20/mbs845331x437403.jpg new file mode 100644 index 000000000..55b77fa2a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437404.jpg b/RWT_Cache/Textures/20/mbs845331x437404.jpg new file mode 100644 index 000000000..d05d8ae30 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437405.jpg b/RWT_Cache/Textures/20/mbs845331x437405.jpg new file mode 100644 index 000000000..2ad93cfc8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437406.jpg b/RWT_Cache/Textures/20/mbs845331x437406.jpg new file mode 100644 index 000000000..f396be105 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437407.jpg b/RWT_Cache/Textures/20/mbs845331x437407.jpg new file mode 100644 index 000000000..46bab1543 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437408.jpg b/RWT_Cache/Textures/20/mbs845331x437408.jpg new file mode 100644 index 000000000..4be27db37 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437409.jpg b/RWT_Cache/Textures/20/mbs845331x437409.jpg new file mode 100644 index 000000000..6f7d469c8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437410.jpg b/RWT_Cache/Textures/20/mbs845331x437410.jpg new file mode 100644 index 000000000..5e93139e6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437411.jpg b/RWT_Cache/Textures/20/mbs845331x437411.jpg new file mode 100644 index 000000000..a039d84bd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437412.jpg b/RWT_Cache/Textures/20/mbs845331x437412.jpg new file mode 100644 index 000000000..513f0a15a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437413.jpg b/RWT_Cache/Textures/20/mbs845331x437413.jpg new file mode 100644 index 000000000..72bfd236c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437414.jpg b/RWT_Cache/Textures/20/mbs845331x437414.jpg new file mode 100644 index 000000000..ca4023f97 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437415.jpg b/RWT_Cache/Textures/20/mbs845331x437415.jpg new file mode 100644 index 000000000..436cdff86 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437416.jpg b/RWT_Cache/Textures/20/mbs845331x437416.jpg new file mode 100644 index 000000000..fd9f87168 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437417.jpg b/RWT_Cache/Textures/20/mbs845331x437417.jpg new file mode 100644 index 000000000..4f52cd8ed Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437418.jpg b/RWT_Cache/Textures/20/mbs845331x437418.jpg new file mode 100644 index 000000000..6b5274373 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437419.jpg b/RWT_Cache/Textures/20/mbs845331x437419.jpg new file mode 100644 index 000000000..d26f29eb1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437420.jpg b/RWT_Cache/Textures/20/mbs845331x437420.jpg new file mode 100644 index 000000000..1d0aeaefc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437421.jpg b/RWT_Cache/Textures/20/mbs845331x437421.jpg new file mode 100644 index 000000000..3ca0052f4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437422.jpg b/RWT_Cache/Textures/20/mbs845331x437422.jpg new file mode 100644 index 000000000..50e74ec2d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437423.jpg b/RWT_Cache/Textures/20/mbs845331x437423.jpg new file mode 100644 index 000000000..997899ac4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437424.jpg b/RWT_Cache/Textures/20/mbs845331x437424.jpg new file mode 100644 index 000000000..0815d2ce0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437425.jpg b/RWT_Cache/Textures/20/mbs845331x437425.jpg new file mode 100644 index 000000000..bcdf4adc8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437426.jpg b/RWT_Cache/Textures/20/mbs845331x437426.jpg new file mode 100644 index 000000000..13f951ad0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437427.jpg b/RWT_Cache/Textures/20/mbs845331x437427.jpg new file mode 100644 index 000000000..43a421b31 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437428.jpg b/RWT_Cache/Textures/20/mbs845331x437428.jpg new file mode 100644 index 000000000..a64479572 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437429.jpg b/RWT_Cache/Textures/20/mbs845331x437429.jpg new file mode 100644 index 000000000..1968048f1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437430.jpg b/RWT_Cache/Textures/20/mbs845331x437430.jpg new file mode 100644 index 000000000..1765808a5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437431.jpg b/RWT_Cache/Textures/20/mbs845331x437431.jpg new file mode 100644 index 000000000..3cc03c61e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437432.jpg b/RWT_Cache/Textures/20/mbs845331x437432.jpg new file mode 100644 index 000000000..c046e5fd6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437433.jpg b/RWT_Cache/Textures/20/mbs845331x437433.jpg new file mode 100644 index 000000000..5b462906a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437434.jpg b/RWT_Cache/Textures/20/mbs845331x437434.jpg new file mode 100644 index 000000000..99ad9c9fe Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437435.jpg b/RWT_Cache/Textures/20/mbs845331x437435.jpg new file mode 100644 index 000000000..da83d5852 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437436.jpg b/RWT_Cache/Textures/20/mbs845331x437436.jpg new file mode 100644 index 000000000..74c66c7e7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437437.jpg b/RWT_Cache/Textures/20/mbs845331x437437.jpg new file mode 100644 index 000000000..a430022ed Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437438.jpg b/RWT_Cache/Textures/20/mbs845331x437438.jpg new file mode 100644 index 000000000..030ea59ff Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437439.jpg b/RWT_Cache/Textures/20/mbs845331x437439.jpg new file mode 100644 index 000000000..6d3126346 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437440.jpg b/RWT_Cache/Textures/20/mbs845331x437440.jpg new file mode 100644 index 000000000..fe1d355de Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437441.jpg b/RWT_Cache/Textures/20/mbs845331x437441.jpg new file mode 100644 index 000000000..8081ac5f6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437442.jpg b/RWT_Cache/Textures/20/mbs845331x437442.jpg new file mode 100644 index 000000000..2460fc8fd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437443.jpg b/RWT_Cache/Textures/20/mbs845331x437443.jpg new file mode 100644 index 000000000..cad3821b0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437444.jpg b/RWT_Cache/Textures/20/mbs845331x437444.jpg new file mode 100644 index 000000000..8aa2c18db Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437445.jpg b/RWT_Cache/Textures/20/mbs845331x437445.jpg new file mode 100644 index 000000000..82b12d7bf Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437446.jpg b/RWT_Cache/Textures/20/mbs845331x437446.jpg new file mode 100644 index 000000000..6234b8c90 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845331x437447.jpg b/RWT_Cache/Textures/20/mbs845331x437447.jpg new file mode 100644 index 000000000..9d85a40a0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845331x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437391.jpg b/RWT_Cache/Textures/20/mbs845332x437391.jpg new file mode 100644 index 000000000..8ce3aa4a3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437392.jpg b/RWT_Cache/Textures/20/mbs845332x437392.jpg new file mode 100644 index 000000000..76378ffa8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437393.jpg b/RWT_Cache/Textures/20/mbs845332x437393.jpg new file mode 100644 index 000000000..d4b2e5352 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437394.jpg b/RWT_Cache/Textures/20/mbs845332x437394.jpg new file mode 100644 index 000000000..d67776eb2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437395.jpg b/RWT_Cache/Textures/20/mbs845332x437395.jpg new file mode 100644 index 000000000..095dec8a0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437396.jpg b/RWT_Cache/Textures/20/mbs845332x437396.jpg new file mode 100644 index 000000000..2bbadc7cc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437397.jpg b/RWT_Cache/Textures/20/mbs845332x437397.jpg new file mode 100644 index 000000000..ca6a7535e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437398.jpg b/RWT_Cache/Textures/20/mbs845332x437398.jpg new file mode 100644 index 000000000..43aafafd0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437399.jpg b/RWT_Cache/Textures/20/mbs845332x437399.jpg new file mode 100644 index 000000000..76fd743ed Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437400.jpg b/RWT_Cache/Textures/20/mbs845332x437400.jpg new file mode 100644 index 000000000..ddf91dd0c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437401.jpg b/RWT_Cache/Textures/20/mbs845332x437401.jpg new file mode 100644 index 000000000..c161a3e55 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437402.jpg b/RWT_Cache/Textures/20/mbs845332x437402.jpg new file mode 100644 index 000000000..f3dab92c2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437403.jpg b/RWT_Cache/Textures/20/mbs845332x437403.jpg new file mode 100644 index 000000000..069757917 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437404.jpg b/RWT_Cache/Textures/20/mbs845332x437404.jpg new file mode 100644 index 000000000..2ab9724b6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437405.jpg b/RWT_Cache/Textures/20/mbs845332x437405.jpg new file mode 100644 index 000000000..6f9d868d1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437406.jpg b/RWT_Cache/Textures/20/mbs845332x437406.jpg new file mode 100644 index 000000000..c95f2aa2e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437407.jpg b/RWT_Cache/Textures/20/mbs845332x437407.jpg new file mode 100644 index 000000000..42bd8020f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437408.jpg b/RWT_Cache/Textures/20/mbs845332x437408.jpg new file mode 100644 index 000000000..9ea34b481 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437409.jpg b/RWT_Cache/Textures/20/mbs845332x437409.jpg new file mode 100644 index 000000000..7066b03cb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437410.jpg b/RWT_Cache/Textures/20/mbs845332x437410.jpg new file mode 100644 index 000000000..a09eee372 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437411.jpg b/RWT_Cache/Textures/20/mbs845332x437411.jpg new file mode 100644 index 000000000..09938cc2e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437412.jpg b/RWT_Cache/Textures/20/mbs845332x437412.jpg new file mode 100644 index 000000000..34e0bc805 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437413.jpg b/RWT_Cache/Textures/20/mbs845332x437413.jpg new file mode 100644 index 000000000..841798578 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437414.jpg b/RWT_Cache/Textures/20/mbs845332x437414.jpg new file mode 100644 index 000000000..5d08a8d0a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437415.jpg b/RWT_Cache/Textures/20/mbs845332x437415.jpg new file mode 100644 index 000000000..eaa14f161 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437416.jpg b/RWT_Cache/Textures/20/mbs845332x437416.jpg new file mode 100644 index 000000000..747db8aa9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437417.jpg b/RWT_Cache/Textures/20/mbs845332x437417.jpg new file mode 100644 index 000000000..24aec7466 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437418.jpg b/RWT_Cache/Textures/20/mbs845332x437418.jpg new file mode 100644 index 000000000..ff1d55179 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437419.jpg b/RWT_Cache/Textures/20/mbs845332x437419.jpg new file mode 100644 index 000000000..dd1f85240 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437420.jpg b/RWT_Cache/Textures/20/mbs845332x437420.jpg new file mode 100644 index 000000000..7bc8dbda5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437421.jpg b/RWT_Cache/Textures/20/mbs845332x437421.jpg new file mode 100644 index 000000000..fdb9738d2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437422.jpg b/RWT_Cache/Textures/20/mbs845332x437422.jpg new file mode 100644 index 000000000..102127273 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437423.jpg b/RWT_Cache/Textures/20/mbs845332x437423.jpg new file mode 100644 index 000000000..9a78273b9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437424.jpg b/RWT_Cache/Textures/20/mbs845332x437424.jpg new file mode 100644 index 000000000..2ef6f9f59 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437425.jpg b/RWT_Cache/Textures/20/mbs845332x437425.jpg new file mode 100644 index 000000000..d7b06b261 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437426.jpg b/RWT_Cache/Textures/20/mbs845332x437426.jpg new file mode 100644 index 000000000..13f7621c7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437427.jpg b/RWT_Cache/Textures/20/mbs845332x437427.jpg new file mode 100644 index 000000000..63ece4b88 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437428.jpg b/RWT_Cache/Textures/20/mbs845332x437428.jpg new file mode 100644 index 000000000..d81c27c66 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437429.jpg b/RWT_Cache/Textures/20/mbs845332x437429.jpg new file mode 100644 index 000000000..e416ee9a3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437430.jpg b/RWT_Cache/Textures/20/mbs845332x437430.jpg new file mode 100644 index 000000000..8d1adde81 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437431.jpg b/RWT_Cache/Textures/20/mbs845332x437431.jpg new file mode 100644 index 000000000..9ad0ae504 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437432.jpg b/RWT_Cache/Textures/20/mbs845332x437432.jpg new file mode 100644 index 000000000..4ef2ef1e9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437433.jpg b/RWT_Cache/Textures/20/mbs845332x437433.jpg new file mode 100644 index 000000000..72eea03da Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437434.jpg b/RWT_Cache/Textures/20/mbs845332x437434.jpg new file mode 100644 index 000000000..ebb666e42 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437435.jpg b/RWT_Cache/Textures/20/mbs845332x437435.jpg new file mode 100644 index 000000000..c5a2044b6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437436.jpg b/RWT_Cache/Textures/20/mbs845332x437436.jpg new file mode 100644 index 000000000..c53386667 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437437.jpg b/RWT_Cache/Textures/20/mbs845332x437437.jpg new file mode 100644 index 000000000..aac3ec7c1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437438.jpg b/RWT_Cache/Textures/20/mbs845332x437438.jpg new file mode 100644 index 000000000..3787188da Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437439.jpg b/RWT_Cache/Textures/20/mbs845332x437439.jpg new file mode 100644 index 000000000..7ff8819de Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437440.jpg b/RWT_Cache/Textures/20/mbs845332x437440.jpg new file mode 100644 index 000000000..4827d9466 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437441.jpg b/RWT_Cache/Textures/20/mbs845332x437441.jpg new file mode 100644 index 000000000..982c9eb69 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437442.jpg b/RWT_Cache/Textures/20/mbs845332x437442.jpg new file mode 100644 index 000000000..0ee3a640e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437443.jpg b/RWT_Cache/Textures/20/mbs845332x437443.jpg new file mode 100644 index 000000000..55c142bca Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437444.jpg b/RWT_Cache/Textures/20/mbs845332x437444.jpg new file mode 100644 index 000000000..f8077ece8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437445.jpg b/RWT_Cache/Textures/20/mbs845332x437445.jpg new file mode 100644 index 000000000..d0d88b9e2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437446.jpg b/RWT_Cache/Textures/20/mbs845332x437446.jpg new file mode 100644 index 000000000..4e0580f0b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845332x437447.jpg b/RWT_Cache/Textures/20/mbs845332x437447.jpg new file mode 100644 index 000000000..6422a7447 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845332x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437391.jpg b/RWT_Cache/Textures/20/mbs845333x437391.jpg new file mode 100644 index 000000000..9882db433 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437392.jpg b/RWT_Cache/Textures/20/mbs845333x437392.jpg new file mode 100644 index 000000000..9658146ad Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437393.jpg b/RWT_Cache/Textures/20/mbs845333x437393.jpg new file mode 100644 index 000000000..ac5fd8a4f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437394.jpg b/RWT_Cache/Textures/20/mbs845333x437394.jpg new file mode 100644 index 000000000..2d086584a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437395.jpg b/RWT_Cache/Textures/20/mbs845333x437395.jpg new file mode 100644 index 000000000..dd31cf380 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437396.jpg b/RWT_Cache/Textures/20/mbs845333x437396.jpg new file mode 100644 index 000000000..1dda83180 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437397.jpg b/RWT_Cache/Textures/20/mbs845333x437397.jpg new file mode 100644 index 000000000..bf8958c04 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437398.jpg b/RWT_Cache/Textures/20/mbs845333x437398.jpg new file mode 100644 index 000000000..5680f25b5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437399.jpg b/RWT_Cache/Textures/20/mbs845333x437399.jpg new file mode 100644 index 000000000..06f816e42 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437400.jpg b/RWT_Cache/Textures/20/mbs845333x437400.jpg new file mode 100644 index 000000000..9aba42296 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437401.jpg b/RWT_Cache/Textures/20/mbs845333x437401.jpg new file mode 100644 index 000000000..10a4b7d05 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437402.jpg b/RWT_Cache/Textures/20/mbs845333x437402.jpg new file mode 100644 index 000000000..05ce898a9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437403.jpg b/RWT_Cache/Textures/20/mbs845333x437403.jpg new file mode 100644 index 000000000..9a3ada34b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437404.jpg b/RWT_Cache/Textures/20/mbs845333x437404.jpg new file mode 100644 index 000000000..a4f275baa Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437405.jpg b/RWT_Cache/Textures/20/mbs845333x437405.jpg new file mode 100644 index 000000000..92d60c5a8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437406.jpg b/RWT_Cache/Textures/20/mbs845333x437406.jpg new file mode 100644 index 000000000..cae2079d9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437407.jpg b/RWT_Cache/Textures/20/mbs845333x437407.jpg new file mode 100644 index 000000000..80de9bdcb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437408.jpg b/RWT_Cache/Textures/20/mbs845333x437408.jpg new file mode 100644 index 000000000..3b99a4e12 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437409.jpg b/RWT_Cache/Textures/20/mbs845333x437409.jpg new file mode 100644 index 000000000..aaf5fe77d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437410.jpg b/RWT_Cache/Textures/20/mbs845333x437410.jpg new file mode 100644 index 000000000..4f60a2416 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437411.jpg b/RWT_Cache/Textures/20/mbs845333x437411.jpg new file mode 100644 index 000000000..0a8bbc8db Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437412.jpg b/RWT_Cache/Textures/20/mbs845333x437412.jpg new file mode 100644 index 000000000..18a7c1134 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437413.jpg b/RWT_Cache/Textures/20/mbs845333x437413.jpg new file mode 100644 index 000000000..acbc70010 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437414.jpg b/RWT_Cache/Textures/20/mbs845333x437414.jpg new file mode 100644 index 000000000..3cf703a45 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437415.jpg b/RWT_Cache/Textures/20/mbs845333x437415.jpg new file mode 100644 index 000000000..856a56f42 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437416.jpg b/RWT_Cache/Textures/20/mbs845333x437416.jpg new file mode 100644 index 000000000..4e5d77800 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437417.jpg b/RWT_Cache/Textures/20/mbs845333x437417.jpg new file mode 100644 index 000000000..e34f95404 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437418.jpg b/RWT_Cache/Textures/20/mbs845333x437418.jpg new file mode 100644 index 000000000..b47347588 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437419.jpg b/RWT_Cache/Textures/20/mbs845333x437419.jpg new file mode 100644 index 000000000..00b07d705 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437420.jpg b/RWT_Cache/Textures/20/mbs845333x437420.jpg new file mode 100644 index 000000000..519542843 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437421.jpg b/RWT_Cache/Textures/20/mbs845333x437421.jpg new file mode 100644 index 000000000..772373da0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437422.jpg b/RWT_Cache/Textures/20/mbs845333x437422.jpg new file mode 100644 index 000000000..1845090b4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437423.jpg b/RWT_Cache/Textures/20/mbs845333x437423.jpg new file mode 100644 index 000000000..c18f4282e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437424.jpg b/RWT_Cache/Textures/20/mbs845333x437424.jpg new file mode 100644 index 000000000..80dfc4067 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437425.jpg b/RWT_Cache/Textures/20/mbs845333x437425.jpg new file mode 100644 index 000000000..ae6fa91df Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437426.jpg b/RWT_Cache/Textures/20/mbs845333x437426.jpg new file mode 100644 index 000000000..bf4828931 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437427.jpg b/RWT_Cache/Textures/20/mbs845333x437427.jpg new file mode 100644 index 000000000..82f11cbbf Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437428.jpg b/RWT_Cache/Textures/20/mbs845333x437428.jpg new file mode 100644 index 000000000..4dd288cfb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437429.jpg b/RWT_Cache/Textures/20/mbs845333x437429.jpg new file mode 100644 index 000000000..d968bb76d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437430.jpg b/RWT_Cache/Textures/20/mbs845333x437430.jpg new file mode 100644 index 000000000..568a51bde Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437431.jpg b/RWT_Cache/Textures/20/mbs845333x437431.jpg new file mode 100644 index 000000000..ce33035c3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437432.jpg b/RWT_Cache/Textures/20/mbs845333x437432.jpg new file mode 100644 index 000000000..69a60ef8e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437433.jpg b/RWT_Cache/Textures/20/mbs845333x437433.jpg new file mode 100644 index 000000000..3efd630f2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437434.jpg b/RWT_Cache/Textures/20/mbs845333x437434.jpg new file mode 100644 index 000000000..40f76270e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437435.jpg b/RWT_Cache/Textures/20/mbs845333x437435.jpg new file mode 100644 index 000000000..77265728a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437436.jpg b/RWT_Cache/Textures/20/mbs845333x437436.jpg new file mode 100644 index 000000000..dfb73f970 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437437.jpg b/RWT_Cache/Textures/20/mbs845333x437437.jpg new file mode 100644 index 000000000..b24bc111c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437438.jpg b/RWT_Cache/Textures/20/mbs845333x437438.jpg new file mode 100644 index 000000000..400e7b484 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437439.jpg b/RWT_Cache/Textures/20/mbs845333x437439.jpg new file mode 100644 index 000000000..4d5a4af9d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437440.jpg b/RWT_Cache/Textures/20/mbs845333x437440.jpg new file mode 100644 index 000000000..58cd77286 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437441.jpg b/RWT_Cache/Textures/20/mbs845333x437441.jpg new file mode 100644 index 000000000..d22ef80cf Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437442.jpg b/RWT_Cache/Textures/20/mbs845333x437442.jpg new file mode 100644 index 000000000..beaf96f68 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437443.jpg b/RWT_Cache/Textures/20/mbs845333x437443.jpg new file mode 100644 index 000000000..33e884206 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437444.jpg b/RWT_Cache/Textures/20/mbs845333x437444.jpg new file mode 100644 index 000000000..ff5396e63 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437445.jpg b/RWT_Cache/Textures/20/mbs845333x437445.jpg new file mode 100644 index 000000000..240d8a488 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437446.jpg b/RWT_Cache/Textures/20/mbs845333x437446.jpg new file mode 100644 index 000000000..8c01f2f81 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845333x437447.jpg b/RWT_Cache/Textures/20/mbs845333x437447.jpg new file mode 100644 index 000000000..741edf3b5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845333x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437391.jpg b/RWT_Cache/Textures/20/mbs845334x437391.jpg new file mode 100644 index 000000000..e93ce2ffa Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437392.jpg b/RWT_Cache/Textures/20/mbs845334x437392.jpg new file mode 100644 index 000000000..3378d5a30 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437393.jpg b/RWT_Cache/Textures/20/mbs845334x437393.jpg new file mode 100644 index 000000000..a1594ec4f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437394.jpg b/RWT_Cache/Textures/20/mbs845334x437394.jpg new file mode 100644 index 000000000..a84351a12 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437395.jpg b/RWT_Cache/Textures/20/mbs845334x437395.jpg new file mode 100644 index 000000000..08696a77a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437396.jpg b/RWT_Cache/Textures/20/mbs845334x437396.jpg new file mode 100644 index 000000000..fee5946fd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437397.jpg b/RWT_Cache/Textures/20/mbs845334x437397.jpg new file mode 100644 index 000000000..2a2857a96 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437398.jpg b/RWT_Cache/Textures/20/mbs845334x437398.jpg new file mode 100644 index 000000000..676aaf463 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437399.jpg b/RWT_Cache/Textures/20/mbs845334x437399.jpg new file mode 100644 index 000000000..354390247 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437400.jpg b/RWT_Cache/Textures/20/mbs845334x437400.jpg new file mode 100644 index 000000000..114a520fb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437401.jpg b/RWT_Cache/Textures/20/mbs845334x437401.jpg new file mode 100644 index 000000000..080618895 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437402.jpg b/RWT_Cache/Textures/20/mbs845334x437402.jpg new file mode 100644 index 000000000..c0c6744c2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437403.jpg b/RWT_Cache/Textures/20/mbs845334x437403.jpg new file mode 100644 index 000000000..4fa574bba Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437404.jpg b/RWT_Cache/Textures/20/mbs845334x437404.jpg new file mode 100644 index 000000000..00c64cb1d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437405.jpg b/RWT_Cache/Textures/20/mbs845334x437405.jpg new file mode 100644 index 000000000..cb3628030 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437406.jpg b/RWT_Cache/Textures/20/mbs845334x437406.jpg new file mode 100644 index 000000000..b7c1c5d3f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437407.jpg b/RWT_Cache/Textures/20/mbs845334x437407.jpg new file mode 100644 index 000000000..0a313ba7b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437408.jpg b/RWT_Cache/Textures/20/mbs845334x437408.jpg new file mode 100644 index 000000000..a5e038343 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437409.jpg b/RWT_Cache/Textures/20/mbs845334x437409.jpg new file mode 100644 index 000000000..d759b5adc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437410.jpg b/RWT_Cache/Textures/20/mbs845334x437410.jpg new file mode 100644 index 000000000..8235c6a43 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437411.jpg b/RWT_Cache/Textures/20/mbs845334x437411.jpg new file mode 100644 index 000000000..4faf2726e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437412.jpg b/RWT_Cache/Textures/20/mbs845334x437412.jpg new file mode 100644 index 000000000..edfebef06 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437413.jpg b/RWT_Cache/Textures/20/mbs845334x437413.jpg new file mode 100644 index 000000000..bc2b40e93 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437414.jpg b/RWT_Cache/Textures/20/mbs845334x437414.jpg new file mode 100644 index 000000000..b251ffee2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437415.jpg b/RWT_Cache/Textures/20/mbs845334x437415.jpg new file mode 100644 index 000000000..712c7a10a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437416.jpg b/RWT_Cache/Textures/20/mbs845334x437416.jpg new file mode 100644 index 000000000..d3ebd8180 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437417.jpg b/RWT_Cache/Textures/20/mbs845334x437417.jpg new file mode 100644 index 000000000..fe92bd75f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437418.jpg b/RWT_Cache/Textures/20/mbs845334x437418.jpg new file mode 100644 index 000000000..d5063ab13 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437419.jpg b/RWT_Cache/Textures/20/mbs845334x437419.jpg new file mode 100644 index 000000000..32f51783c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437420.jpg b/RWT_Cache/Textures/20/mbs845334x437420.jpg new file mode 100644 index 000000000..e75687daf Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437421.jpg b/RWT_Cache/Textures/20/mbs845334x437421.jpg new file mode 100644 index 000000000..896c34ba9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437422.jpg b/RWT_Cache/Textures/20/mbs845334x437422.jpg new file mode 100644 index 000000000..ec84d90ea Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437423.jpg b/RWT_Cache/Textures/20/mbs845334x437423.jpg new file mode 100644 index 000000000..77f9abe8e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437424.jpg b/RWT_Cache/Textures/20/mbs845334x437424.jpg new file mode 100644 index 000000000..ef16844c9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437425.jpg b/RWT_Cache/Textures/20/mbs845334x437425.jpg new file mode 100644 index 000000000..89f2417c2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437426.jpg b/RWT_Cache/Textures/20/mbs845334x437426.jpg new file mode 100644 index 000000000..b1e0d9261 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437427.jpg b/RWT_Cache/Textures/20/mbs845334x437427.jpg new file mode 100644 index 000000000..2120cef3f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437428.jpg b/RWT_Cache/Textures/20/mbs845334x437428.jpg new file mode 100644 index 000000000..18f56b5d1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437429.jpg b/RWT_Cache/Textures/20/mbs845334x437429.jpg new file mode 100644 index 000000000..fb1801b8d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437430.jpg b/RWT_Cache/Textures/20/mbs845334x437430.jpg new file mode 100644 index 000000000..ed43fe1cd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437431.jpg b/RWT_Cache/Textures/20/mbs845334x437431.jpg new file mode 100644 index 000000000..15e673f8a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437432.jpg b/RWT_Cache/Textures/20/mbs845334x437432.jpg new file mode 100644 index 000000000..d240a46d3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437433.jpg b/RWT_Cache/Textures/20/mbs845334x437433.jpg new file mode 100644 index 000000000..579adad64 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437434.jpg b/RWT_Cache/Textures/20/mbs845334x437434.jpg new file mode 100644 index 000000000..5a9b7ed21 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437435.jpg b/RWT_Cache/Textures/20/mbs845334x437435.jpg new file mode 100644 index 000000000..cdfc64267 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437436.jpg b/RWT_Cache/Textures/20/mbs845334x437436.jpg new file mode 100644 index 000000000..dfadb2ea0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437437.jpg b/RWT_Cache/Textures/20/mbs845334x437437.jpg new file mode 100644 index 000000000..bc123514f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437438.jpg b/RWT_Cache/Textures/20/mbs845334x437438.jpg new file mode 100644 index 000000000..46e37a231 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437439.jpg b/RWT_Cache/Textures/20/mbs845334x437439.jpg new file mode 100644 index 000000000..b1920783f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437440.jpg b/RWT_Cache/Textures/20/mbs845334x437440.jpg new file mode 100644 index 000000000..48824ca75 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437441.jpg b/RWT_Cache/Textures/20/mbs845334x437441.jpg new file mode 100644 index 000000000..95e70f599 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437442.jpg b/RWT_Cache/Textures/20/mbs845334x437442.jpg new file mode 100644 index 000000000..6f36677df Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437443.jpg b/RWT_Cache/Textures/20/mbs845334x437443.jpg new file mode 100644 index 000000000..13f8750a4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437444.jpg b/RWT_Cache/Textures/20/mbs845334x437444.jpg new file mode 100644 index 000000000..707baa24d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437445.jpg b/RWT_Cache/Textures/20/mbs845334x437445.jpg new file mode 100644 index 000000000..f05aad3de Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437446.jpg b/RWT_Cache/Textures/20/mbs845334x437446.jpg new file mode 100644 index 000000000..ffc13693f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845334x437447.jpg b/RWT_Cache/Textures/20/mbs845334x437447.jpg new file mode 100644 index 000000000..ea56e9073 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845334x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437391.jpg b/RWT_Cache/Textures/20/mbs845335x437391.jpg new file mode 100644 index 000000000..40ce44f52 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437392.jpg b/RWT_Cache/Textures/20/mbs845335x437392.jpg new file mode 100644 index 000000000..5d157d50c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437393.jpg b/RWT_Cache/Textures/20/mbs845335x437393.jpg new file mode 100644 index 000000000..3620678f7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437394.jpg b/RWT_Cache/Textures/20/mbs845335x437394.jpg new file mode 100644 index 000000000..9fc9cc9fd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437395.jpg b/RWT_Cache/Textures/20/mbs845335x437395.jpg new file mode 100644 index 000000000..bdacdf6e0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437396.jpg b/RWT_Cache/Textures/20/mbs845335x437396.jpg new file mode 100644 index 000000000..d1b09e35a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437397.jpg b/RWT_Cache/Textures/20/mbs845335x437397.jpg new file mode 100644 index 000000000..4e3c6bcc3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437398.jpg b/RWT_Cache/Textures/20/mbs845335x437398.jpg new file mode 100644 index 000000000..6e92aa670 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437399.jpg b/RWT_Cache/Textures/20/mbs845335x437399.jpg new file mode 100644 index 000000000..c664b285d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437400.jpg b/RWT_Cache/Textures/20/mbs845335x437400.jpg new file mode 100644 index 000000000..889cc5ad9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437401.jpg b/RWT_Cache/Textures/20/mbs845335x437401.jpg new file mode 100644 index 000000000..8e9cb3fa3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437402.jpg b/RWT_Cache/Textures/20/mbs845335x437402.jpg new file mode 100644 index 000000000..079cb2220 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437403.jpg b/RWT_Cache/Textures/20/mbs845335x437403.jpg new file mode 100644 index 000000000..9297704db Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437404.jpg b/RWT_Cache/Textures/20/mbs845335x437404.jpg new file mode 100644 index 000000000..56ca6af4e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437405.jpg b/RWT_Cache/Textures/20/mbs845335x437405.jpg new file mode 100644 index 000000000..738558f4c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437406.jpg b/RWT_Cache/Textures/20/mbs845335x437406.jpg new file mode 100644 index 000000000..f3c4aca1c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437407.jpg b/RWT_Cache/Textures/20/mbs845335x437407.jpg new file mode 100644 index 000000000..adb0a4642 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437408.jpg b/RWT_Cache/Textures/20/mbs845335x437408.jpg new file mode 100644 index 000000000..88b30f8dc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437409.jpg b/RWT_Cache/Textures/20/mbs845335x437409.jpg new file mode 100644 index 000000000..68c51b247 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437410.jpg b/RWT_Cache/Textures/20/mbs845335x437410.jpg new file mode 100644 index 000000000..26f7ee6c5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437411.jpg b/RWT_Cache/Textures/20/mbs845335x437411.jpg new file mode 100644 index 000000000..7a54da8cb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437412.jpg b/RWT_Cache/Textures/20/mbs845335x437412.jpg new file mode 100644 index 000000000..eaced0378 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437413.jpg b/RWT_Cache/Textures/20/mbs845335x437413.jpg new file mode 100644 index 000000000..1e0fc9291 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437414.jpg b/RWT_Cache/Textures/20/mbs845335x437414.jpg new file mode 100644 index 000000000..3347b589f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437415.jpg b/RWT_Cache/Textures/20/mbs845335x437415.jpg new file mode 100644 index 000000000..c92dfdc2b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437416.jpg b/RWT_Cache/Textures/20/mbs845335x437416.jpg new file mode 100644 index 000000000..56b3c8416 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437417.jpg b/RWT_Cache/Textures/20/mbs845335x437417.jpg new file mode 100644 index 000000000..6be18e5a3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437418.jpg b/RWT_Cache/Textures/20/mbs845335x437418.jpg new file mode 100644 index 000000000..1b3b02dca Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437419.jpg b/RWT_Cache/Textures/20/mbs845335x437419.jpg new file mode 100644 index 000000000..3fd55bdb4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437420.jpg b/RWT_Cache/Textures/20/mbs845335x437420.jpg new file mode 100644 index 000000000..4a74e69ac Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437421.jpg b/RWT_Cache/Textures/20/mbs845335x437421.jpg new file mode 100644 index 000000000..a846d4715 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437422.jpg b/RWT_Cache/Textures/20/mbs845335x437422.jpg new file mode 100644 index 000000000..eb79b4f39 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437423.jpg b/RWT_Cache/Textures/20/mbs845335x437423.jpg new file mode 100644 index 000000000..24bef37bf Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437424.jpg b/RWT_Cache/Textures/20/mbs845335x437424.jpg new file mode 100644 index 000000000..69fa3a970 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437425.jpg b/RWT_Cache/Textures/20/mbs845335x437425.jpg new file mode 100644 index 000000000..4460c9d5d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437426.jpg b/RWT_Cache/Textures/20/mbs845335x437426.jpg new file mode 100644 index 000000000..b931dcd5a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437427.jpg b/RWT_Cache/Textures/20/mbs845335x437427.jpg new file mode 100644 index 000000000..395d69a15 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437428.jpg b/RWT_Cache/Textures/20/mbs845335x437428.jpg new file mode 100644 index 000000000..eeda5fd93 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437429.jpg b/RWT_Cache/Textures/20/mbs845335x437429.jpg new file mode 100644 index 000000000..96bb6878f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437430.jpg b/RWT_Cache/Textures/20/mbs845335x437430.jpg new file mode 100644 index 000000000..cdc256c79 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437431.jpg b/RWT_Cache/Textures/20/mbs845335x437431.jpg new file mode 100644 index 000000000..d51c445f0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437432.jpg b/RWT_Cache/Textures/20/mbs845335x437432.jpg new file mode 100644 index 000000000..6c225dc74 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437433.jpg b/RWT_Cache/Textures/20/mbs845335x437433.jpg new file mode 100644 index 000000000..3897a864e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437434.jpg b/RWT_Cache/Textures/20/mbs845335x437434.jpg new file mode 100644 index 000000000..6104ffe5c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437435.jpg b/RWT_Cache/Textures/20/mbs845335x437435.jpg new file mode 100644 index 000000000..f20c5d7b0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437436.jpg b/RWT_Cache/Textures/20/mbs845335x437436.jpg new file mode 100644 index 000000000..dd08f4df7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437437.jpg b/RWT_Cache/Textures/20/mbs845335x437437.jpg new file mode 100644 index 000000000..1165ad12b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437438.jpg b/RWT_Cache/Textures/20/mbs845335x437438.jpg new file mode 100644 index 000000000..9ba6a82e7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437439.jpg b/RWT_Cache/Textures/20/mbs845335x437439.jpg new file mode 100644 index 000000000..41696148e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437440.jpg b/RWT_Cache/Textures/20/mbs845335x437440.jpg new file mode 100644 index 000000000..db7455901 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437441.jpg b/RWT_Cache/Textures/20/mbs845335x437441.jpg new file mode 100644 index 000000000..4f6a11a96 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437442.jpg b/RWT_Cache/Textures/20/mbs845335x437442.jpg new file mode 100644 index 000000000..a5d5b9bf9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437443.jpg b/RWT_Cache/Textures/20/mbs845335x437443.jpg new file mode 100644 index 000000000..6787d58a9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437444.jpg b/RWT_Cache/Textures/20/mbs845335x437444.jpg new file mode 100644 index 000000000..16235900a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437445.jpg b/RWT_Cache/Textures/20/mbs845335x437445.jpg new file mode 100644 index 000000000..91e5add63 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437446.jpg b/RWT_Cache/Textures/20/mbs845335x437446.jpg new file mode 100644 index 000000000..094edc4a3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845335x437447.jpg b/RWT_Cache/Textures/20/mbs845335x437447.jpg new file mode 100644 index 000000000..bab918d1c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845335x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437391.jpg b/RWT_Cache/Textures/20/mbs845336x437391.jpg new file mode 100644 index 000000000..437092d99 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437392.jpg b/RWT_Cache/Textures/20/mbs845336x437392.jpg new file mode 100644 index 000000000..8f8fbf271 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437393.jpg b/RWT_Cache/Textures/20/mbs845336x437393.jpg new file mode 100644 index 000000000..80304f3b6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437394.jpg b/RWT_Cache/Textures/20/mbs845336x437394.jpg new file mode 100644 index 000000000..579281b8f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437395.jpg b/RWT_Cache/Textures/20/mbs845336x437395.jpg new file mode 100644 index 000000000..29be625b5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437396.jpg b/RWT_Cache/Textures/20/mbs845336x437396.jpg new file mode 100644 index 000000000..bbbc408f4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437397.jpg b/RWT_Cache/Textures/20/mbs845336x437397.jpg new file mode 100644 index 000000000..cdebe75fe Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437398.jpg b/RWT_Cache/Textures/20/mbs845336x437398.jpg new file mode 100644 index 000000000..4d70864b9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437399.jpg b/RWT_Cache/Textures/20/mbs845336x437399.jpg new file mode 100644 index 000000000..83f549635 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437400.jpg b/RWT_Cache/Textures/20/mbs845336x437400.jpg new file mode 100644 index 000000000..6c5b50459 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437401.jpg b/RWT_Cache/Textures/20/mbs845336x437401.jpg new file mode 100644 index 000000000..3dc0b6989 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437402.jpg b/RWT_Cache/Textures/20/mbs845336x437402.jpg new file mode 100644 index 000000000..41cb713cd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437403.jpg b/RWT_Cache/Textures/20/mbs845336x437403.jpg new file mode 100644 index 000000000..ee2b25fd9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437404.jpg b/RWT_Cache/Textures/20/mbs845336x437404.jpg new file mode 100644 index 000000000..77c76638b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437405.jpg b/RWT_Cache/Textures/20/mbs845336x437405.jpg new file mode 100644 index 000000000..4ca6e43b5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437406.jpg b/RWT_Cache/Textures/20/mbs845336x437406.jpg new file mode 100644 index 000000000..1f5d3a85c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437407.jpg b/RWT_Cache/Textures/20/mbs845336x437407.jpg new file mode 100644 index 000000000..024650652 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437408.jpg b/RWT_Cache/Textures/20/mbs845336x437408.jpg new file mode 100644 index 000000000..dc8a22612 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437409.jpg b/RWT_Cache/Textures/20/mbs845336x437409.jpg new file mode 100644 index 000000000..6b8c62f1f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437410.jpg b/RWT_Cache/Textures/20/mbs845336x437410.jpg new file mode 100644 index 000000000..2cbd7faf5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437411.jpg b/RWT_Cache/Textures/20/mbs845336x437411.jpg new file mode 100644 index 000000000..4b7d714bb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437412.jpg b/RWT_Cache/Textures/20/mbs845336x437412.jpg new file mode 100644 index 000000000..5c8044796 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437413.jpg b/RWT_Cache/Textures/20/mbs845336x437413.jpg new file mode 100644 index 000000000..a8f132709 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437414.jpg b/RWT_Cache/Textures/20/mbs845336x437414.jpg new file mode 100644 index 000000000..26295dcb7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437415.jpg b/RWT_Cache/Textures/20/mbs845336x437415.jpg new file mode 100644 index 000000000..2423a6f71 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437416.jpg b/RWT_Cache/Textures/20/mbs845336x437416.jpg new file mode 100644 index 000000000..e905e84a6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437417.jpg b/RWT_Cache/Textures/20/mbs845336x437417.jpg new file mode 100644 index 000000000..fddc0ac61 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437418.jpg b/RWT_Cache/Textures/20/mbs845336x437418.jpg new file mode 100644 index 000000000..2c567fac9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437419.jpg b/RWT_Cache/Textures/20/mbs845336x437419.jpg new file mode 100644 index 000000000..7f91701a2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437420.jpg b/RWT_Cache/Textures/20/mbs845336x437420.jpg new file mode 100644 index 000000000..c63b1c1cc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437421.jpg b/RWT_Cache/Textures/20/mbs845336x437421.jpg new file mode 100644 index 000000000..358ca6ac0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437422.jpg b/RWT_Cache/Textures/20/mbs845336x437422.jpg new file mode 100644 index 000000000..99eb8b4c2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437423.jpg b/RWT_Cache/Textures/20/mbs845336x437423.jpg new file mode 100644 index 000000000..72463883e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437424.jpg b/RWT_Cache/Textures/20/mbs845336x437424.jpg new file mode 100644 index 000000000..38ff0f32e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437425.jpg b/RWT_Cache/Textures/20/mbs845336x437425.jpg new file mode 100644 index 000000000..d0c340d5e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437426.jpg b/RWT_Cache/Textures/20/mbs845336x437426.jpg new file mode 100644 index 000000000..723a6bb1f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437427.jpg b/RWT_Cache/Textures/20/mbs845336x437427.jpg new file mode 100644 index 000000000..762ef287b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437428.jpg b/RWT_Cache/Textures/20/mbs845336x437428.jpg new file mode 100644 index 000000000..e3036181c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437429.jpg b/RWT_Cache/Textures/20/mbs845336x437429.jpg new file mode 100644 index 000000000..442200461 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437430.jpg b/RWT_Cache/Textures/20/mbs845336x437430.jpg new file mode 100644 index 000000000..39da2a453 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437431.jpg b/RWT_Cache/Textures/20/mbs845336x437431.jpg new file mode 100644 index 000000000..c738ee79c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437432.jpg b/RWT_Cache/Textures/20/mbs845336x437432.jpg new file mode 100644 index 000000000..b366feaa9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437433.jpg b/RWT_Cache/Textures/20/mbs845336x437433.jpg new file mode 100644 index 000000000..1e37db73c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437434.jpg b/RWT_Cache/Textures/20/mbs845336x437434.jpg new file mode 100644 index 000000000..abd414af9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437435.jpg b/RWT_Cache/Textures/20/mbs845336x437435.jpg new file mode 100644 index 000000000..08bd267d0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437436.jpg b/RWT_Cache/Textures/20/mbs845336x437436.jpg new file mode 100644 index 000000000..2c66bd0b4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437437.jpg b/RWT_Cache/Textures/20/mbs845336x437437.jpg new file mode 100644 index 000000000..18b6a3f44 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437438.jpg b/RWT_Cache/Textures/20/mbs845336x437438.jpg new file mode 100644 index 000000000..2a9520398 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437439.jpg b/RWT_Cache/Textures/20/mbs845336x437439.jpg new file mode 100644 index 000000000..09ff7c14c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437440.jpg b/RWT_Cache/Textures/20/mbs845336x437440.jpg new file mode 100644 index 000000000..a42c06a2e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437441.jpg b/RWT_Cache/Textures/20/mbs845336x437441.jpg new file mode 100644 index 000000000..455c97a90 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437442.jpg b/RWT_Cache/Textures/20/mbs845336x437442.jpg new file mode 100644 index 000000000..7c4f4013f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437443.jpg b/RWT_Cache/Textures/20/mbs845336x437443.jpg new file mode 100644 index 000000000..1df3f0a86 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437444.jpg b/RWT_Cache/Textures/20/mbs845336x437444.jpg new file mode 100644 index 000000000..3a840165c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437445.jpg b/RWT_Cache/Textures/20/mbs845336x437445.jpg new file mode 100644 index 000000000..4cf3d3f80 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437446.jpg b/RWT_Cache/Textures/20/mbs845336x437446.jpg new file mode 100644 index 000000000..04d9bb4c0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845336x437447.jpg b/RWT_Cache/Textures/20/mbs845336x437447.jpg new file mode 100644 index 000000000..a1dc0fbb7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845336x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437391.jpg b/RWT_Cache/Textures/20/mbs845337x437391.jpg new file mode 100644 index 000000000..2978f23a2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437392.jpg b/RWT_Cache/Textures/20/mbs845337x437392.jpg new file mode 100644 index 000000000..ab77ed17a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437393.jpg b/RWT_Cache/Textures/20/mbs845337x437393.jpg new file mode 100644 index 000000000..e902f4af6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437394.jpg b/RWT_Cache/Textures/20/mbs845337x437394.jpg new file mode 100644 index 000000000..4c3e1919d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437395.jpg b/RWT_Cache/Textures/20/mbs845337x437395.jpg new file mode 100644 index 000000000..11f6e100e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437396.jpg b/RWT_Cache/Textures/20/mbs845337x437396.jpg new file mode 100644 index 000000000..9a7bc113f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437397.jpg b/RWT_Cache/Textures/20/mbs845337x437397.jpg new file mode 100644 index 000000000..faf8a65d6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437398.jpg b/RWT_Cache/Textures/20/mbs845337x437398.jpg new file mode 100644 index 000000000..cb00b466b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437399.jpg b/RWT_Cache/Textures/20/mbs845337x437399.jpg new file mode 100644 index 000000000..970e42f33 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437400.jpg b/RWT_Cache/Textures/20/mbs845337x437400.jpg new file mode 100644 index 000000000..c1f55f098 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437401.jpg b/RWT_Cache/Textures/20/mbs845337x437401.jpg new file mode 100644 index 000000000..42e24884d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437402.jpg b/RWT_Cache/Textures/20/mbs845337x437402.jpg new file mode 100644 index 000000000..bff8df2aa Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437403.jpg b/RWT_Cache/Textures/20/mbs845337x437403.jpg new file mode 100644 index 000000000..8af2a09c2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437404.jpg b/RWT_Cache/Textures/20/mbs845337x437404.jpg new file mode 100644 index 000000000..bc991e9a3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437405.jpg b/RWT_Cache/Textures/20/mbs845337x437405.jpg new file mode 100644 index 000000000..e12ea2937 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437406.jpg b/RWT_Cache/Textures/20/mbs845337x437406.jpg new file mode 100644 index 000000000..0950a4b07 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437407.jpg b/RWT_Cache/Textures/20/mbs845337x437407.jpg new file mode 100644 index 000000000..0b15243fe Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437408.jpg b/RWT_Cache/Textures/20/mbs845337x437408.jpg new file mode 100644 index 000000000..60c3b91cd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437409.jpg b/RWT_Cache/Textures/20/mbs845337x437409.jpg new file mode 100644 index 000000000..eec16fbd0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437410.jpg b/RWT_Cache/Textures/20/mbs845337x437410.jpg new file mode 100644 index 000000000..7592f0a47 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437411.jpg b/RWT_Cache/Textures/20/mbs845337x437411.jpg new file mode 100644 index 000000000..ca7e559fd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437412.jpg b/RWT_Cache/Textures/20/mbs845337x437412.jpg new file mode 100644 index 000000000..cad338485 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437413.jpg b/RWT_Cache/Textures/20/mbs845337x437413.jpg new file mode 100644 index 000000000..c2e8d7262 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437414.jpg b/RWT_Cache/Textures/20/mbs845337x437414.jpg new file mode 100644 index 000000000..6fbf2b396 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437415.jpg b/RWT_Cache/Textures/20/mbs845337x437415.jpg new file mode 100644 index 000000000..81bc1f9b8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437416.jpg b/RWT_Cache/Textures/20/mbs845337x437416.jpg new file mode 100644 index 000000000..fe2f93706 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437417.jpg b/RWT_Cache/Textures/20/mbs845337x437417.jpg new file mode 100644 index 000000000..3ed169e58 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437418.jpg b/RWT_Cache/Textures/20/mbs845337x437418.jpg new file mode 100644 index 000000000..eb680c0d2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437419.jpg b/RWT_Cache/Textures/20/mbs845337x437419.jpg new file mode 100644 index 000000000..fe75306c0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437420.jpg b/RWT_Cache/Textures/20/mbs845337x437420.jpg new file mode 100644 index 000000000..677ccf58d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437421.jpg b/RWT_Cache/Textures/20/mbs845337x437421.jpg new file mode 100644 index 000000000..685ad4a3a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437422.jpg b/RWT_Cache/Textures/20/mbs845337x437422.jpg new file mode 100644 index 000000000..d14df6ba9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437423.jpg b/RWT_Cache/Textures/20/mbs845337x437423.jpg new file mode 100644 index 000000000..fea699c25 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437424.jpg b/RWT_Cache/Textures/20/mbs845337x437424.jpg new file mode 100644 index 000000000..de645fa6b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437425.jpg b/RWT_Cache/Textures/20/mbs845337x437425.jpg new file mode 100644 index 000000000..7ddc44a02 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437426.jpg b/RWT_Cache/Textures/20/mbs845337x437426.jpg new file mode 100644 index 000000000..74802e586 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437427.jpg b/RWT_Cache/Textures/20/mbs845337x437427.jpg new file mode 100644 index 000000000..7b74c8abc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437428.jpg b/RWT_Cache/Textures/20/mbs845337x437428.jpg new file mode 100644 index 000000000..97306770e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437429.jpg b/RWT_Cache/Textures/20/mbs845337x437429.jpg new file mode 100644 index 000000000..fd539007b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437430.jpg b/RWT_Cache/Textures/20/mbs845337x437430.jpg new file mode 100644 index 000000000..19ba4714f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437431.jpg b/RWT_Cache/Textures/20/mbs845337x437431.jpg new file mode 100644 index 000000000..429db0774 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437432.jpg b/RWT_Cache/Textures/20/mbs845337x437432.jpg new file mode 100644 index 000000000..c0aa25e41 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437433.jpg b/RWT_Cache/Textures/20/mbs845337x437433.jpg new file mode 100644 index 000000000..ce1e6805e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437434.jpg b/RWT_Cache/Textures/20/mbs845337x437434.jpg new file mode 100644 index 000000000..25c2bb86d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437435.jpg b/RWT_Cache/Textures/20/mbs845337x437435.jpg new file mode 100644 index 000000000..724005da0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437436.jpg b/RWT_Cache/Textures/20/mbs845337x437436.jpg new file mode 100644 index 000000000..23a8a5169 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437437.jpg b/RWT_Cache/Textures/20/mbs845337x437437.jpg new file mode 100644 index 000000000..bfaed4b26 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437438.jpg b/RWT_Cache/Textures/20/mbs845337x437438.jpg new file mode 100644 index 000000000..0fa9369a4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437439.jpg b/RWT_Cache/Textures/20/mbs845337x437439.jpg new file mode 100644 index 000000000..3fcb5cee2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437440.jpg b/RWT_Cache/Textures/20/mbs845337x437440.jpg new file mode 100644 index 000000000..526dafdbb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437441.jpg b/RWT_Cache/Textures/20/mbs845337x437441.jpg new file mode 100644 index 000000000..c858cdd91 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437442.jpg b/RWT_Cache/Textures/20/mbs845337x437442.jpg new file mode 100644 index 000000000..068e76883 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437443.jpg b/RWT_Cache/Textures/20/mbs845337x437443.jpg new file mode 100644 index 000000000..3d35ea467 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437444.jpg b/RWT_Cache/Textures/20/mbs845337x437444.jpg new file mode 100644 index 000000000..404fd65d7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437445.jpg b/RWT_Cache/Textures/20/mbs845337x437445.jpg new file mode 100644 index 000000000..e26cad500 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437446.jpg b/RWT_Cache/Textures/20/mbs845337x437446.jpg new file mode 100644 index 000000000..5f805371a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845337x437447.jpg b/RWT_Cache/Textures/20/mbs845337x437447.jpg new file mode 100644 index 000000000..f6e7d6487 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845337x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437391.jpg b/RWT_Cache/Textures/20/mbs845338x437391.jpg new file mode 100644 index 000000000..a860d3fb2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437392.jpg b/RWT_Cache/Textures/20/mbs845338x437392.jpg new file mode 100644 index 000000000..db218e2b6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437393.jpg b/RWT_Cache/Textures/20/mbs845338x437393.jpg new file mode 100644 index 000000000..bc2d02e06 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437394.jpg b/RWT_Cache/Textures/20/mbs845338x437394.jpg new file mode 100644 index 000000000..19658e51f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437395.jpg b/RWT_Cache/Textures/20/mbs845338x437395.jpg new file mode 100644 index 000000000..740fc82df Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437396.jpg b/RWT_Cache/Textures/20/mbs845338x437396.jpg new file mode 100644 index 000000000..ec305c9cf Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437397.jpg b/RWT_Cache/Textures/20/mbs845338x437397.jpg new file mode 100644 index 000000000..f35854150 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437398.jpg b/RWT_Cache/Textures/20/mbs845338x437398.jpg new file mode 100644 index 000000000..a200c9c2b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437399.jpg b/RWT_Cache/Textures/20/mbs845338x437399.jpg new file mode 100644 index 000000000..26c59e4ce Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437400.jpg b/RWT_Cache/Textures/20/mbs845338x437400.jpg new file mode 100644 index 000000000..9a65c2530 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437401.jpg b/RWT_Cache/Textures/20/mbs845338x437401.jpg new file mode 100644 index 000000000..b3fe299ba Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437402.jpg b/RWT_Cache/Textures/20/mbs845338x437402.jpg new file mode 100644 index 000000000..5d7541bc9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437403.jpg b/RWT_Cache/Textures/20/mbs845338x437403.jpg new file mode 100644 index 000000000..0968c0fd9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437404.jpg b/RWT_Cache/Textures/20/mbs845338x437404.jpg new file mode 100644 index 000000000..1cd11b74a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437405.jpg b/RWT_Cache/Textures/20/mbs845338x437405.jpg new file mode 100644 index 000000000..0c34630a1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437406.jpg b/RWT_Cache/Textures/20/mbs845338x437406.jpg new file mode 100644 index 000000000..7d9b6641e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437407.jpg b/RWT_Cache/Textures/20/mbs845338x437407.jpg new file mode 100644 index 000000000..65c7c3b58 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437408.jpg b/RWT_Cache/Textures/20/mbs845338x437408.jpg new file mode 100644 index 000000000..59c0d5629 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437409.jpg b/RWT_Cache/Textures/20/mbs845338x437409.jpg new file mode 100644 index 000000000..e233d73be Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437410.jpg b/RWT_Cache/Textures/20/mbs845338x437410.jpg new file mode 100644 index 000000000..fcc5bb644 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437411.jpg b/RWT_Cache/Textures/20/mbs845338x437411.jpg new file mode 100644 index 000000000..052fd20f1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437412.jpg b/RWT_Cache/Textures/20/mbs845338x437412.jpg new file mode 100644 index 000000000..f4a0ae1c7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437413.jpg b/RWT_Cache/Textures/20/mbs845338x437413.jpg new file mode 100644 index 000000000..334f921cd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437414.jpg b/RWT_Cache/Textures/20/mbs845338x437414.jpg new file mode 100644 index 000000000..d54b42ef7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437415.jpg b/RWT_Cache/Textures/20/mbs845338x437415.jpg new file mode 100644 index 000000000..40e0e4923 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437416.jpg b/RWT_Cache/Textures/20/mbs845338x437416.jpg new file mode 100644 index 000000000..fd4492758 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437417.jpg b/RWT_Cache/Textures/20/mbs845338x437417.jpg new file mode 100644 index 000000000..46698dcc1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437418.jpg b/RWT_Cache/Textures/20/mbs845338x437418.jpg new file mode 100644 index 000000000..08badd37f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437419.jpg b/RWT_Cache/Textures/20/mbs845338x437419.jpg new file mode 100644 index 000000000..058109717 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437420.jpg b/RWT_Cache/Textures/20/mbs845338x437420.jpg new file mode 100644 index 000000000..eb2d4372a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437421.jpg b/RWT_Cache/Textures/20/mbs845338x437421.jpg new file mode 100644 index 000000000..c5dca85bc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437422.jpg b/RWT_Cache/Textures/20/mbs845338x437422.jpg new file mode 100644 index 000000000..45aaba211 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437423.jpg b/RWT_Cache/Textures/20/mbs845338x437423.jpg new file mode 100644 index 000000000..c400785c6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437424.jpg b/RWT_Cache/Textures/20/mbs845338x437424.jpg new file mode 100644 index 000000000..ba291a23a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437425.jpg b/RWT_Cache/Textures/20/mbs845338x437425.jpg new file mode 100644 index 000000000..bd728adc7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437426.jpg b/RWT_Cache/Textures/20/mbs845338x437426.jpg new file mode 100644 index 000000000..f578fe757 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437427.jpg b/RWT_Cache/Textures/20/mbs845338x437427.jpg new file mode 100644 index 000000000..bdfa04602 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437428.jpg b/RWT_Cache/Textures/20/mbs845338x437428.jpg new file mode 100644 index 000000000..fd20d85ba Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437429.jpg b/RWT_Cache/Textures/20/mbs845338x437429.jpg new file mode 100644 index 000000000..0623ae537 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437430.jpg b/RWT_Cache/Textures/20/mbs845338x437430.jpg new file mode 100644 index 000000000..f4be6712a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437431.jpg b/RWT_Cache/Textures/20/mbs845338x437431.jpg new file mode 100644 index 000000000..05380c82c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437432.jpg b/RWT_Cache/Textures/20/mbs845338x437432.jpg new file mode 100644 index 000000000..e8c5ad4e9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437433.jpg b/RWT_Cache/Textures/20/mbs845338x437433.jpg new file mode 100644 index 000000000..5a3154667 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437434.jpg b/RWT_Cache/Textures/20/mbs845338x437434.jpg new file mode 100644 index 000000000..e4fe085b5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437435.jpg b/RWT_Cache/Textures/20/mbs845338x437435.jpg new file mode 100644 index 000000000..f3e7fe1b5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437436.jpg b/RWT_Cache/Textures/20/mbs845338x437436.jpg new file mode 100644 index 000000000..505e54d3b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437437.jpg b/RWT_Cache/Textures/20/mbs845338x437437.jpg new file mode 100644 index 000000000..308644782 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437438.jpg b/RWT_Cache/Textures/20/mbs845338x437438.jpg new file mode 100644 index 000000000..352c51a15 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437439.jpg b/RWT_Cache/Textures/20/mbs845338x437439.jpg new file mode 100644 index 000000000..70d439cc0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437440.jpg b/RWT_Cache/Textures/20/mbs845338x437440.jpg new file mode 100644 index 000000000..a038d380a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437441.jpg b/RWT_Cache/Textures/20/mbs845338x437441.jpg new file mode 100644 index 000000000..6a210aed3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437442.jpg b/RWT_Cache/Textures/20/mbs845338x437442.jpg new file mode 100644 index 000000000..d168d6c87 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437443.jpg b/RWT_Cache/Textures/20/mbs845338x437443.jpg new file mode 100644 index 000000000..972c5e5ad Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437444.jpg b/RWT_Cache/Textures/20/mbs845338x437444.jpg new file mode 100644 index 000000000..101713bed Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437445.jpg b/RWT_Cache/Textures/20/mbs845338x437445.jpg new file mode 100644 index 000000000..f5d7e3228 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437446.jpg b/RWT_Cache/Textures/20/mbs845338x437446.jpg new file mode 100644 index 000000000..f20acf939 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845338x437447.jpg b/RWT_Cache/Textures/20/mbs845338x437447.jpg new file mode 100644 index 000000000..7561a2b74 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845338x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437391.jpg b/RWT_Cache/Textures/20/mbs845339x437391.jpg new file mode 100644 index 000000000..a860d3fb2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437392.jpg b/RWT_Cache/Textures/20/mbs845339x437392.jpg new file mode 100644 index 000000000..db218e2b6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437393.jpg b/RWT_Cache/Textures/20/mbs845339x437393.jpg new file mode 100644 index 000000000..03f9107da Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437394.jpg b/RWT_Cache/Textures/20/mbs845339x437394.jpg new file mode 100644 index 000000000..2625bd1ad Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437395.jpg b/RWT_Cache/Textures/20/mbs845339x437395.jpg new file mode 100644 index 000000000..20c25c977 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437396.jpg b/RWT_Cache/Textures/20/mbs845339x437396.jpg new file mode 100644 index 000000000..042d98f8e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437397.jpg b/RWT_Cache/Textures/20/mbs845339x437397.jpg new file mode 100644 index 000000000..1ffac9763 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437398.jpg b/RWT_Cache/Textures/20/mbs845339x437398.jpg new file mode 100644 index 000000000..a1d894469 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437399.jpg b/RWT_Cache/Textures/20/mbs845339x437399.jpg new file mode 100644 index 000000000..f1cb4248b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437400.jpg b/RWT_Cache/Textures/20/mbs845339x437400.jpg new file mode 100644 index 000000000..f55734284 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437401.jpg b/RWT_Cache/Textures/20/mbs845339x437401.jpg new file mode 100644 index 000000000..6c3dc9de4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437402.jpg b/RWT_Cache/Textures/20/mbs845339x437402.jpg new file mode 100644 index 000000000..ce64dd95e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437403.jpg b/RWT_Cache/Textures/20/mbs845339x437403.jpg new file mode 100644 index 000000000..9f203793b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437404.jpg b/RWT_Cache/Textures/20/mbs845339x437404.jpg new file mode 100644 index 000000000..2d281977e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437405.jpg b/RWT_Cache/Textures/20/mbs845339x437405.jpg new file mode 100644 index 000000000..13c75b0b8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437406.jpg b/RWT_Cache/Textures/20/mbs845339x437406.jpg new file mode 100644 index 000000000..c09605099 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437407.jpg b/RWT_Cache/Textures/20/mbs845339x437407.jpg new file mode 100644 index 000000000..f9cf5c5b4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437408.jpg b/RWT_Cache/Textures/20/mbs845339x437408.jpg new file mode 100644 index 000000000..f8cf2fac9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437409.jpg b/RWT_Cache/Textures/20/mbs845339x437409.jpg new file mode 100644 index 000000000..6b5852584 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437410.jpg b/RWT_Cache/Textures/20/mbs845339x437410.jpg new file mode 100644 index 000000000..110966af1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437411.jpg b/RWT_Cache/Textures/20/mbs845339x437411.jpg new file mode 100644 index 000000000..3f541fe79 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437412.jpg b/RWT_Cache/Textures/20/mbs845339x437412.jpg new file mode 100644 index 000000000..300498628 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437413.jpg b/RWT_Cache/Textures/20/mbs845339x437413.jpg new file mode 100644 index 000000000..869fd8de6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437414.jpg b/RWT_Cache/Textures/20/mbs845339x437414.jpg new file mode 100644 index 000000000..163025e3f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437415.jpg b/RWT_Cache/Textures/20/mbs845339x437415.jpg new file mode 100644 index 000000000..b6b42317a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437416.jpg b/RWT_Cache/Textures/20/mbs845339x437416.jpg new file mode 100644 index 000000000..d6a56cb1d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437417.jpg b/RWT_Cache/Textures/20/mbs845339x437417.jpg new file mode 100644 index 000000000..3f8318307 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437418.jpg b/RWT_Cache/Textures/20/mbs845339x437418.jpg new file mode 100644 index 000000000..0982b328f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437419.jpg b/RWT_Cache/Textures/20/mbs845339x437419.jpg new file mode 100644 index 000000000..586bdb006 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437420.jpg b/RWT_Cache/Textures/20/mbs845339x437420.jpg new file mode 100644 index 000000000..42a97274a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437421.jpg b/RWT_Cache/Textures/20/mbs845339x437421.jpg new file mode 100644 index 000000000..25cbaaa6a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437422.jpg b/RWT_Cache/Textures/20/mbs845339x437422.jpg new file mode 100644 index 000000000..8046b97f6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437423.jpg b/RWT_Cache/Textures/20/mbs845339x437423.jpg new file mode 100644 index 000000000..f972d9dfc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437424.jpg b/RWT_Cache/Textures/20/mbs845339x437424.jpg new file mode 100644 index 000000000..483de1bec Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437425.jpg b/RWT_Cache/Textures/20/mbs845339x437425.jpg new file mode 100644 index 000000000..1d383ad45 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437426.jpg b/RWT_Cache/Textures/20/mbs845339x437426.jpg new file mode 100644 index 000000000..9e3ce3934 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437427.jpg b/RWT_Cache/Textures/20/mbs845339x437427.jpg new file mode 100644 index 000000000..9593ff94f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437428.jpg b/RWT_Cache/Textures/20/mbs845339x437428.jpg new file mode 100644 index 000000000..7669f0412 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437429.jpg b/RWT_Cache/Textures/20/mbs845339x437429.jpg new file mode 100644 index 000000000..b76420d6c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437430.jpg b/RWT_Cache/Textures/20/mbs845339x437430.jpg new file mode 100644 index 000000000..d55c0f4c6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437431.jpg b/RWT_Cache/Textures/20/mbs845339x437431.jpg new file mode 100644 index 000000000..d1b1b7867 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437432.jpg b/RWT_Cache/Textures/20/mbs845339x437432.jpg new file mode 100644 index 000000000..0eff717dd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437433.jpg b/RWT_Cache/Textures/20/mbs845339x437433.jpg new file mode 100644 index 000000000..57ab9960f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437434.jpg b/RWT_Cache/Textures/20/mbs845339x437434.jpg new file mode 100644 index 000000000..f1f207b2b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437435.jpg b/RWT_Cache/Textures/20/mbs845339x437435.jpg new file mode 100644 index 000000000..478456629 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437436.jpg b/RWT_Cache/Textures/20/mbs845339x437436.jpg new file mode 100644 index 000000000..51ba321a1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437437.jpg b/RWT_Cache/Textures/20/mbs845339x437437.jpg new file mode 100644 index 000000000..7c768d4d7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437438.jpg b/RWT_Cache/Textures/20/mbs845339x437438.jpg new file mode 100644 index 000000000..1388b3d70 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437439.jpg b/RWT_Cache/Textures/20/mbs845339x437439.jpg new file mode 100644 index 000000000..4b0b0dea9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437440.jpg b/RWT_Cache/Textures/20/mbs845339x437440.jpg new file mode 100644 index 000000000..a155ce8c0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437441.jpg b/RWT_Cache/Textures/20/mbs845339x437441.jpg new file mode 100644 index 000000000..89638572b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437442.jpg b/RWT_Cache/Textures/20/mbs845339x437442.jpg new file mode 100644 index 000000000..62e7a4df0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437443.jpg b/RWT_Cache/Textures/20/mbs845339x437443.jpg new file mode 100644 index 000000000..452b4bf9e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437444.jpg b/RWT_Cache/Textures/20/mbs845339x437444.jpg new file mode 100644 index 000000000..a30a31d2e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437445.jpg b/RWT_Cache/Textures/20/mbs845339x437445.jpg new file mode 100644 index 000000000..58626f18d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437446.jpg b/RWT_Cache/Textures/20/mbs845339x437446.jpg new file mode 100644 index 000000000..863c135d6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845339x437447.jpg b/RWT_Cache/Textures/20/mbs845339x437447.jpg new file mode 100644 index 000000000..fca7f19a9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845339x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437391.jpg b/RWT_Cache/Textures/20/mbs845340x437391.jpg new file mode 100644 index 000000000..a860d3fb2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437392.jpg b/RWT_Cache/Textures/20/mbs845340x437392.jpg new file mode 100644 index 000000000..db218e2b6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437393.jpg b/RWT_Cache/Textures/20/mbs845340x437393.jpg new file mode 100644 index 000000000..a8167bc57 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437394.jpg b/RWT_Cache/Textures/20/mbs845340x437394.jpg new file mode 100644 index 000000000..de59fd416 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437395.jpg b/RWT_Cache/Textures/20/mbs845340x437395.jpg new file mode 100644 index 000000000..3f1e771ad Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437396.jpg b/RWT_Cache/Textures/20/mbs845340x437396.jpg new file mode 100644 index 000000000..ed19f1f22 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437397.jpg b/RWT_Cache/Textures/20/mbs845340x437397.jpg new file mode 100644 index 000000000..9eb3b8548 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437398.jpg b/RWT_Cache/Textures/20/mbs845340x437398.jpg new file mode 100644 index 000000000..200ad6203 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437399.jpg b/RWT_Cache/Textures/20/mbs845340x437399.jpg new file mode 100644 index 000000000..2d9eb8095 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437400.jpg b/RWT_Cache/Textures/20/mbs845340x437400.jpg new file mode 100644 index 000000000..8d3e2c347 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437401.jpg b/RWT_Cache/Textures/20/mbs845340x437401.jpg new file mode 100644 index 000000000..d9df10128 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437402.jpg b/RWT_Cache/Textures/20/mbs845340x437402.jpg new file mode 100644 index 000000000..16656e7e8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437403.jpg b/RWT_Cache/Textures/20/mbs845340x437403.jpg new file mode 100644 index 000000000..7a96df1b7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437404.jpg b/RWT_Cache/Textures/20/mbs845340x437404.jpg new file mode 100644 index 000000000..a86c964f3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437405.jpg b/RWT_Cache/Textures/20/mbs845340x437405.jpg new file mode 100644 index 000000000..631077944 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437406.jpg b/RWT_Cache/Textures/20/mbs845340x437406.jpg new file mode 100644 index 000000000..575f81a85 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437407.jpg b/RWT_Cache/Textures/20/mbs845340x437407.jpg new file mode 100644 index 000000000..ab73f50b7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437408.jpg b/RWT_Cache/Textures/20/mbs845340x437408.jpg new file mode 100644 index 000000000..fbb11ac40 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437409.jpg b/RWT_Cache/Textures/20/mbs845340x437409.jpg new file mode 100644 index 000000000..470508cf1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437410.jpg b/RWT_Cache/Textures/20/mbs845340x437410.jpg new file mode 100644 index 000000000..619bc0c62 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437411.jpg b/RWT_Cache/Textures/20/mbs845340x437411.jpg new file mode 100644 index 000000000..7dcd70b92 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437412.jpg b/RWT_Cache/Textures/20/mbs845340x437412.jpg new file mode 100644 index 000000000..2692cc443 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437413.jpg b/RWT_Cache/Textures/20/mbs845340x437413.jpg new file mode 100644 index 000000000..c44fbdc97 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437414.jpg b/RWT_Cache/Textures/20/mbs845340x437414.jpg new file mode 100644 index 000000000..63a046f59 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437415.jpg b/RWT_Cache/Textures/20/mbs845340x437415.jpg new file mode 100644 index 000000000..98f2fba47 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437416.jpg b/RWT_Cache/Textures/20/mbs845340x437416.jpg new file mode 100644 index 000000000..5ea84c09c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437417.jpg b/RWT_Cache/Textures/20/mbs845340x437417.jpg new file mode 100644 index 000000000..a3b8ea0e0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437418.jpg b/RWT_Cache/Textures/20/mbs845340x437418.jpg new file mode 100644 index 000000000..f585baebb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437419.jpg b/RWT_Cache/Textures/20/mbs845340x437419.jpg new file mode 100644 index 000000000..3f4671f49 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437420.jpg b/RWT_Cache/Textures/20/mbs845340x437420.jpg new file mode 100644 index 000000000..9b84e9e0d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437421.jpg b/RWT_Cache/Textures/20/mbs845340x437421.jpg new file mode 100644 index 000000000..ac1111b8c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437422.jpg b/RWT_Cache/Textures/20/mbs845340x437422.jpg new file mode 100644 index 000000000..bcb3eabca Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437423.jpg b/RWT_Cache/Textures/20/mbs845340x437423.jpg new file mode 100644 index 000000000..930c625ac Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437424.jpg b/RWT_Cache/Textures/20/mbs845340x437424.jpg new file mode 100644 index 000000000..241b60343 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437425.jpg b/RWT_Cache/Textures/20/mbs845340x437425.jpg new file mode 100644 index 000000000..bd30882b9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437426.jpg b/RWT_Cache/Textures/20/mbs845340x437426.jpg new file mode 100644 index 000000000..b7ae57365 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437427.jpg b/RWT_Cache/Textures/20/mbs845340x437427.jpg new file mode 100644 index 000000000..31984df16 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437428.jpg b/RWT_Cache/Textures/20/mbs845340x437428.jpg new file mode 100644 index 000000000..b8e006e5a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437429.jpg b/RWT_Cache/Textures/20/mbs845340x437429.jpg new file mode 100644 index 000000000..b0aa397f6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437430.jpg b/RWT_Cache/Textures/20/mbs845340x437430.jpg new file mode 100644 index 000000000..ef3eb89ae Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437431.jpg b/RWT_Cache/Textures/20/mbs845340x437431.jpg new file mode 100644 index 000000000..7ea477d9d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437432.jpg b/RWT_Cache/Textures/20/mbs845340x437432.jpg new file mode 100644 index 000000000..d7a1eeb95 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437433.jpg b/RWT_Cache/Textures/20/mbs845340x437433.jpg new file mode 100644 index 000000000..75cfba65f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437434.jpg b/RWT_Cache/Textures/20/mbs845340x437434.jpg new file mode 100644 index 000000000..60266c557 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437435.jpg b/RWT_Cache/Textures/20/mbs845340x437435.jpg new file mode 100644 index 000000000..60e98e208 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437436.jpg b/RWT_Cache/Textures/20/mbs845340x437436.jpg new file mode 100644 index 000000000..f50982c7c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437437.jpg b/RWT_Cache/Textures/20/mbs845340x437437.jpg new file mode 100644 index 000000000..fafe192ea Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437438.jpg b/RWT_Cache/Textures/20/mbs845340x437438.jpg new file mode 100644 index 000000000..5da4ebfa9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437439.jpg b/RWT_Cache/Textures/20/mbs845340x437439.jpg new file mode 100644 index 000000000..099f655c7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437440.jpg b/RWT_Cache/Textures/20/mbs845340x437440.jpg new file mode 100644 index 000000000..cc1703433 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437441.jpg b/RWT_Cache/Textures/20/mbs845340x437441.jpg new file mode 100644 index 000000000..b08e9dc6b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437442.jpg b/RWT_Cache/Textures/20/mbs845340x437442.jpg new file mode 100644 index 000000000..919031e32 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437443.jpg b/RWT_Cache/Textures/20/mbs845340x437443.jpg new file mode 100644 index 000000000..2b76bd8dd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437444.jpg b/RWT_Cache/Textures/20/mbs845340x437444.jpg new file mode 100644 index 000000000..50dc2c5e7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437445.jpg b/RWT_Cache/Textures/20/mbs845340x437445.jpg new file mode 100644 index 000000000..ec4e28188 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437446.jpg b/RWT_Cache/Textures/20/mbs845340x437446.jpg new file mode 100644 index 000000000..f100dfebc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845340x437447.jpg b/RWT_Cache/Textures/20/mbs845340x437447.jpg new file mode 100644 index 000000000..462dd71c0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845340x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437391.jpg b/RWT_Cache/Textures/20/mbs845341x437391.jpg new file mode 100644 index 000000000..1df2a9700 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437392.jpg b/RWT_Cache/Textures/20/mbs845341x437392.jpg new file mode 100644 index 000000000..8e1836e3c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437393.jpg b/RWT_Cache/Textures/20/mbs845341x437393.jpg new file mode 100644 index 000000000..a976d0a1a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437394.jpg b/RWT_Cache/Textures/20/mbs845341x437394.jpg new file mode 100644 index 000000000..9b6559572 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437395.jpg b/RWT_Cache/Textures/20/mbs845341x437395.jpg new file mode 100644 index 000000000..4a27e7c30 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437396.jpg b/RWT_Cache/Textures/20/mbs845341x437396.jpg new file mode 100644 index 000000000..49c5b4bfb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437397.jpg b/RWT_Cache/Textures/20/mbs845341x437397.jpg new file mode 100644 index 000000000..3c4e8d867 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437398.jpg b/RWT_Cache/Textures/20/mbs845341x437398.jpg new file mode 100644 index 000000000..2c335ab33 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437399.jpg b/RWT_Cache/Textures/20/mbs845341x437399.jpg new file mode 100644 index 000000000..00c13847c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437400.jpg b/RWT_Cache/Textures/20/mbs845341x437400.jpg new file mode 100644 index 000000000..1b83328e5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437401.jpg b/RWT_Cache/Textures/20/mbs845341x437401.jpg new file mode 100644 index 000000000..6a4559e04 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437402.jpg b/RWT_Cache/Textures/20/mbs845341x437402.jpg new file mode 100644 index 000000000..ce9dbedb9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437403.jpg b/RWT_Cache/Textures/20/mbs845341x437403.jpg new file mode 100644 index 000000000..e8277932b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437404.jpg b/RWT_Cache/Textures/20/mbs845341x437404.jpg new file mode 100644 index 000000000..035f253d9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437405.jpg b/RWT_Cache/Textures/20/mbs845341x437405.jpg new file mode 100644 index 000000000..0b6d136ba Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437406.jpg b/RWT_Cache/Textures/20/mbs845341x437406.jpg new file mode 100644 index 000000000..3966d9789 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437407.jpg b/RWT_Cache/Textures/20/mbs845341x437407.jpg new file mode 100644 index 000000000..8f3a470c7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437408.jpg b/RWT_Cache/Textures/20/mbs845341x437408.jpg new file mode 100644 index 000000000..f1fcdd500 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437409.jpg b/RWT_Cache/Textures/20/mbs845341x437409.jpg new file mode 100644 index 000000000..ced4260f9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437410.jpg b/RWT_Cache/Textures/20/mbs845341x437410.jpg new file mode 100644 index 000000000..a0c96fc0a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437411.jpg b/RWT_Cache/Textures/20/mbs845341x437411.jpg new file mode 100644 index 000000000..b2d5a5822 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437412.jpg b/RWT_Cache/Textures/20/mbs845341x437412.jpg new file mode 100644 index 000000000..240b9aefa Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437413.jpg b/RWT_Cache/Textures/20/mbs845341x437413.jpg new file mode 100644 index 000000000..7398bab0c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437414.jpg b/RWT_Cache/Textures/20/mbs845341x437414.jpg new file mode 100644 index 000000000..8fcdc0e70 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437415.jpg b/RWT_Cache/Textures/20/mbs845341x437415.jpg new file mode 100644 index 000000000..b967542d3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437416.jpg b/RWT_Cache/Textures/20/mbs845341x437416.jpg new file mode 100644 index 000000000..7be0d24dc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437417.jpg b/RWT_Cache/Textures/20/mbs845341x437417.jpg new file mode 100644 index 000000000..dfcb0bce2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437418.jpg b/RWT_Cache/Textures/20/mbs845341x437418.jpg new file mode 100644 index 000000000..d24e6388e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437419.jpg b/RWT_Cache/Textures/20/mbs845341x437419.jpg new file mode 100644 index 000000000..4d1142919 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437420.jpg b/RWT_Cache/Textures/20/mbs845341x437420.jpg new file mode 100644 index 000000000..29cd55c9e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437421.jpg b/RWT_Cache/Textures/20/mbs845341x437421.jpg new file mode 100644 index 000000000..7fce68766 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437422.jpg b/RWT_Cache/Textures/20/mbs845341x437422.jpg new file mode 100644 index 000000000..2d17cdbf0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437423.jpg b/RWT_Cache/Textures/20/mbs845341x437423.jpg new file mode 100644 index 000000000..aef3ef521 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437424.jpg b/RWT_Cache/Textures/20/mbs845341x437424.jpg new file mode 100644 index 000000000..068efe682 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437425.jpg b/RWT_Cache/Textures/20/mbs845341x437425.jpg new file mode 100644 index 000000000..66f5f3ab5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437426.jpg b/RWT_Cache/Textures/20/mbs845341x437426.jpg new file mode 100644 index 000000000..7f926ea72 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437427.jpg b/RWT_Cache/Textures/20/mbs845341x437427.jpg new file mode 100644 index 000000000..fd6c659ec Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437428.jpg b/RWT_Cache/Textures/20/mbs845341x437428.jpg new file mode 100644 index 000000000..08de6c980 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437429.jpg b/RWT_Cache/Textures/20/mbs845341x437429.jpg new file mode 100644 index 000000000..d2c9d06dd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437430.jpg b/RWT_Cache/Textures/20/mbs845341x437430.jpg new file mode 100644 index 000000000..e622ec2a4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437431.jpg b/RWT_Cache/Textures/20/mbs845341x437431.jpg new file mode 100644 index 000000000..65525024d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437432.jpg b/RWT_Cache/Textures/20/mbs845341x437432.jpg new file mode 100644 index 000000000..8d9900ee6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437433.jpg b/RWT_Cache/Textures/20/mbs845341x437433.jpg new file mode 100644 index 000000000..28e55721b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437434.jpg b/RWT_Cache/Textures/20/mbs845341x437434.jpg new file mode 100644 index 000000000..325029c0a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437435.jpg b/RWT_Cache/Textures/20/mbs845341x437435.jpg new file mode 100644 index 000000000..f426a741b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437436.jpg b/RWT_Cache/Textures/20/mbs845341x437436.jpg new file mode 100644 index 000000000..6d72bfec5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437437.jpg b/RWT_Cache/Textures/20/mbs845341x437437.jpg new file mode 100644 index 000000000..5dec6b2d2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437438.jpg b/RWT_Cache/Textures/20/mbs845341x437438.jpg new file mode 100644 index 000000000..1f364a078 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437439.jpg b/RWT_Cache/Textures/20/mbs845341x437439.jpg new file mode 100644 index 000000000..41cf40c59 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437440.jpg b/RWT_Cache/Textures/20/mbs845341x437440.jpg new file mode 100644 index 000000000..7367a613d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437441.jpg b/RWT_Cache/Textures/20/mbs845341x437441.jpg new file mode 100644 index 000000000..c9fcdf808 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437442.jpg b/RWT_Cache/Textures/20/mbs845341x437442.jpg new file mode 100644 index 000000000..caf296b21 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437443.jpg b/RWT_Cache/Textures/20/mbs845341x437443.jpg new file mode 100644 index 000000000..d7536cf9e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437444.jpg b/RWT_Cache/Textures/20/mbs845341x437444.jpg new file mode 100644 index 000000000..4dacc4037 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437445.jpg b/RWT_Cache/Textures/20/mbs845341x437445.jpg new file mode 100644 index 000000000..e1d173661 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437446.jpg b/RWT_Cache/Textures/20/mbs845341x437446.jpg new file mode 100644 index 000000000..928bdfb49 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845341x437447.jpg b/RWT_Cache/Textures/20/mbs845341x437447.jpg new file mode 100644 index 000000000..184c13496 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845341x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437391.jpg b/RWT_Cache/Textures/20/mbs845342x437391.jpg new file mode 100644 index 000000000..e4b7118e0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437392.jpg b/RWT_Cache/Textures/20/mbs845342x437392.jpg new file mode 100644 index 000000000..f8526162b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437393.jpg b/RWT_Cache/Textures/20/mbs845342x437393.jpg new file mode 100644 index 000000000..6b958d2fd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437394.jpg b/RWT_Cache/Textures/20/mbs845342x437394.jpg new file mode 100644 index 000000000..f9cdcccdf Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437395.jpg b/RWT_Cache/Textures/20/mbs845342x437395.jpg new file mode 100644 index 000000000..e22d27346 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437396.jpg b/RWT_Cache/Textures/20/mbs845342x437396.jpg new file mode 100644 index 000000000..9a0e1559b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437397.jpg b/RWT_Cache/Textures/20/mbs845342x437397.jpg new file mode 100644 index 000000000..d0c2a029a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437398.jpg b/RWT_Cache/Textures/20/mbs845342x437398.jpg new file mode 100644 index 000000000..e0fbe804c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437399.jpg b/RWT_Cache/Textures/20/mbs845342x437399.jpg new file mode 100644 index 000000000..de41602b7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437400.jpg b/RWT_Cache/Textures/20/mbs845342x437400.jpg new file mode 100644 index 000000000..b4fb1cd15 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437401.jpg b/RWT_Cache/Textures/20/mbs845342x437401.jpg new file mode 100644 index 000000000..0a208af4d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437402.jpg b/RWT_Cache/Textures/20/mbs845342x437402.jpg new file mode 100644 index 000000000..ee769ed42 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437403.jpg b/RWT_Cache/Textures/20/mbs845342x437403.jpg new file mode 100644 index 000000000..bd35a723f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437404.jpg b/RWT_Cache/Textures/20/mbs845342x437404.jpg new file mode 100644 index 000000000..0d0ba727c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437405.jpg b/RWT_Cache/Textures/20/mbs845342x437405.jpg new file mode 100644 index 000000000..3c2cfd571 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437406.jpg b/RWT_Cache/Textures/20/mbs845342x437406.jpg new file mode 100644 index 000000000..194cbd2c2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437407.jpg b/RWT_Cache/Textures/20/mbs845342x437407.jpg new file mode 100644 index 000000000..c9a4e1b47 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437408.jpg b/RWT_Cache/Textures/20/mbs845342x437408.jpg new file mode 100644 index 000000000..cf696bfe6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437409.jpg b/RWT_Cache/Textures/20/mbs845342x437409.jpg new file mode 100644 index 000000000..19237df69 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437410.jpg b/RWT_Cache/Textures/20/mbs845342x437410.jpg new file mode 100644 index 000000000..9ead98bad Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437411.jpg b/RWT_Cache/Textures/20/mbs845342x437411.jpg new file mode 100644 index 000000000..f0043f66c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437412.jpg b/RWT_Cache/Textures/20/mbs845342x437412.jpg new file mode 100644 index 000000000..cd03c5c28 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437413.jpg b/RWT_Cache/Textures/20/mbs845342x437413.jpg new file mode 100644 index 000000000..3b963591e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437414.jpg b/RWT_Cache/Textures/20/mbs845342x437414.jpg new file mode 100644 index 000000000..8b8ad3cce Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437415.jpg b/RWT_Cache/Textures/20/mbs845342x437415.jpg new file mode 100644 index 000000000..9838a2d35 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437416.jpg b/RWT_Cache/Textures/20/mbs845342x437416.jpg new file mode 100644 index 000000000..b7786fae1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437417.jpg b/RWT_Cache/Textures/20/mbs845342x437417.jpg new file mode 100644 index 000000000..d1652131b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437418.jpg b/RWT_Cache/Textures/20/mbs845342x437418.jpg new file mode 100644 index 000000000..002986feb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437419.jpg b/RWT_Cache/Textures/20/mbs845342x437419.jpg new file mode 100644 index 000000000..31d3fc26a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437420.jpg b/RWT_Cache/Textures/20/mbs845342x437420.jpg new file mode 100644 index 000000000..b454257c5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437421.jpg b/RWT_Cache/Textures/20/mbs845342x437421.jpg new file mode 100644 index 000000000..c13737d8c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437422.jpg b/RWT_Cache/Textures/20/mbs845342x437422.jpg new file mode 100644 index 000000000..d9dff48d7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437423.jpg b/RWT_Cache/Textures/20/mbs845342x437423.jpg new file mode 100644 index 000000000..c6b8a6035 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437424.jpg b/RWT_Cache/Textures/20/mbs845342x437424.jpg new file mode 100644 index 000000000..057bb7675 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437425.jpg b/RWT_Cache/Textures/20/mbs845342x437425.jpg new file mode 100644 index 000000000..ffaa034d5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437426.jpg b/RWT_Cache/Textures/20/mbs845342x437426.jpg new file mode 100644 index 000000000..a09f30ad6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437427.jpg b/RWT_Cache/Textures/20/mbs845342x437427.jpg new file mode 100644 index 000000000..0773b5455 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437428.jpg b/RWT_Cache/Textures/20/mbs845342x437428.jpg new file mode 100644 index 000000000..a6c78c0c1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437429.jpg b/RWT_Cache/Textures/20/mbs845342x437429.jpg new file mode 100644 index 000000000..bf07ccb8d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437430.jpg b/RWT_Cache/Textures/20/mbs845342x437430.jpg new file mode 100644 index 000000000..5b7bb5836 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437431.jpg b/RWT_Cache/Textures/20/mbs845342x437431.jpg new file mode 100644 index 000000000..6c3c451c9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437432.jpg b/RWT_Cache/Textures/20/mbs845342x437432.jpg new file mode 100644 index 000000000..b7299662e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437433.jpg b/RWT_Cache/Textures/20/mbs845342x437433.jpg new file mode 100644 index 000000000..5606a551e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437434.jpg b/RWT_Cache/Textures/20/mbs845342x437434.jpg new file mode 100644 index 000000000..cc1e1a224 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437435.jpg b/RWT_Cache/Textures/20/mbs845342x437435.jpg new file mode 100644 index 000000000..46efc6fa9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437436.jpg b/RWT_Cache/Textures/20/mbs845342x437436.jpg new file mode 100644 index 000000000..a4e623534 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437437.jpg b/RWT_Cache/Textures/20/mbs845342x437437.jpg new file mode 100644 index 000000000..e75aadd21 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437438.jpg b/RWT_Cache/Textures/20/mbs845342x437438.jpg new file mode 100644 index 000000000..422f0d611 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437439.jpg b/RWT_Cache/Textures/20/mbs845342x437439.jpg new file mode 100644 index 000000000..830416538 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437440.jpg b/RWT_Cache/Textures/20/mbs845342x437440.jpg new file mode 100644 index 000000000..3200ad774 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437441.jpg b/RWT_Cache/Textures/20/mbs845342x437441.jpg new file mode 100644 index 000000000..ea56ecda6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437442.jpg b/RWT_Cache/Textures/20/mbs845342x437442.jpg new file mode 100644 index 000000000..e62b634ba Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437443.jpg b/RWT_Cache/Textures/20/mbs845342x437443.jpg new file mode 100644 index 000000000..f3fd37c03 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437444.jpg b/RWT_Cache/Textures/20/mbs845342x437444.jpg new file mode 100644 index 000000000..d35d81bbb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437445.jpg b/RWT_Cache/Textures/20/mbs845342x437445.jpg new file mode 100644 index 000000000..fd19db6f8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437446.jpg b/RWT_Cache/Textures/20/mbs845342x437446.jpg new file mode 100644 index 000000000..9c1278c67 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845342x437447.jpg b/RWT_Cache/Textures/20/mbs845342x437447.jpg new file mode 100644 index 000000000..fecbb7c86 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845342x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437391.jpg b/RWT_Cache/Textures/20/mbs845343x437391.jpg new file mode 100644 index 000000000..c8627791d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437392.jpg b/RWT_Cache/Textures/20/mbs845343x437392.jpg new file mode 100644 index 000000000..c722b20ed Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437393.jpg b/RWT_Cache/Textures/20/mbs845343x437393.jpg new file mode 100644 index 000000000..8e3a4fd39 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437394.jpg b/RWT_Cache/Textures/20/mbs845343x437394.jpg new file mode 100644 index 000000000..05822182f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437395.jpg b/RWT_Cache/Textures/20/mbs845343x437395.jpg new file mode 100644 index 000000000..70e4a7087 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437396.jpg b/RWT_Cache/Textures/20/mbs845343x437396.jpg new file mode 100644 index 000000000..a964beb4a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437397.jpg b/RWT_Cache/Textures/20/mbs845343x437397.jpg new file mode 100644 index 000000000..205252382 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437398.jpg b/RWT_Cache/Textures/20/mbs845343x437398.jpg new file mode 100644 index 000000000..f29d1260f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437399.jpg b/RWT_Cache/Textures/20/mbs845343x437399.jpg new file mode 100644 index 000000000..02184dbbc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437400.jpg b/RWT_Cache/Textures/20/mbs845343x437400.jpg new file mode 100644 index 000000000..45752d091 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437401.jpg b/RWT_Cache/Textures/20/mbs845343x437401.jpg new file mode 100644 index 000000000..7170ad2f3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437402.jpg b/RWT_Cache/Textures/20/mbs845343x437402.jpg new file mode 100644 index 000000000..67e87dc2a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437403.jpg b/RWT_Cache/Textures/20/mbs845343x437403.jpg new file mode 100644 index 000000000..b8e4acd08 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437404.jpg b/RWT_Cache/Textures/20/mbs845343x437404.jpg new file mode 100644 index 000000000..a8426c82a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437405.jpg b/RWT_Cache/Textures/20/mbs845343x437405.jpg new file mode 100644 index 000000000..a39803f5a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437406.jpg b/RWT_Cache/Textures/20/mbs845343x437406.jpg new file mode 100644 index 000000000..5d9df455f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437407.jpg b/RWT_Cache/Textures/20/mbs845343x437407.jpg new file mode 100644 index 000000000..942e9c637 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437408.jpg b/RWT_Cache/Textures/20/mbs845343x437408.jpg new file mode 100644 index 000000000..9d11f25e8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437409.jpg b/RWT_Cache/Textures/20/mbs845343x437409.jpg new file mode 100644 index 000000000..eab06328a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437410.jpg b/RWT_Cache/Textures/20/mbs845343x437410.jpg new file mode 100644 index 000000000..7bdb52871 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437411.jpg b/RWT_Cache/Textures/20/mbs845343x437411.jpg new file mode 100644 index 000000000..3fb3023c6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437412.jpg b/RWT_Cache/Textures/20/mbs845343x437412.jpg new file mode 100644 index 000000000..8d1ff9ec2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437413.jpg b/RWT_Cache/Textures/20/mbs845343x437413.jpg new file mode 100644 index 000000000..233808c62 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437414.jpg b/RWT_Cache/Textures/20/mbs845343x437414.jpg new file mode 100644 index 000000000..e9985bf2e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437415.jpg b/RWT_Cache/Textures/20/mbs845343x437415.jpg new file mode 100644 index 000000000..cbfc2386c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437416.jpg b/RWT_Cache/Textures/20/mbs845343x437416.jpg new file mode 100644 index 000000000..c231676e3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437417.jpg b/RWT_Cache/Textures/20/mbs845343x437417.jpg new file mode 100644 index 000000000..745246836 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437418.jpg b/RWT_Cache/Textures/20/mbs845343x437418.jpg new file mode 100644 index 000000000..872af04f9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437419.jpg b/RWT_Cache/Textures/20/mbs845343x437419.jpg new file mode 100644 index 000000000..202ec4857 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437420.jpg b/RWT_Cache/Textures/20/mbs845343x437420.jpg new file mode 100644 index 000000000..78ca782f6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437421.jpg b/RWT_Cache/Textures/20/mbs845343x437421.jpg new file mode 100644 index 000000000..e23ebbeac Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437422.jpg b/RWT_Cache/Textures/20/mbs845343x437422.jpg new file mode 100644 index 000000000..59be915e9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437423.jpg b/RWT_Cache/Textures/20/mbs845343x437423.jpg new file mode 100644 index 000000000..286676302 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437424.jpg b/RWT_Cache/Textures/20/mbs845343x437424.jpg new file mode 100644 index 000000000..1e7d35a30 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437425.jpg b/RWT_Cache/Textures/20/mbs845343x437425.jpg new file mode 100644 index 000000000..a1e0a6300 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437426.jpg b/RWT_Cache/Textures/20/mbs845343x437426.jpg new file mode 100644 index 000000000..467342a67 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437427.jpg b/RWT_Cache/Textures/20/mbs845343x437427.jpg new file mode 100644 index 000000000..fad85b480 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437428.jpg b/RWT_Cache/Textures/20/mbs845343x437428.jpg new file mode 100644 index 000000000..d73314bbb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437429.jpg b/RWT_Cache/Textures/20/mbs845343x437429.jpg new file mode 100644 index 000000000..eb11e6927 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437430.jpg b/RWT_Cache/Textures/20/mbs845343x437430.jpg new file mode 100644 index 000000000..d9e9ace00 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437431.jpg b/RWT_Cache/Textures/20/mbs845343x437431.jpg new file mode 100644 index 000000000..01547cff5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437432.jpg b/RWT_Cache/Textures/20/mbs845343x437432.jpg new file mode 100644 index 000000000..525369267 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437433.jpg b/RWT_Cache/Textures/20/mbs845343x437433.jpg new file mode 100644 index 000000000..f822342d1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437434.jpg b/RWT_Cache/Textures/20/mbs845343x437434.jpg new file mode 100644 index 000000000..f2cd3a894 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437435.jpg b/RWT_Cache/Textures/20/mbs845343x437435.jpg new file mode 100644 index 000000000..5760db7d5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437436.jpg b/RWT_Cache/Textures/20/mbs845343x437436.jpg new file mode 100644 index 000000000..c722fb188 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437437.jpg b/RWT_Cache/Textures/20/mbs845343x437437.jpg new file mode 100644 index 000000000..6305ee507 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437438.jpg b/RWT_Cache/Textures/20/mbs845343x437438.jpg new file mode 100644 index 000000000..6b74b1b6e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437439.jpg b/RWT_Cache/Textures/20/mbs845343x437439.jpg new file mode 100644 index 000000000..5e415047f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437440.jpg b/RWT_Cache/Textures/20/mbs845343x437440.jpg new file mode 100644 index 000000000..5c8d7385d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437441.jpg b/RWT_Cache/Textures/20/mbs845343x437441.jpg new file mode 100644 index 000000000..9bc54923a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437442.jpg b/RWT_Cache/Textures/20/mbs845343x437442.jpg new file mode 100644 index 000000000..44eaf93dd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437443.jpg b/RWT_Cache/Textures/20/mbs845343x437443.jpg new file mode 100644 index 000000000..5706098c9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437444.jpg b/RWT_Cache/Textures/20/mbs845343x437444.jpg new file mode 100644 index 000000000..743037524 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437445.jpg b/RWT_Cache/Textures/20/mbs845343x437445.jpg new file mode 100644 index 000000000..ae968d207 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437446.jpg b/RWT_Cache/Textures/20/mbs845343x437446.jpg new file mode 100644 index 000000000..90852a07b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845343x437447.jpg b/RWT_Cache/Textures/20/mbs845343x437447.jpg new file mode 100644 index 000000000..a7f20e557 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845343x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437391.jpg b/RWT_Cache/Textures/20/mbs845344x437391.jpg new file mode 100644 index 000000000..5fca50881 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437392.jpg b/RWT_Cache/Textures/20/mbs845344x437392.jpg new file mode 100644 index 000000000..75337dd48 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437393.jpg b/RWT_Cache/Textures/20/mbs845344x437393.jpg new file mode 100644 index 000000000..7f310bd4f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437394.jpg b/RWT_Cache/Textures/20/mbs845344x437394.jpg new file mode 100644 index 000000000..506e302b8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437395.jpg b/RWT_Cache/Textures/20/mbs845344x437395.jpg new file mode 100644 index 000000000..752de15a7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437396.jpg b/RWT_Cache/Textures/20/mbs845344x437396.jpg new file mode 100644 index 000000000..960420b3b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437397.jpg b/RWT_Cache/Textures/20/mbs845344x437397.jpg new file mode 100644 index 000000000..9799f0ad6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437398.jpg b/RWT_Cache/Textures/20/mbs845344x437398.jpg new file mode 100644 index 000000000..fd73da75d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437399.jpg b/RWT_Cache/Textures/20/mbs845344x437399.jpg new file mode 100644 index 000000000..fe495911d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437400.jpg b/RWT_Cache/Textures/20/mbs845344x437400.jpg new file mode 100644 index 000000000..81a22891b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437401.jpg b/RWT_Cache/Textures/20/mbs845344x437401.jpg new file mode 100644 index 000000000..a5d5a621e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437402.jpg b/RWT_Cache/Textures/20/mbs845344x437402.jpg new file mode 100644 index 000000000..53dbe25fc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437403.jpg b/RWT_Cache/Textures/20/mbs845344x437403.jpg new file mode 100644 index 000000000..2f4d4d966 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437404.jpg b/RWT_Cache/Textures/20/mbs845344x437404.jpg new file mode 100644 index 000000000..b4b02d5a5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437405.jpg b/RWT_Cache/Textures/20/mbs845344x437405.jpg new file mode 100644 index 000000000..153a715ae Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437406.jpg b/RWT_Cache/Textures/20/mbs845344x437406.jpg new file mode 100644 index 000000000..9a957605c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437407.jpg b/RWT_Cache/Textures/20/mbs845344x437407.jpg new file mode 100644 index 000000000..897fb6a0f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437408.jpg b/RWT_Cache/Textures/20/mbs845344x437408.jpg new file mode 100644 index 000000000..4050c29d1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437409.jpg b/RWT_Cache/Textures/20/mbs845344x437409.jpg new file mode 100644 index 000000000..6d9c7ce14 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437410.jpg b/RWT_Cache/Textures/20/mbs845344x437410.jpg new file mode 100644 index 000000000..f67c19744 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437411.jpg b/RWT_Cache/Textures/20/mbs845344x437411.jpg new file mode 100644 index 000000000..77eda1329 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437412.jpg b/RWT_Cache/Textures/20/mbs845344x437412.jpg new file mode 100644 index 000000000..228982496 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437413.jpg b/RWT_Cache/Textures/20/mbs845344x437413.jpg new file mode 100644 index 000000000..76b5fb61e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437414.jpg b/RWT_Cache/Textures/20/mbs845344x437414.jpg new file mode 100644 index 000000000..dbe24d52f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437415.jpg b/RWT_Cache/Textures/20/mbs845344x437415.jpg new file mode 100644 index 000000000..c91e387ac Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437416.jpg b/RWT_Cache/Textures/20/mbs845344x437416.jpg new file mode 100644 index 000000000..a53571d68 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437417.jpg b/RWT_Cache/Textures/20/mbs845344x437417.jpg new file mode 100644 index 000000000..99ae6ded0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437418.jpg b/RWT_Cache/Textures/20/mbs845344x437418.jpg new file mode 100644 index 000000000..aa1f068b6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437419.jpg b/RWT_Cache/Textures/20/mbs845344x437419.jpg new file mode 100644 index 000000000..5ac565d73 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437420.jpg b/RWT_Cache/Textures/20/mbs845344x437420.jpg new file mode 100644 index 000000000..c766c182c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437421.jpg b/RWT_Cache/Textures/20/mbs845344x437421.jpg new file mode 100644 index 000000000..2b0375d7e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437422.jpg b/RWT_Cache/Textures/20/mbs845344x437422.jpg new file mode 100644 index 000000000..51d6dcf9b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437423.jpg b/RWT_Cache/Textures/20/mbs845344x437423.jpg new file mode 100644 index 000000000..1f0cf8dc4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437424.jpg b/RWT_Cache/Textures/20/mbs845344x437424.jpg new file mode 100644 index 000000000..79d47e04f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437425.jpg b/RWT_Cache/Textures/20/mbs845344x437425.jpg new file mode 100644 index 000000000..427abddfe Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437426.jpg b/RWT_Cache/Textures/20/mbs845344x437426.jpg new file mode 100644 index 000000000..e71acc9dd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437427.jpg b/RWT_Cache/Textures/20/mbs845344x437427.jpg new file mode 100644 index 000000000..65c282d55 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437428.jpg b/RWT_Cache/Textures/20/mbs845344x437428.jpg new file mode 100644 index 000000000..02408d54c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437429.jpg b/RWT_Cache/Textures/20/mbs845344x437429.jpg new file mode 100644 index 000000000..fd038b06f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437430.jpg b/RWT_Cache/Textures/20/mbs845344x437430.jpg new file mode 100644 index 000000000..ae9977088 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437431.jpg b/RWT_Cache/Textures/20/mbs845344x437431.jpg new file mode 100644 index 000000000..ae716b338 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437432.jpg b/RWT_Cache/Textures/20/mbs845344x437432.jpg new file mode 100644 index 000000000..9b4b355fb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437433.jpg b/RWT_Cache/Textures/20/mbs845344x437433.jpg new file mode 100644 index 000000000..1e219a8a2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437434.jpg b/RWT_Cache/Textures/20/mbs845344x437434.jpg new file mode 100644 index 000000000..82a23f8e9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437435.jpg b/RWT_Cache/Textures/20/mbs845344x437435.jpg new file mode 100644 index 000000000..2f1515f4a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437436.jpg b/RWT_Cache/Textures/20/mbs845344x437436.jpg new file mode 100644 index 000000000..b886c168e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437437.jpg b/RWT_Cache/Textures/20/mbs845344x437437.jpg new file mode 100644 index 000000000..84d44ed76 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437438.jpg b/RWT_Cache/Textures/20/mbs845344x437438.jpg new file mode 100644 index 000000000..1d852e980 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437439.jpg b/RWT_Cache/Textures/20/mbs845344x437439.jpg new file mode 100644 index 000000000..80aff7c85 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437440.jpg b/RWT_Cache/Textures/20/mbs845344x437440.jpg new file mode 100644 index 000000000..96d611772 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437441.jpg b/RWT_Cache/Textures/20/mbs845344x437441.jpg new file mode 100644 index 000000000..20b79d5d9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437442.jpg b/RWT_Cache/Textures/20/mbs845344x437442.jpg new file mode 100644 index 000000000..8a830c934 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437443.jpg b/RWT_Cache/Textures/20/mbs845344x437443.jpg new file mode 100644 index 000000000..2a3d1a120 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437444.jpg b/RWT_Cache/Textures/20/mbs845344x437444.jpg new file mode 100644 index 000000000..8efed531d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437445.jpg b/RWT_Cache/Textures/20/mbs845344x437445.jpg new file mode 100644 index 000000000..4a942e3df Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437446.jpg b/RWT_Cache/Textures/20/mbs845344x437446.jpg new file mode 100644 index 000000000..87106c86f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845344x437447.jpg b/RWT_Cache/Textures/20/mbs845344x437447.jpg new file mode 100644 index 000000000..fd18758ec Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845344x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437391.jpg b/RWT_Cache/Textures/20/mbs845345x437391.jpg new file mode 100644 index 000000000..9ef5ae67e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437392.jpg b/RWT_Cache/Textures/20/mbs845345x437392.jpg new file mode 100644 index 000000000..bf7cd7d08 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437393.jpg b/RWT_Cache/Textures/20/mbs845345x437393.jpg new file mode 100644 index 000000000..e4d26195d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437394.jpg b/RWT_Cache/Textures/20/mbs845345x437394.jpg new file mode 100644 index 000000000..8af08020f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437395.jpg b/RWT_Cache/Textures/20/mbs845345x437395.jpg new file mode 100644 index 000000000..646d2f6b4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437396.jpg b/RWT_Cache/Textures/20/mbs845345x437396.jpg new file mode 100644 index 000000000..d2f32a167 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437397.jpg b/RWT_Cache/Textures/20/mbs845345x437397.jpg new file mode 100644 index 000000000..9c02ebe5d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437398.jpg b/RWT_Cache/Textures/20/mbs845345x437398.jpg new file mode 100644 index 000000000..a40985800 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437399.jpg b/RWT_Cache/Textures/20/mbs845345x437399.jpg new file mode 100644 index 000000000..c0a8557e5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437400.jpg b/RWT_Cache/Textures/20/mbs845345x437400.jpg new file mode 100644 index 000000000..7eff04d75 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437401.jpg b/RWT_Cache/Textures/20/mbs845345x437401.jpg new file mode 100644 index 000000000..49531b9ca Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437402.jpg b/RWT_Cache/Textures/20/mbs845345x437402.jpg new file mode 100644 index 000000000..7261ebf48 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437403.jpg b/RWT_Cache/Textures/20/mbs845345x437403.jpg new file mode 100644 index 000000000..ba46e8eb4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437404.jpg b/RWT_Cache/Textures/20/mbs845345x437404.jpg new file mode 100644 index 000000000..8b9f3baab Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437405.jpg b/RWT_Cache/Textures/20/mbs845345x437405.jpg new file mode 100644 index 000000000..cd94138a3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437406.jpg b/RWT_Cache/Textures/20/mbs845345x437406.jpg new file mode 100644 index 000000000..88dbf3373 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437407.jpg b/RWT_Cache/Textures/20/mbs845345x437407.jpg new file mode 100644 index 000000000..9a4c1660a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437408.jpg b/RWT_Cache/Textures/20/mbs845345x437408.jpg new file mode 100644 index 000000000..3391d5b09 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437409.jpg b/RWT_Cache/Textures/20/mbs845345x437409.jpg new file mode 100644 index 000000000..ed589275c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437410.jpg b/RWT_Cache/Textures/20/mbs845345x437410.jpg new file mode 100644 index 000000000..39c190e25 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437411.jpg b/RWT_Cache/Textures/20/mbs845345x437411.jpg new file mode 100644 index 000000000..9ff15f60d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437412.jpg b/RWT_Cache/Textures/20/mbs845345x437412.jpg new file mode 100644 index 000000000..85088f75a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437413.jpg b/RWT_Cache/Textures/20/mbs845345x437413.jpg new file mode 100644 index 000000000..d5bee40a0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437414.jpg b/RWT_Cache/Textures/20/mbs845345x437414.jpg new file mode 100644 index 000000000..e673a1d2f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437415.jpg b/RWT_Cache/Textures/20/mbs845345x437415.jpg new file mode 100644 index 000000000..715866a19 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437416.jpg b/RWT_Cache/Textures/20/mbs845345x437416.jpg new file mode 100644 index 000000000..ab810b977 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437417.jpg b/RWT_Cache/Textures/20/mbs845345x437417.jpg new file mode 100644 index 000000000..982c4918a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437418.jpg b/RWT_Cache/Textures/20/mbs845345x437418.jpg new file mode 100644 index 000000000..358b61180 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437419.jpg b/RWT_Cache/Textures/20/mbs845345x437419.jpg new file mode 100644 index 000000000..8927c9ed9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437420.jpg b/RWT_Cache/Textures/20/mbs845345x437420.jpg new file mode 100644 index 000000000..c191c7846 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437421.jpg b/RWT_Cache/Textures/20/mbs845345x437421.jpg new file mode 100644 index 000000000..f514cdbfe Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437422.jpg b/RWT_Cache/Textures/20/mbs845345x437422.jpg new file mode 100644 index 000000000..92e71dc49 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437423.jpg b/RWT_Cache/Textures/20/mbs845345x437423.jpg new file mode 100644 index 000000000..d40d2c377 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437424.jpg b/RWT_Cache/Textures/20/mbs845345x437424.jpg new file mode 100644 index 000000000..b1206f021 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437425.jpg b/RWT_Cache/Textures/20/mbs845345x437425.jpg new file mode 100644 index 000000000..16b93a8d6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437426.jpg b/RWT_Cache/Textures/20/mbs845345x437426.jpg new file mode 100644 index 000000000..e65b7a0d2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437427.jpg b/RWT_Cache/Textures/20/mbs845345x437427.jpg new file mode 100644 index 000000000..d2190efe7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437428.jpg b/RWT_Cache/Textures/20/mbs845345x437428.jpg new file mode 100644 index 000000000..2644a601f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437429.jpg b/RWT_Cache/Textures/20/mbs845345x437429.jpg new file mode 100644 index 000000000..82673885e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437430.jpg b/RWT_Cache/Textures/20/mbs845345x437430.jpg new file mode 100644 index 000000000..da3a6fe11 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437431.jpg b/RWT_Cache/Textures/20/mbs845345x437431.jpg new file mode 100644 index 000000000..44f05a5af Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437432.jpg b/RWT_Cache/Textures/20/mbs845345x437432.jpg new file mode 100644 index 000000000..0033b405d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437433.jpg b/RWT_Cache/Textures/20/mbs845345x437433.jpg new file mode 100644 index 000000000..01708e7cb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437434.jpg b/RWT_Cache/Textures/20/mbs845345x437434.jpg new file mode 100644 index 000000000..612ad7a19 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437435.jpg b/RWT_Cache/Textures/20/mbs845345x437435.jpg new file mode 100644 index 000000000..edc776b52 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437436.jpg b/RWT_Cache/Textures/20/mbs845345x437436.jpg new file mode 100644 index 000000000..3c1e4f618 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437437.jpg b/RWT_Cache/Textures/20/mbs845345x437437.jpg new file mode 100644 index 000000000..8ddcbcff4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437438.jpg b/RWT_Cache/Textures/20/mbs845345x437438.jpg new file mode 100644 index 000000000..f7e1684c5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437439.jpg b/RWT_Cache/Textures/20/mbs845345x437439.jpg new file mode 100644 index 000000000..0fb8cf886 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437440.jpg b/RWT_Cache/Textures/20/mbs845345x437440.jpg new file mode 100644 index 000000000..5701511f3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437441.jpg b/RWT_Cache/Textures/20/mbs845345x437441.jpg new file mode 100644 index 000000000..f908d55fa Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437442.jpg b/RWT_Cache/Textures/20/mbs845345x437442.jpg new file mode 100644 index 000000000..1366e5486 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437443.jpg b/RWT_Cache/Textures/20/mbs845345x437443.jpg new file mode 100644 index 000000000..d1a2b2f08 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437444.jpg b/RWT_Cache/Textures/20/mbs845345x437444.jpg new file mode 100644 index 000000000..bfab2abce Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437445.jpg b/RWT_Cache/Textures/20/mbs845345x437445.jpg new file mode 100644 index 000000000..a01d40801 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437446.jpg b/RWT_Cache/Textures/20/mbs845345x437446.jpg new file mode 100644 index 000000000..c22cd1ea9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845345x437447.jpg b/RWT_Cache/Textures/20/mbs845345x437447.jpg new file mode 100644 index 000000000..2d3717d7f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845345x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437391.jpg b/RWT_Cache/Textures/20/mbs845346x437391.jpg new file mode 100644 index 000000000..01e6f7017 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437392.jpg b/RWT_Cache/Textures/20/mbs845346x437392.jpg new file mode 100644 index 000000000..cf45f28b9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437393.jpg b/RWT_Cache/Textures/20/mbs845346x437393.jpg new file mode 100644 index 000000000..23d118c88 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437394.jpg b/RWT_Cache/Textures/20/mbs845346x437394.jpg new file mode 100644 index 000000000..890c0e995 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437395.jpg b/RWT_Cache/Textures/20/mbs845346x437395.jpg new file mode 100644 index 000000000..6cab7108d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437396.jpg b/RWT_Cache/Textures/20/mbs845346x437396.jpg new file mode 100644 index 000000000..b3e1e9db4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437397.jpg b/RWT_Cache/Textures/20/mbs845346x437397.jpg new file mode 100644 index 000000000..cd930d6e3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437398.jpg b/RWT_Cache/Textures/20/mbs845346x437398.jpg new file mode 100644 index 000000000..d70bb52fb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437399.jpg b/RWT_Cache/Textures/20/mbs845346x437399.jpg new file mode 100644 index 000000000..5c2b1a98c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437400.jpg b/RWT_Cache/Textures/20/mbs845346x437400.jpg new file mode 100644 index 000000000..f90b26ef3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437401.jpg b/RWT_Cache/Textures/20/mbs845346x437401.jpg new file mode 100644 index 000000000..6f5411ebb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437402.jpg b/RWT_Cache/Textures/20/mbs845346x437402.jpg new file mode 100644 index 000000000..61146d470 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437403.jpg b/RWT_Cache/Textures/20/mbs845346x437403.jpg new file mode 100644 index 000000000..e96955b47 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437404.jpg b/RWT_Cache/Textures/20/mbs845346x437404.jpg new file mode 100644 index 000000000..5c1a47e9c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437405.jpg b/RWT_Cache/Textures/20/mbs845346x437405.jpg new file mode 100644 index 000000000..8d7fa88dc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437406.jpg b/RWT_Cache/Textures/20/mbs845346x437406.jpg new file mode 100644 index 000000000..14a8d1a8c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437407.jpg b/RWT_Cache/Textures/20/mbs845346x437407.jpg new file mode 100644 index 000000000..3d5464089 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437408.jpg b/RWT_Cache/Textures/20/mbs845346x437408.jpg new file mode 100644 index 000000000..e4cd361f7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437409.jpg b/RWT_Cache/Textures/20/mbs845346x437409.jpg new file mode 100644 index 000000000..9b541853c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437410.jpg b/RWT_Cache/Textures/20/mbs845346x437410.jpg new file mode 100644 index 000000000..5582db5b2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437411.jpg b/RWT_Cache/Textures/20/mbs845346x437411.jpg new file mode 100644 index 000000000..35e5a99b4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437412.jpg b/RWT_Cache/Textures/20/mbs845346x437412.jpg new file mode 100644 index 000000000..114bbb641 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437413.jpg b/RWT_Cache/Textures/20/mbs845346x437413.jpg new file mode 100644 index 000000000..ab8ea4bc2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437414.jpg b/RWT_Cache/Textures/20/mbs845346x437414.jpg new file mode 100644 index 000000000..9d67f70ef Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437415.jpg b/RWT_Cache/Textures/20/mbs845346x437415.jpg new file mode 100644 index 000000000..049ea0e0f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437416.jpg b/RWT_Cache/Textures/20/mbs845346x437416.jpg new file mode 100644 index 000000000..53b91ee4f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437417.jpg b/RWT_Cache/Textures/20/mbs845346x437417.jpg new file mode 100644 index 000000000..1f43ec633 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437418.jpg b/RWT_Cache/Textures/20/mbs845346x437418.jpg new file mode 100644 index 000000000..5787ea7eb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437419.jpg b/RWT_Cache/Textures/20/mbs845346x437419.jpg new file mode 100644 index 000000000..b404850f0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437420.jpg b/RWT_Cache/Textures/20/mbs845346x437420.jpg new file mode 100644 index 000000000..5d62d5329 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437421.jpg b/RWT_Cache/Textures/20/mbs845346x437421.jpg new file mode 100644 index 000000000..580993af3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437422.jpg b/RWT_Cache/Textures/20/mbs845346x437422.jpg new file mode 100644 index 000000000..6fd7c11f6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437423.jpg b/RWT_Cache/Textures/20/mbs845346x437423.jpg new file mode 100644 index 000000000..122aa20ed Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437424.jpg b/RWT_Cache/Textures/20/mbs845346x437424.jpg new file mode 100644 index 000000000..b2fbdcbe8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437425.jpg b/RWT_Cache/Textures/20/mbs845346x437425.jpg new file mode 100644 index 000000000..c77ef3b60 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437426.jpg b/RWT_Cache/Textures/20/mbs845346x437426.jpg new file mode 100644 index 000000000..0a3db61a9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437427.jpg b/RWT_Cache/Textures/20/mbs845346x437427.jpg new file mode 100644 index 000000000..81fd58adf Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437428.jpg b/RWT_Cache/Textures/20/mbs845346x437428.jpg new file mode 100644 index 000000000..e3d8a3b60 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437429.jpg b/RWT_Cache/Textures/20/mbs845346x437429.jpg new file mode 100644 index 000000000..90e210523 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437430.jpg b/RWT_Cache/Textures/20/mbs845346x437430.jpg new file mode 100644 index 000000000..a02beef43 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437431.jpg b/RWT_Cache/Textures/20/mbs845346x437431.jpg new file mode 100644 index 000000000..dd32d2499 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437432.jpg b/RWT_Cache/Textures/20/mbs845346x437432.jpg new file mode 100644 index 000000000..26d931b44 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437433.jpg b/RWT_Cache/Textures/20/mbs845346x437433.jpg new file mode 100644 index 000000000..cb968395a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437434.jpg b/RWT_Cache/Textures/20/mbs845346x437434.jpg new file mode 100644 index 000000000..77a52537c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437435.jpg b/RWT_Cache/Textures/20/mbs845346x437435.jpg new file mode 100644 index 000000000..63cf3af99 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437436.jpg b/RWT_Cache/Textures/20/mbs845346x437436.jpg new file mode 100644 index 000000000..960207df3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437437.jpg b/RWT_Cache/Textures/20/mbs845346x437437.jpg new file mode 100644 index 000000000..c5d0e220b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437438.jpg b/RWT_Cache/Textures/20/mbs845346x437438.jpg new file mode 100644 index 000000000..3e25e6926 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437439.jpg b/RWT_Cache/Textures/20/mbs845346x437439.jpg new file mode 100644 index 000000000..921f4d949 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437440.jpg b/RWT_Cache/Textures/20/mbs845346x437440.jpg new file mode 100644 index 000000000..ae6fd6cc2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437441.jpg b/RWT_Cache/Textures/20/mbs845346x437441.jpg new file mode 100644 index 000000000..6befc755a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437442.jpg b/RWT_Cache/Textures/20/mbs845346x437442.jpg new file mode 100644 index 000000000..038cdfa7c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437443.jpg b/RWT_Cache/Textures/20/mbs845346x437443.jpg new file mode 100644 index 000000000..f74a59e54 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437444.jpg b/RWT_Cache/Textures/20/mbs845346x437444.jpg new file mode 100644 index 000000000..812af6659 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437445.jpg b/RWT_Cache/Textures/20/mbs845346x437445.jpg new file mode 100644 index 000000000..2068e8f29 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437446.jpg b/RWT_Cache/Textures/20/mbs845346x437446.jpg new file mode 100644 index 000000000..33c4ae1f6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845346x437447.jpg b/RWT_Cache/Textures/20/mbs845346x437447.jpg new file mode 100644 index 000000000..77fa8cf6d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845346x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437391.jpg b/RWT_Cache/Textures/20/mbs845347x437391.jpg new file mode 100644 index 000000000..26bf00d12 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437392.jpg b/RWT_Cache/Textures/20/mbs845347x437392.jpg new file mode 100644 index 000000000..460350dcf Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437393.jpg b/RWT_Cache/Textures/20/mbs845347x437393.jpg new file mode 100644 index 000000000..0d125527e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437394.jpg b/RWT_Cache/Textures/20/mbs845347x437394.jpg new file mode 100644 index 000000000..17a508262 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437395.jpg b/RWT_Cache/Textures/20/mbs845347x437395.jpg new file mode 100644 index 000000000..e459e2c27 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437396.jpg b/RWT_Cache/Textures/20/mbs845347x437396.jpg new file mode 100644 index 000000000..9adcb6185 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437397.jpg b/RWT_Cache/Textures/20/mbs845347x437397.jpg new file mode 100644 index 000000000..889c2032b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437398.jpg b/RWT_Cache/Textures/20/mbs845347x437398.jpg new file mode 100644 index 000000000..b8ab570ad Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437399.jpg b/RWT_Cache/Textures/20/mbs845347x437399.jpg new file mode 100644 index 000000000..31bfd006b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437400.jpg b/RWT_Cache/Textures/20/mbs845347x437400.jpg new file mode 100644 index 000000000..075dba347 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437401.jpg b/RWT_Cache/Textures/20/mbs845347x437401.jpg new file mode 100644 index 000000000..03f9107da Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437402.jpg b/RWT_Cache/Textures/20/mbs845347x437402.jpg new file mode 100644 index 000000000..23f4158af Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437403.jpg b/RWT_Cache/Textures/20/mbs845347x437403.jpg new file mode 100644 index 000000000..71376bb8e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437404.jpg b/RWT_Cache/Textures/20/mbs845347x437404.jpg new file mode 100644 index 000000000..04e922615 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437405.jpg b/RWT_Cache/Textures/20/mbs845347x437405.jpg new file mode 100644 index 000000000..8d4ead2a9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437406.jpg b/RWT_Cache/Textures/20/mbs845347x437406.jpg new file mode 100644 index 000000000..71e38e674 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437407.jpg b/RWT_Cache/Textures/20/mbs845347x437407.jpg new file mode 100644 index 000000000..6efe0f50c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437408.jpg b/RWT_Cache/Textures/20/mbs845347x437408.jpg new file mode 100644 index 000000000..0c82776fa Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437409.jpg b/RWT_Cache/Textures/20/mbs845347x437409.jpg new file mode 100644 index 000000000..a163a996a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437410.jpg b/RWT_Cache/Textures/20/mbs845347x437410.jpg new file mode 100644 index 000000000..1697662e1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437411.jpg b/RWT_Cache/Textures/20/mbs845347x437411.jpg new file mode 100644 index 000000000..eefc7cf1e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437412.jpg b/RWT_Cache/Textures/20/mbs845347x437412.jpg new file mode 100644 index 000000000..5e7192639 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437413.jpg b/RWT_Cache/Textures/20/mbs845347x437413.jpg new file mode 100644 index 000000000..a712ef318 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437414.jpg b/RWT_Cache/Textures/20/mbs845347x437414.jpg new file mode 100644 index 000000000..32518178d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437415.jpg b/RWT_Cache/Textures/20/mbs845347x437415.jpg new file mode 100644 index 000000000..f347664d5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437416.jpg b/RWT_Cache/Textures/20/mbs845347x437416.jpg new file mode 100644 index 000000000..c292aff41 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437417.jpg b/RWT_Cache/Textures/20/mbs845347x437417.jpg new file mode 100644 index 000000000..b3d67e0a4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437418.jpg b/RWT_Cache/Textures/20/mbs845347x437418.jpg new file mode 100644 index 000000000..fdc5438ce Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437419.jpg b/RWT_Cache/Textures/20/mbs845347x437419.jpg new file mode 100644 index 000000000..2635b3949 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437420.jpg b/RWT_Cache/Textures/20/mbs845347x437420.jpg new file mode 100644 index 000000000..57dbc9615 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437421.jpg b/RWT_Cache/Textures/20/mbs845347x437421.jpg new file mode 100644 index 000000000..2ef9ff8ae Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437422.jpg b/RWT_Cache/Textures/20/mbs845347x437422.jpg new file mode 100644 index 000000000..1e93b577b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437423.jpg b/RWT_Cache/Textures/20/mbs845347x437423.jpg new file mode 100644 index 000000000..6a749751d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437424.jpg b/RWT_Cache/Textures/20/mbs845347x437424.jpg new file mode 100644 index 000000000..183b09de7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437425.jpg b/RWT_Cache/Textures/20/mbs845347x437425.jpg new file mode 100644 index 000000000..d63a0d5b7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437426.jpg b/RWT_Cache/Textures/20/mbs845347x437426.jpg new file mode 100644 index 000000000..9b9682234 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437427.jpg b/RWT_Cache/Textures/20/mbs845347x437427.jpg new file mode 100644 index 000000000..966131378 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437428.jpg b/RWT_Cache/Textures/20/mbs845347x437428.jpg new file mode 100644 index 000000000..4b4d95610 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437429.jpg b/RWT_Cache/Textures/20/mbs845347x437429.jpg new file mode 100644 index 000000000..240450cc9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437430.jpg b/RWT_Cache/Textures/20/mbs845347x437430.jpg new file mode 100644 index 000000000..410026d34 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437431.jpg b/RWT_Cache/Textures/20/mbs845347x437431.jpg new file mode 100644 index 000000000..826b576dd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437432.jpg b/RWT_Cache/Textures/20/mbs845347x437432.jpg new file mode 100644 index 000000000..c3703804b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437433.jpg b/RWT_Cache/Textures/20/mbs845347x437433.jpg new file mode 100644 index 000000000..19d04f51e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437434.jpg b/RWT_Cache/Textures/20/mbs845347x437434.jpg new file mode 100644 index 000000000..746f75a0e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437435.jpg b/RWT_Cache/Textures/20/mbs845347x437435.jpg new file mode 100644 index 000000000..0977e7ecc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437436.jpg b/RWT_Cache/Textures/20/mbs845347x437436.jpg new file mode 100644 index 000000000..161e5fbc2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437437.jpg b/RWT_Cache/Textures/20/mbs845347x437437.jpg new file mode 100644 index 000000000..025ddc691 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437438.jpg b/RWT_Cache/Textures/20/mbs845347x437438.jpg new file mode 100644 index 000000000..af09affb4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437439.jpg b/RWT_Cache/Textures/20/mbs845347x437439.jpg new file mode 100644 index 000000000..227444078 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437440.jpg b/RWT_Cache/Textures/20/mbs845347x437440.jpg new file mode 100644 index 000000000..e4dfdb5a7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437441.jpg b/RWT_Cache/Textures/20/mbs845347x437441.jpg new file mode 100644 index 000000000..d820a0b2b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437442.jpg b/RWT_Cache/Textures/20/mbs845347x437442.jpg new file mode 100644 index 000000000..a5e08e148 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437443.jpg b/RWT_Cache/Textures/20/mbs845347x437443.jpg new file mode 100644 index 000000000..5011c5308 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437444.jpg b/RWT_Cache/Textures/20/mbs845347x437444.jpg new file mode 100644 index 000000000..31a26616c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437445.jpg b/RWT_Cache/Textures/20/mbs845347x437445.jpg new file mode 100644 index 000000000..b4dbb3d1c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437446.jpg b/RWT_Cache/Textures/20/mbs845347x437446.jpg new file mode 100644 index 000000000..cb7f0b549 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845347x437447.jpg b/RWT_Cache/Textures/20/mbs845347x437447.jpg new file mode 100644 index 000000000..d448c3242 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845347x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437391.jpg b/RWT_Cache/Textures/20/mbs845348x437391.jpg new file mode 100644 index 000000000..905810698 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437392.jpg b/RWT_Cache/Textures/20/mbs845348x437392.jpg new file mode 100644 index 000000000..b28a9138c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437393.jpg b/RWT_Cache/Textures/20/mbs845348x437393.jpg new file mode 100644 index 000000000..9c9cab865 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437394.jpg b/RWT_Cache/Textures/20/mbs845348x437394.jpg new file mode 100644 index 000000000..c4470fab1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437395.jpg b/RWT_Cache/Textures/20/mbs845348x437395.jpg new file mode 100644 index 000000000..ce0c0599f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437396.jpg b/RWT_Cache/Textures/20/mbs845348x437396.jpg new file mode 100644 index 000000000..40a773845 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437397.jpg b/RWT_Cache/Textures/20/mbs845348x437397.jpg new file mode 100644 index 000000000..849d5f854 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437398.jpg b/RWT_Cache/Textures/20/mbs845348x437398.jpg new file mode 100644 index 000000000..361c14fa3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437399.jpg b/RWT_Cache/Textures/20/mbs845348x437399.jpg new file mode 100644 index 000000000..e656cbe54 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437400.jpg b/RWT_Cache/Textures/20/mbs845348x437400.jpg new file mode 100644 index 000000000..db218e2b6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437401.jpg b/RWT_Cache/Textures/20/mbs845348x437401.jpg new file mode 100644 index 000000000..03f9107da Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437402.jpg b/RWT_Cache/Textures/20/mbs845348x437402.jpg new file mode 100644 index 000000000..03f9107da Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437403.jpg b/RWT_Cache/Textures/20/mbs845348x437403.jpg new file mode 100644 index 000000000..4b420f181 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437404.jpg b/RWT_Cache/Textures/20/mbs845348x437404.jpg new file mode 100644 index 000000000..a73660555 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437405.jpg b/RWT_Cache/Textures/20/mbs845348x437405.jpg new file mode 100644 index 000000000..2fe6755fe Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437406.jpg b/RWT_Cache/Textures/20/mbs845348x437406.jpg new file mode 100644 index 000000000..ad8a8551e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437407.jpg b/RWT_Cache/Textures/20/mbs845348x437407.jpg new file mode 100644 index 000000000..dd0fde0c1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437408.jpg b/RWT_Cache/Textures/20/mbs845348x437408.jpg new file mode 100644 index 000000000..7126dc1b9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437409.jpg b/RWT_Cache/Textures/20/mbs845348x437409.jpg new file mode 100644 index 000000000..9795d6e54 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437410.jpg b/RWT_Cache/Textures/20/mbs845348x437410.jpg new file mode 100644 index 000000000..a4dea1bc5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437411.jpg b/RWT_Cache/Textures/20/mbs845348x437411.jpg new file mode 100644 index 000000000..2b97daa56 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437412.jpg b/RWT_Cache/Textures/20/mbs845348x437412.jpg new file mode 100644 index 000000000..7dd360b48 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437413.jpg b/RWT_Cache/Textures/20/mbs845348x437413.jpg new file mode 100644 index 000000000..487751e58 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437414.jpg b/RWT_Cache/Textures/20/mbs845348x437414.jpg new file mode 100644 index 000000000..fded5a5f1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437415.jpg b/RWT_Cache/Textures/20/mbs845348x437415.jpg new file mode 100644 index 000000000..7ddadbbc4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437416.jpg b/RWT_Cache/Textures/20/mbs845348x437416.jpg new file mode 100644 index 000000000..dcf2ec4cd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437417.jpg b/RWT_Cache/Textures/20/mbs845348x437417.jpg new file mode 100644 index 000000000..32f333eba Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437418.jpg b/RWT_Cache/Textures/20/mbs845348x437418.jpg new file mode 100644 index 000000000..5ac63882e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437419.jpg b/RWT_Cache/Textures/20/mbs845348x437419.jpg new file mode 100644 index 000000000..a09daad8c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437420.jpg b/RWT_Cache/Textures/20/mbs845348x437420.jpg new file mode 100644 index 000000000..6a7c15759 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437421.jpg b/RWT_Cache/Textures/20/mbs845348x437421.jpg new file mode 100644 index 000000000..644e36b89 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437422.jpg b/RWT_Cache/Textures/20/mbs845348x437422.jpg new file mode 100644 index 000000000..65a843ebf Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437423.jpg b/RWT_Cache/Textures/20/mbs845348x437423.jpg new file mode 100644 index 000000000..844964aa8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437424.jpg b/RWT_Cache/Textures/20/mbs845348x437424.jpg new file mode 100644 index 000000000..f8d1dd032 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437425.jpg b/RWT_Cache/Textures/20/mbs845348x437425.jpg new file mode 100644 index 000000000..42e914c9d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437426.jpg b/RWT_Cache/Textures/20/mbs845348x437426.jpg new file mode 100644 index 000000000..697ade0ea Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437427.jpg b/RWT_Cache/Textures/20/mbs845348x437427.jpg new file mode 100644 index 000000000..a0133760c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437428.jpg b/RWT_Cache/Textures/20/mbs845348x437428.jpg new file mode 100644 index 000000000..4ea8e3968 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437429.jpg b/RWT_Cache/Textures/20/mbs845348x437429.jpg new file mode 100644 index 000000000..ab1cccbfa Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437430.jpg b/RWT_Cache/Textures/20/mbs845348x437430.jpg new file mode 100644 index 000000000..7064eb670 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437431.jpg b/RWT_Cache/Textures/20/mbs845348x437431.jpg new file mode 100644 index 000000000..86b075ffd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437432.jpg b/RWT_Cache/Textures/20/mbs845348x437432.jpg new file mode 100644 index 000000000..c6f67bc0d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437433.jpg b/RWT_Cache/Textures/20/mbs845348x437433.jpg new file mode 100644 index 000000000..01a274b3a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437434.jpg b/RWT_Cache/Textures/20/mbs845348x437434.jpg new file mode 100644 index 000000000..f0c731fa6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437435.jpg b/RWT_Cache/Textures/20/mbs845348x437435.jpg new file mode 100644 index 000000000..29a97c292 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437436.jpg b/RWT_Cache/Textures/20/mbs845348x437436.jpg new file mode 100644 index 000000000..9d46ca5b7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437437.jpg b/RWT_Cache/Textures/20/mbs845348x437437.jpg new file mode 100644 index 000000000..d9a831c36 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437438.jpg b/RWT_Cache/Textures/20/mbs845348x437438.jpg new file mode 100644 index 000000000..721ab0eaf Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437439.jpg b/RWT_Cache/Textures/20/mbs845348x437439.jpg new file mode 100644 index 000000000..5af015126 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437440.jpg b/RWT_Cache/Textures/20/mbs845348x437440.jpg new file mode 100644 index 000000000..854af5d96 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437441.jpg b/RWT_Cache/Textures/20/mbs845348x437441.jpg new file mode 100644 index 000000000..e85dc8cdd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437442.jpg b/RWT_Cache/Textures/20/mbs845348x437442.jpg new file mode 100644 index 000000000..31cb9651b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437443.jpg b/RWT_Cache/Textures/20/mbs845348x437443.jpg new file mode 100644 index 000000000..af3823ba7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437444.jpg b/RWT_Cache/Textures/20/mbs845348x437444.jpg new file mode 100644 index 000000000..fd5e39e99 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437445.jpg b/RWT_Cache/Textures/20/mbs845348x437445.jpg new file mode 100644 index 000000000..84adf6fa6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437446.jpg b/RWT_Cache/Textures/20/mbs845348x437446.jpg new file mode 100644 index 000000000..4ff2feebd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845348x437447.jpg b/RWT_Cache/Textures/20/mbs845348x437447.jpg new file mode 100644 index 000000000..461bc68a1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845348x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437391.jpg b/RWT_Cache/Textures/20/mbs845349x437391.jpg new file mode 100644 index 000000000..12939c582 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437392.jpg b/RWT_Cache/Textures/20/mbs845349x437392.jpg new file mode 100644 index 000000000..15cbff0fc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437393.jpg b/RWT_Cache/Textures/20/mbs845349x437393.jpg new file mode 100644 index 000000000..0b6570997 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437394.jpg b/RWT_Cache/Textures/20/mbs845349x437394.jpg new file mode 100644 index 000000000..72028e138 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437395.jpg b/RWT_Cache/Textures/20/mbs845349x437395.jpg new file mode 100644 index 000000000..e0cd63148 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437396.jpg b/RWT_Cache/Textures/20/mbs845349x437396.jpg new file mode 100644 index 000000000..e2dae3d0c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437397.jpg b/RWT_Cache/Textures/20/mbs845349x437397.jpg new file mode 100644 index 000000000..8b6d30cc0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437398.jpg b/RWT_Cache/Textures/20/mbs845349x437398.jpg new file mode 100644 index 000000000..a860d3fb2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437399.jpg b/RWT_Cache/Textures/20/mbs845349x437399.jpg new file mode 100644 index 000000000..577169349 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437400.jpg b/RWT_Cache/Textures/20/mbs845349x437400.jpg new file mode 100644 index 000000000..db218e2b6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437401.jpg b/RWT_Cache/Textures/20/mbs845349x437401.jpg new file mode 100644 index 000000000..03f9107da Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437402.jpg b/RWT_Cache/Textures/20/mbs845349x437402.jpg new file mode 100644 index 000000000..69d581207 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437403.jpg b/RWT_Cache/Textures/20/mbs845349x437403.jpg new file mode 100644 index 000000000..8a2c286f8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437404.jpg b/RWT_Cache/Textures/20/mbs845349x437404.jpg new file mode 100644 index 000000000..90554a804 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437405.jpg b/RWT_Cache/Textures/20/mbs845349x437405.jpg new file mode 100644 index 000000000..12444031e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437406.jpg b/RWT_Cache/Textures/20/mbs845349x437406.jpg new file mode 100644 index 000000000..424c6b760 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437407.jpg b/RWT_Cache/Textures/20/mbs845349x437407.jpg new file mode 100644 index 000000000..abd28fb62 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437408.jpg b/RWT_Cache/Textures/20/mbs845349x437408.jpg new file mode 100644 index 000000000..2544ac6a5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437409.jpg b/RWT_Cache/Textures/20/mbs845349x437409.jpg new file mode 100644 index 000000000..03dacafef Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437410.jpg b/RWT_Cache/Textures/20/mbs845349x437410.jpg new file mode 100644 index 000000000..44a56b1f7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437411.jpg b/RWT_Cache/Textures/20/mbs845349x437411.jpg new file mode 100644 index 000000000..0be7e82ac Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437412.jpg b/RWT_Cache/Textures/20/mbs845349x437412.jpg new file mode 100644 index 000000000..f20833edc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437413.jpg b/RWT_Cache/Textures/20/mbs845349x437413.jpg new file mode 100644 index 000000000..1775c5776 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437414.jpg b/RWT_Cache/Textures/20/mbs845349x437414.jpg new file mode 100644 index 000000000..07c626f56 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437415.jpg b/RWT_Cache/Textures/20/mbs845349x437415.jpg new file mode 100644 index 000000000..5f0f5b167 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437416.jpg b/RWT_Cache/Textures/20/mbs845349x437416.jpg new file mode 100644 index 000000000..16ee7e6be Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437417.jpg b/RWT_Cache/Textures/20/mbs845349x437417.jpg new file mode 100644 index 000000000..d03c4e579 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437418.jpg b/RWT_Cache/Textures/20/mbs845349x437418.jpg new file mode 100644 index 000000000..9993cd80c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437419.jpg b/RWT_Cache/Textures/20/mbs845349x437419.jpg new file mode 100644 index 000000000..bd262e2fb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437420.jpg b/RWT_Cache/Textures/20/mbs845349x437420.jpg new file mode 100644 index 000000000..d6242f8c9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437421.jpg b/RWT_Cache/Textures/20/mbs845349x437421.jpg new file mode 100644 index 000000000..7bc058b02 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437422.jpg b/RWT_Cache/Textures/20/mbs845349x437422.jpg new file mode 100644 index 000000000..f75403f61 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437423.jpg b/RWT_Cache/Textures/20/mbs845349x437423.jpg new file mode 100644 index 000000000..bbf12dee4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437424.jpg b/RWT_Cache/Textures/20/mbs845349x437424.jpg new file mode 100644 index 000000000..0f973283e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437425.jpg b/RWT_Cache/Textures/20/mbs845349x437425.jpg new file mode 100644 index 000000000..416bc4313 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437426.jpg b/RWT_Cache/Textures/20/mbs845349x437426.jpg new file mode 100644 index 000000000..dab1db33c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437427.jpg b/RWT_Cache/Textures/20/mbs845349x437427.jpg new file mode 100644 index 000000000..db950ef1f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437428.jpg b/RWT_Cache/Textures/20/mbs845349x437428.jpg new file mode 100644 index 000000000..936112f1f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437429.jpg b/RWT_Cache/Textures/20/mbs845349x437429.jpg new file mode 100644 index 000000000..954c8eadd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437430.jpg b/RWT_Cache/Textures/20/mbs845349x437430.jpg new file mode 100644 index 000000000..97c92c6ef Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437431.jpg b/RWT_Cache/Textures/20/mbs845349x437431.jpg new file mode 100644 index 000000000..da4687aca Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437432.jpg b/RWT_Cache/Textures/20/mbs845349x437432.jpg new file mode 100644 index 000000000..370262c2c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437433.jpg b/RWT_Cache/Textures/20/mbs845349x437433.jpg new file mode 100644 index 000000000..76b30d852 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437434.jpg b/RWT_Cache/Textures/20/mbs845349x437434.jpg new file mode 100644 index 000000000..72bc546a2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437435.jpg b/RWT_Cache/Textures/20/mbs845349x437435.jpg new file mode 100644 index 000000000..3099f2bdd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437436.jpg b/RWT_Cache/Textures/20/mbs845349x437436.jpg new file mode 100644 index 000000000..111266801 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437437.jpg b/RWT_Cache/Textures/20/mbs845349x437437.jpg new file mode 100644 index 000000000..3158fa4cc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437438.jpg b/RWT_Cache/Textures/20/mbs845349x437438.jpg new file mode 100644 index 000000000..54f3b943a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437439.jpg b/RWT_Cache/Textures/20/mbs845349x437439.jpg new file mode 100644 index 000000000..d4ff285e0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437440.jpg b/RWT_Cache/Textures/20/mbs845349x437440.jpg new file mode 100644 index 000000000..54d7f0a26 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437441.jpg b/RWT_Cache/Textures/20/mbs845349x437441.jpg new file mode 100644 index 000000000..91c543be0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437442.jpg b/RWT_Cache/Textures/20/mbs845349x437442.jpg new file mode 100644 index 000000000..43c4e5252 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437443.jpg b/RWT_Cache/Textures/20/mbs845349x437443.jpg new file mode 100644 index 000000000..a08f4ca65 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437444.jpg b/RWT_Cache/Textures/20/mbs845349x437444.jpg new file mode 100644 index 000000000..94e0ed945 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437445.jpg b/RWT_Cache/Textures/20/mbs845349x437445.jpg new file mode 100644 index 000000000..c27f50023 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437446.jpg b/RWT_Cache/Textures/20/mbs845349x437446.jpg new file mode 100644 index 000000000..c2bf0cc64 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845349x437447.jpg b/RWT_Cache/Textures/20/mbs845349x437447.jpg new file mode 100644 index 000000000..231c628af Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845349x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437391.jpg b/RWT_Cache/Textures/20/mbs845350x437391.jpg new file mode 100644 index 000000000..3358bdc50 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437392.jpg b/RWT_Cache/Textures/20/mbs845350x437392.jpg new file mode 100644 index 000000000..84864141f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437393.jpg b/RWT_Cache/Textures/20/mbs845350x437393.jpg new file mode 100644 index 000000000..18a6e8b17 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437394.jpg b/RWT_Cache/Textures/20/mbs845350x437394.jpg new file mode 100644 index 000000000..b695959fb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437395.jpg b/RWT_Cache/Textures/20/mbs845350x437395.jpg new file mode 100644 index 000000000..1b5016c1c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437396.jpg b/RWT_Cache/Textures/20/mbs845350x437396.jpg new file mode 100644 index 000000000..555a8dda0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437397.jpg b/RWT_Cache/Textures/20/mbs845350x437397.jpg new file mode 100644 index 000000000..021e9424e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437398.jpg b/RWT_Cache/Textures/20/mbs845350x437398.jpg new file mode 100644 index 000000000..7c87ac698 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437399.jpg b/RWT_Cache/Textures/20/mbs845350x437399.jpg new file mode 100644 index 000000000..55aed00f2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437400.jpg b/RWT_Cache/Textures/20/mbs845350x437400.jpg new file mode 100644 index 000000000..043ead4d4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437401.jpg b/RWT_Cache/Textures/20/mbs845350x437401.jpg new file mode 100644 index 000000000..03f9107da Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437402.jpg b/RWT_Cache/Textures/20/mbs845350x437402.jpg new file mode 100644 index 000000000..6cdf63549 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437403.jpg b/RWT_Cache/Textures/20/mbs845350x437403.jpg new file mode 100644 index 000000000..67ca93ab3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437404.jpg b/RWT_Cache/Textures/20/mbs845350x437404.jpg new file mode 100644 index 000000000..ea41a442c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437405.jpg b/RWT_Cache/Textures/20/mbs845350x437405.jpg new file mode 100644 index 000000000..26084f019 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437406.jpg b/RWT_Cache/Textures/20/mbs845350x437406.jpg new file mode 100644 index 000000000..9e6f47442 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437407.jpg b/RWT_Cache/Textures/20/mbs845350x437407.jpg new file mode 100644 index 000000000..5dd5dc50d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437408.jpg b/RWT_Cache/Textures/20/mbs845350x437408.jpg new file mode 100644 index 000000000..9e749a892 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437409.jpg b/RWT_Cache/Textures/20/mbs845350x437409.jpg new file mode 100644 index 000000000..0f7182e44 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437410.jpg b/RWT_Cache/Textures/20/mbs845350x437410.jpg new file mode 100644 index 000000000..358123534 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437411.jpg b/RWT_Cache/Textures/20/mbs845350x437411.jpg new file mode 100644 index 000000000..41d071107 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437412.jpg b/RWT_Cache/Textures/20/mbs845350x437412.jpg new file mode 100644 index 000000000..0375f3488 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437413.jpg b/RWT_Cache/Textures/20/mbs845350x437413.jpg new file mode 100644 index 000000000..473a7e7e0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437414.jpg b/RWT_Cache/Textures/20/mbs845350x437414.jpg new file mode 100644 index 000000000..d16290d91 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437415.jpg b/RWT_Cache/Textures/20/mbs845350x437415.jpg new file mode 100644 index 000000000..731cf766c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437416.jpg b/RWT_Cache/Textures/20/mbs845350x437416.jpg new file mode 100644 index 000000000..d4fd5ab97 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437417.jpg b/RWT_Cache/Textures/20/mbs845350x437417.jpg new file mode 100644 index 000000000..217b1a6a3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437418.jpg b/RWT_Cache/Textures/20/mbs845350x437418.jpg new file mode 100644 index 000000000..d3fe757cf Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437419.jpg b/RWT_Cache/Textures/20/mbs845350x437419.jpg new file mode 100644 index 000000000..9f3c43649 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437420.jpg b/RWT_Cache/Textures/20/mbs845350x437420.jpg new file mode 100644 index 000000000..61b26da9d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437421.jpg b/RWT_Cache/Textures/20/mbs845350x437421.jpg new file mode 100644 index 000000000..0b6177f04 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437422.jpg b/RWT_Cache/Textures/20/mbs845350x437422.jpg new file mode 100644 index 000000000..98cb27411 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437423.jpg b/RWT_Cache/Textures/20/mbs845350x437423.jpg new file mode 100644 index 000000000..e00c61eb7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437424.jpg b/RWT_Cache/Textures/20/mbs845350x437424.jpg new file mode 100644 index 000000000..761bafbdd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437425.jpg b/RWT_Cache/Textures/20/mbs845350x437425.jpg new file mode 100644 index 000000000..95aaf4787 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437426.jpg b/RWT_Cache/Textures/20/mbs845350x437426.jpg new file mode 100644 index 000000000..fa4a347b7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437427.jpg b/RWT_Cache/Textures/20/mbs845350x437427.jpg new file mode 100644 index 000000000..27d526e69 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437428.jpg b/RWT_Cache/Textures/20/mbs845350x437428.jpg new file mode 100644 index 000000000..70198ff8b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437429.jpg b/RWT_Cache/Textures/20/mbs845350x437429.jpg new file mode 100644 index 000000000..db2731b6e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437430.jpg b/RWT_Cache/Textures/20/mbs845350x437430.jpg new file mode 100644 index 000000000..8304f257c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437431.jpg b/RWT_Cache/Textures/20/mbs845350x437431.jpg new file mode 100644 index 000000000..d7078f22e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437432.jpg b/RWT_Cache/Textures/20/mbs845350x437432.jpg new file mode 100644 index 000000000..11b5f2af1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437433.jpg b/RWT_Cache/Textures/20/mbs845350x437433.jpg new file mode 100644 index 000000000..4200538c1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437434.jpg b/RWT_Cache/Textures/20/mbs845350x437434.jpg new file mode 100644 index 000000000..b35b65565 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437435.jpg b/RWT_Cache/Textures/20/mbs845350x437435.jpg new file mode 100644 index 000000000..33ef0bc7f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437436.jpg b/RWT_Cache/Textures/20/mbs845350x437436.jpg new file mode 100644 index 000000000..cd2ff20c1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437437.jpg b/RWT_Cache/Textures/20/mbs845350x437437.jpg new file mode 100644 index 000000000..e95e594b6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437438.jpg b/RWT_Cache/Textures/20/mbs845350x437438.jpg new file mode 100644 index 000000000..340d597f2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437439.jpg b/RWT_Cache/Textures/20/mbs845350x437439.jpg new file mode 100644 index 000000000..1ec6bde75 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437440.jpg b/RWT_Cache/Textures/20/mbs845350x437440.jpg new file mode 100644 index 000000000..787319de8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437441.jpg b/RWT_Cache/Textures/20/mbs845350x437441.jpg new file mode 100644 index 000000000..674afdb46 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437442.jpg b/RWT_Cache/Textures/20/mbs845350x437442.jpg new file mode 100644 index 000000000..e764cca71 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437443.jpg b/RWT_Cache/Textures/20/mbs845350x437443.jpg new file mode 100644 index 000000000..c818c9c53 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437444.jpg b/RWT_Cache/Textures/20/mbs845350x437444.jpg new file mode 100644 index 000000000..6c047384e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437445.jpg b/RWT_Cache/Textures/20/mbs845350x437445.jpg new file mode 100644 index 000000000..22526b57f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437446.jpg b/RWT_Cache/Textures/20/mbs845350x437446.jpg new file mode 100644 index 000000000..546e326e0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845350x437447.jpg b/RWT_Cache/Textures/20/mbs845350x437447.jpg new file mode 100644 index 000000000..dabce0461 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845350x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437391.jpg b/RWT_Cache/Textures/20/mbs845351x437391.jpg new file mode 100644 index 000000000..d65c9cfc0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437392.jpg b/RWT_Cache/Textures/20/mbs845351x437392.jpg new file mode 100644 index 000000000..348681e0c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437393.jpg b/RWT_Cache/Textures/20/mbs845351x437393.jpg new file mode 100644 index 000000000..54f8d0059 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437394.jpg b/RWT_Cache/Textures/20/mbs845351x437394.jpg new file mode 100644 index 000000000..0a33a1306 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437395.jpg b/RWT_Cache/Textures/20/mbs845351x437395.jpg new file mode 100644 index 000000000..7bf4a9dc2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437396.jpg b/RWT_Cache/Textures/20/mbs845351x437396.jpg new file mode 100644 index 000000000..e42eeacf0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437397.jpg b/RWT_Cache/Textures/20/mbs845351x437397.jpg new file mode 100644 index 000000000..7872512d7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437398.jpg b/RWT_Cache/Textures/20/mbs845351x437398.jpg new file mode 100644 index 000000000..a97d9a3a2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437399.jpg b/RWT_Cache/Textures/20/mbs845351x437399.jpg new file mode 100644 index 000000000..6cee12945 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437400.jpg b/RWT_Cache/Textures/20/mbs845351x437400.jpg new file mode 100644 index 000000000..4bc26dbc7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437401.jpg b/RWT_Cache/Textures/20/mbs845351x437401.jpg new file mode 100644 index 000000000..37bf955e5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437402.jpg b/RWT_Cache/Textures/20/mbs845351x437402.jpg new file mode 100644 index 000000000..8b1d7a868 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437403.jpg b/RWT_Cache/Textures/20/mbs845351x437403.jpg new file mode 100644 index 000000000..bd6c846e5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437404.jpg b/RWT_Cache/Textures/20/mbs845351x437404.jpg new file mode 100644 index 000000000..6888146f9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437405.jpg b/RWT_Cache/Textures/20/mbs845351x437405.jpg new file mode 100644 index 000000000..d4dfde704 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437406.jpg b/RWT_Cache/Textures/20/mbs845351x437406.jpg new file mode 100644 index 000000000..1eba248d8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437407.jpg b/RWT_Cache/Textures/20/mbs845351x437407.jpg new file mode 100644 index 000000000..95924fb49 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437408.jpg b/RWT_Cache/Textures/20/mbs845351x437408.jpg new file mode 100644 index 000000000..8304a7401 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437409.jpg b/RWT_Cache/Textures/20/mbs845351x437409.jpg new file mode 100644 index 000000000..6bce9fcb0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437410.jpg b/RWT_Cache/Textures/20/mbs845351x437410.jpg new file mode 100644 index 000000000..c7192b034 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437411.jpg b/RWT_Cache/Textures/20/mbs845351x437411.jpg new file mode 100644 index 000000000..6fd6af589 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437412.jpg b/RWT_Cache/Textures/20/mbs845351x437412.jpg new file mode 100644 index 000000000..cd938d73d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437413.jpg b/RWT_Cache/Textures/20/mbs845351x437413.jpg new file mode 100644 index 000000000..faa5560b1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437414.jpg b/RWT_Cache/Textures/20/mbs845351x437414.jpg new file mode 100644 index 000000000..53fb62e7e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437415.jpg b/RWT_Cache/Textures/20/mbs845351x437415.jpg new file mode 100644 index 000000000..70bf0af9f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437416.jpg b/RWT_Cache/Textures/20/mbs845351x437416.jpg new file mode 100644 index 000000000..56abafb9c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437417.jpg b/RWT_Cache/Textures/20/mbs845351x437417.jpg new file mode 100644 index 000000000..2200f8f65 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437418.jpg b/RWT_Cache/Textures/20/mbs845351x437418.jpg new file mode 100644 index 000000000..084e2c461 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437419.jpg b/RWT_Cache/Textures/20/mbs845351x437419.jpg new file mode 100644 index 000000000..4f65acded Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437420.jpg b/RWT_Cache/Textures/20/mbs845351x437420.jpg new file mode 100644 index 000000000..265097ae8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437421.jpg b/RWT_Cache/Textures/20/mbs845351x437421.jpg new file mode 100644 index 000000000..c20c9a7eb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437422.jpg b/RWT_Cache/Textures/20/mbs845351x437422.jpg new file mode 100644 index 000000000..e64c81e91 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437423.jpg b/RWT_Cache/Textures/20/mbs845351x437423.jpg new file mode 100644 index 000000000..f52fe7b84 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437424.jpg b/RWT_Cache/Textures/20/mbs845351x437424.jpg new file mode 100644 index 000000000..b4281393e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437425.jpg b/RWT_Cache/Textures/20/mbs845351x437425.jpg new file mode 100644 index 000000000..d28048cb6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437426.jpg b/RWT_Cache/Textures/20/mbs845351x437426.jpg new file mode 100644 index 000000000..cc5da2244 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437427.jpg b/RWT_Cache/Textures/20/mbs845351x437427.jpg new file mode 100644 index 000000000..26ded3ff0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437428.jpg b/RWT_Cache/Textures/20/mbs845351x437428.jpg new file mode 100644 index 000000000..1f3b6bd94 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437429.jpg b/RWT_Cache/Textures/20/mbs845351x437429.jpg new file mode 100644 index 000000000..7dc49494f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437430.jpg b/RWT_Cache/Textures/20/mbs845351x437430.jpg new file mode 100644 index 000000000..54f288f29 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437431.jpg b/RWT_Cache/Textures/20/mbs845351x437431.jpg new file mode 100644 index 000000000..f4a4b3a62 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437432.jpg b/RWT_Cache/Textures/20/mbs845351x437432.jpg new file mode 100644 index 000000000..c65e02f91 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437433.jpg b/RWT_Cache/Textures/20/mbs845351x437433.jpg new file mode 100644 index 000000000..16fb6c06e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437434.jpg b/RWT_Cache/Textures/20/mbs845351x437434.jpg new file mode 100644 index 000000000..ead7399b9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437435.jpg b/RWT_Cache/Textures/20/mbs845351x437435.jpg new file mode 100644 index 000000000..e9f619bf7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437436.jpg b/RWT_Cache/Textures/20/mbs845351x437436.jpg new file mode 100644 index 000000000..869019b74 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437437.jpg b/RWT_Cache/Textures/20/mbs845351x437437.jpg new file mode 100644 index 000000000..0a9308a46 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437438.jpg b/RWT_Cache/Textures/20/mbs845351x437438.jpg new file mode 100644 index 000000000..454fe71ae Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437439.jpg b/RWT_Cache/Textures/20/mbs845351x437439.jpg new file mode 100644 index 000000000..bacd16d39 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437440.jpg b/RWT_Cache/Textures/20/mbs845351x437440.jpg new file mode 100644 index 000000000..81e796239 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437441.jpg b/RWT_Cache/Textures/20/mbs845351x437441.jpg new file mode 100644 index 000000000..8d35e94ad Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437442.jpg b/RWT_Cache/Textures/20/mbs845351x437442.jpg new file mode 100644 index 000000000..f8768c749 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437443.jpg b/RWT_Cache/Textures/20/mbs845351x437443.jpg new file mode 100644 index 000000000..ce3c74b10 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437444.jpg b/RWT_Cache/Textures/20/mbs845351x437444.jpg new file mode 100644 index 000000000..d22254efe Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437445.jpg b/RWT_Cache/Textures/20/mbs845351x437445.jpg new file mode 100644 index 000000000..6c6b23dd6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437446.jpg b/RWT_Cache/Textures/20/mbs845351x437446.jpg new file mode 100644 index 000000000..24a06740e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845351x437447.jpg b/RWT_Cache/Textures/20/mbs845351x437447.jpg new file mode 100644 index 000000000..024bc42a5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845351x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437391.jpg b/RWT_Cache/Textures/20/mbs845352x437391.jpg new file mode 100644 index 000000000..fe480b62c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437392.jpg b/RWT_Cache/Textures/20/mbs845352x437392.jpg new file mode 100644 index 000000000..3c02f84e5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437393.jpg b/RWT_Cache/Textures/20/mbs845352x437393.jpg new file mode 100644 index 000000000..504b4e72b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437394.jpg b/RWT_Cache/Textures/20/mbs845352x437394.jpg new file mode 100644 index 000000000..1f3f4f255 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437395.jpg b/RWT_Cache/Textures/20/mbs845352x437395.jpg new file mode 100644 index 000000000..ec9f988dc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437396.jpg b/RWT_Cache/Textures/20/mbs845352x437396.jpg new file mode 100644 index 000000000..56c024a26 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437397.jpg b/RWT_Cache/Textures/20/mbs845352x437397.jpg new file mode 100644 index 000000000..9ca585589 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437398.jpg b/RWT_Cache/Textures/20/mbs845352x437398.jpg new file mode 100644 index 000000000..19ec9eec8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437399.jpg b/RWT_Cache/Textures/20/mbs845352x437399.jpg new file mode 100644 index 000000000..e4d3224ee Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437400.jpg b/RWT_Cache/Textures/20/mbs845352x437400.jpg new file mode 100644 index 000000000..4c0d87330 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437401.jpg b/RWT_Cache/Textures/20/mbs845352x437401.jpg new file mode 100644 index 000000000..64c4ad139 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437402.jpg b/RWT_Cache/Textures/20/mbs845352x437402.jpg new file mode 100644 index 000000000..87c1d02ae Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437403.jpg b/RWT_Cache/Textures/20/mbs845352x437403.jpg new file mode 100644 index 000000000..bcc60e3cb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437404.jpg b/RWT_Cache/Textures/20/mbs845352x437404.jpg new file mode 100644 index 000000000..42a774ed0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437405.jpg b/RWT_Cache/Textures/20/mbs845352x437405.jpg new file mode 100644 index 000000000..fc405839c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437406.jpg b/RWT_Cache/Textures/20/mbs845352x437406.jpg new file mode 100644 index 000000000..ec0ccba70 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437407.jpg b/RWT_Cache/Textures/20/mbs845352x437407.jpg new file mode 100644 index 000000000..ab31a4d68 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437408.jpg b/RWT_Cache/Textures/20/mbs845352x437408.jpg new file mode 100644 index 000000000..41d25ff43 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437409.jpg b/RWT_Cache/Textures/20/mbs845352x437409.jpg new file mode 100644 index 000000000..dd5f635a8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437410.jpg b/RWT_Cache/Textures/20/mbs845352x437410.jpg new file mode 100644 index 000000000..0b7a24689 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437411.jpg b/RWT_Cache/Textures/20/mbs845352x437411.jpg new file mode 100644 index 000000000..2db010a8b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437412.jpg b/RWT_Cache/Textures/20/mbs845352x437412.jpg new file mode 100644 index 000000000..942fe102b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437413.jpg b/RWT_Cache/Textures/20/mbs845352x437413.jpg new file mode 100644 index 000000000..4d24894a6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437414.jpg b/RWT_Cache/Textures/20/mbs845352x437414.jpg new file mode 100644 index 000000000..9b0fcd919 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437415.jpg b/RWT_Cache/Textures/20/mbs845352x437415.jpg new file mode 100644 index 000000000..90bd2484a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437416.jpg b/RWT_Cache/Textures/20/mbs845352x437416.jpg new file mode 100644 index 000000000..92050a837 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437417.jpg b/RWT_Cache/Textures/20/mbs845352x437417.jpg new file mode 100644 index 000000000..226408c89 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437418.jpg b/RWT_Cache/Textures/20/mbs845352x437418.jpg new file mode 100644 index 000000000..4008362f6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437419.jpg b/RWT_Cache/Textures/20/mbs845352x437419.jpg new file mode 100644 index 000000000..fc08b5835 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437420.jpg b/RWT_Cache/Textures/20/mbs845352x437420.jpg new file mode 100644 index 000000000..dc9cbd368 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437421.jpg b/RWT_Cache/Textures/20/mbs845352x437421.jpg new file mode 100644 index 000000000..30b53eb4e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437422.jpg b/RWT_Cache/Textures/20/mbs845352x437422.jpg new file mode 100644 index 000000000..dfb992a74 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437423.jpg b/RWT_Cache/Textures/20/mbs845352x437423.jpg new file mode 100644 index 000000000..dc29bac6c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437424.jpg b/RWT_Cache/Textures/20/mbs845352x437424.jpg new file mode 100644 index 000000000..e990095c1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437425.jpg b/RWT_Cache/Textures/20/mbs845352x437425.jpg new file mode 100644 index 000000000..2ccf4d8a4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437426.jpg b/RWT_Cache/Textures/20/mbs845352x437426.jpg new file mode 100644 index 000000000..daa94317a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437427.jpg b/RWT_Cache/Textures/20/mbs845352x437427.jpg new file mode 100644 index 000000000..9dd95fbfb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437428.jpg b/RWT_Cache/Textures/20/mbs845352x437428.jpg new file mode 100644 index 000000000..cb064736e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437429.jpg b/RWT_Cache/Textures/20/mbs845352x437429.jpg new file mode 100644 index 000000000..65c9569d7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437430.jpg b/RWT_Cache/Textures/20/mbs845352x437430.jpg new file mode 100644 index 000000000..4ee58a66c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437431.jpg b/RWT_Cache/Textures/20/mbs845352x437431.jpg new file mode 100644 index 000000000..c515f81f1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437432.jpg b/RWT_Cache/Textures/20/mbs845352x437432.jpg new file mode 100644 index 000000000..4b2314ab2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437433.jpg b/RWT_Cache/Textures/20/mbs845352x437433.jpg new file mode 100644 index 000000000..0178518fe Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437434.jpg b/RWT_Cache/Textures/20/mbs845352x437434.jpg new file mode 100644 index 000000000..7c713c066 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437435.jpg b/RWT_Cache/Textures/20/mbs845352x437435.jpg new file mode 100644 index 000000000..f3b644d3f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437436.jpg b/RWT_Cache/Textures/20/mbs845352x437436.jpg new file mode 100644 index 000000000..b9fb3fa4a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437437.jpg b/RWT_Cache/Textures/20/mbs845352x437437.jpg new file mode 100644 index 000000000..601dc9e6f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437438.jpg b/RWT_Cache/Textures/20/mbs845352x437438.jpg new file mode 100644 index 000000000..c2342d53d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437439.jpg b/RWT_Cache/Textures/20/mbs845352x437439.jpg new file mode 100644 index 000000000..099914176 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437440.jpg b/RWT_Cache/Textures/20/mbs845352x437440.jpg new file mode 100644 index 000000000..5a4462853 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437441.jpg b/RWT_Cache/Textures/20/mbs845352x437441.jpg new file mode 100644 index 000000000..5f363ca84 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437442.jpg b/RWT_Cache/Textures/20/mbs845352x437442.jpg new file mode 100644 index 000000000..cd2a56dbe Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437443.jpg b/RWT_Cache/Textures/20/mbs845352x437443.jpg new file mode 100644 index 000000000..93b088d44 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437444.jpg b/RWT_Cache/Textures/20/mbs845352x437444.jpg new file mode 100644 index 000000000..68704514a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437445.jpg b/RWT_Cache/Textures/20/mbs845352x437445.jpg new file mode 100644 index 000000000..20895526e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437446.jpg b/RWT_Cache/Textures/20/mbs845352x437446.jpg new file mode 100644 index 000000000..82d3190da Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845352x437447.jpg b/RWT_Cache/Textures/20/mbs845352x437447.jpg new file mode 100644 index 000000000..2e6bcefb0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845352x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437391.jpg b/RWT_Cache/Textures/20/mbs845353x437391.jpg new file mode 100644 index 000000000..a51024657 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437392.jpg b/RWT_Cache/Textures/20/mbs845353x437392.jpg new file mode 100644 index 000000000..68f8ff553 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437393.jpg b/RWT_Cache/Textures/20/mbs845353x437393.jpg new file mode 100644 index 000000000..4142f23da Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437394.jpg b/RWT_Cache/Textures/20/mbs845353x437394.jpg new file mode 100644 index 000000000..e6959fbff Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437395.jpg b/RWT_Cache/Textures/20/mbs845353x437395.jpg new file mode 100644 index 000000000..e619d7031 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437396.jpg b/RWT_Cache/Textures/20/mbs845353x437396.jpg new file mode 100644 index 000000000..f1bfd39dd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437397.jpg b/RWT_Cache/Textures/20/mbs845353x437397.jpg new file mode 100644 index 000000000..bed1cff45 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437398.jpg b/RWT_Cache/Textures/20/mbs845353x437398.jpg new file mode 100644 index 000000000..535a91469 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437399.jpg b/RWT_Cache/Textures/20/mbs845353x437399.jpg new file mode 100644 index 000000000..c749cf820 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437400.jpg b/RWT_Cache/Textures/20/mbs845353x437400.jpg new file mode 100644 index 000000000..eb33d0cfd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437401.jpg b/RWT_Cache/Textures/20/mbs845353x437401.jpg new file mode 100644 index 000000000..c8559582a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437402.jpg b/RWT_Cache/Textures/20/mbs845353x437402.jpg new file mode 100644 index 000000000..88b86880c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437403.jpg b/RWT_Cache/Textures/20/mbs845353x437403.jpg new file mode 100644 index 000000000..69bc7fdcf Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437404.jpg b/RWT_Cache/Textures/20/mbs845353x437404.jpg new file mode 100644 index 000000000..f7c7d9038 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437405.jpg b/RWT_Cache/Textures/20/mbs845353x437405.jpg new file mode 100644 index 000000000..02934cffe Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437406.jpg b/RWT_Cache/Textures/20/mbs845353x437406.jpg new file mode 100644 index 000000000..fdd7ccc07 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437407.jpg b/RWT_Cache/Textures/20/mbs845353x437407.jpg new file mode 100644 index 000000000..7ec93fdc7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437408.jpg b/RWT_Cache/Textures/20/mbs845353x437408.jpg new file mode 100644 index 000000000..d9046e5c6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437409.jpg b/RWT_Cache/Textures/20/mbs845353x437409.jpg new file mode 100644 index 000000000..35f25adcf Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437410.jpg b/RWT_Cache/Textures/20/mbs845353x437410.jpg new file mode 100644 index 000000000..4150d0d51 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437411.jpg b/RWT_Cache/Textures/20/mbs845353x437411.jpg new file mode 100644 index 000000000..bf141208a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437412.jpg b/RWT_Cache/Textures/20/mbs845353x437412.jpg new file mode 100644 index 000000000..14127aac9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437413.jpg b/RWT_Cache/Textures/20/mbs845353x437413.jpg new file mode 100644 index 000000000..f89c4fab2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437414.jpg b/RWT_Cache/Textures/20/mbs845353x437414.jpg new file mode 100644 index 000000000..004795253 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437415.jpg b/RWT_Cache/Textures/20/mbs845353x437415.jpg new file mode 100644 index 000000000..e65b45b34 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437416.jpg b/RWT_Cache/Textures/20/mbs845353x437416.jpg new file mode 100644 index 000000000..05b02690a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437417.jpg b/RWT_Cache/Textures/20/mbs845353x437417.jpg new file mode 100644 index 000000000..43e47572b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437418.jpg b/RWT_Cache/Textures/20/mbs845353x437418.jpg new file mode 100644 index 000000000..43c2c78b2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437419.jpg b/RWT_Cache/Textures/20/mbs845353x437419.jpg new file mode 100644 index 000000000..dae158e68 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437420.jpg b/RWT_Cache/Textures/20/mbs845353x437420.jpg new file mode 100644 index 000000000..99ff50914 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437421.jpg b/RWT_Cache/Textures/20/mbs845353x437421.jpg new file mode 100644 index 000000000..67f452a5d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437422.jpg b/RWT_Cache/Textures/20/mbs845353x437422.jpg new file mode 100644 index 000000000..014732849 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437423.jpg b/RWT_Cache/Textures/20/mbs845353x437423.jpg new file mode 100644 index 000000000..ff7d0840e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437424.jpg b/RWT_Cache/Textures/20/mbs845353x437424.jpg new file mode 100644 index 000000000..d9172c005 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437425.jpg b/RWT_Cache/Textures/20/mbs845353x437425.jpg new file mode 100644 index 000000000..59315ad01 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437426.jpg b/RWT_Cache/Textures/20/mbs845353x437426.jpg new file mode 100644 index 000000000..54144e5d5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437427.jpg b/RWT_Cache/Textures/20/mbs845353x437427.jpg new file mode 100644 index 000000000..36203aec0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437428.jpg b/RWT_Cache/Textures/20/mbs845353x437428.jpg new file mode 100644 index 000000000..7225542de Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437429.jpg b/RWT_Cache/Textures/20/mbs845353x437429.jpg new file mode 100644 index 000000000..56c7cceb9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437430.jpg b/RWT_Cache/Textures/20/mbs845353x437430.jpg new file mode 100644 index 000000000..b97a948e6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437431.jpg b/RWT_Cache/Textures/20/mbs845353x437431.jpg new file mode 100644 index 000000000..4a10985d5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437432.jpg b/RWT_Cache/Textures/20/mbs845353x437432.jpg new file mode 100644 index 000000000..2fde7214f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437433.jpg b/RWT_Cache/Textures/20/mbs845353x437433.jpg new file mode 100644 index 000000000..a3a0025c3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437434.jpg b/RWT_Cache/Textures/20/mbs845353x437434.jpg new file mode 100644 index 000000000..cd4bc5449 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437435.jpg b/RWT_Cache/Textures/20/mbs845353x437435.jpg new file mode 100644 index 000000000..35fa99a13 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437436.jpg b/RWT_Cache/Textures/20/mbs845353x437436.jpg new file mode 100644 index 000000000..f14296487 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437437.jpg b/RWT_Cache/Textures/20/mbs845353x437437.jpg new file mode 100644 index 000000000..2eb3ab3cb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437438.jpg b/RWT_Cache/Textures/20/mbs845353x437438.jpg new file mode 100644 index 000000000..b0bc8c116 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437439.jpg b/RWT_Cache/Textures/20/mbs845353x437439.jpg new file mode 100644 index 000000000..17cae7055 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437440.jpg b/RWT_Cache/Textures/20/mbs845353x437440.jpg new file mode 100644 index 000000000..4b1f76aa6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437441.jpg b/RWT_Cache/Textures/20/mbs845353x437441.jpg new file mode 100644 index 000000000..313679b5f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437442.jpg b/RWT_Cache/Textures/20/mbs845353x437442.jpg new file mode 100644 index 000000000..373eaf1b9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437443.jpg b/RWT_Cache/Textures/20/mbs845353x437443.jpg new file mode 100644 index 000000000..4eefa96c4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437444.jpg b/RWT_Cache/Textures/20/mbs845353x437444.jpg new file mode 100644 index 000000000..edfab4a72 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437445.jpg b/RWT_Cache/Textures/20/mbs845353x437445.jpg new file mode 100644 index 000000000..f54f61279 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437446.jpg b/RWT_Cache/Textures/20/mbs845353x437446.jpg new file mode 100644 index 000000000..ae1aefa98 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845353x437447.jpg b/RWT_Cache/Textures/20/mbs845353x437447.jpg new file mode 100644 index 000000000..348c727dd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845353x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437391.jpg b/RWT_Cache/Textures/20/mbs845354x437391.jpg new file mode 100644 index 000000000..77729b6ff Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437392.jpg b/RWT_Cache/Textures/20/mbs845354x437392.jpg new file mode 100644 index 000000000..6aadc65b0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437393.jpg b/RWT_Cache/Textures/20/mbs845354x437393.jpg new file mode 100644 index 000000000..f4f44536b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437394.jpg b/RWT_Cache/Textures/20/mbs845354x437394.jpg new file mode 100644 index 000000000..9137b3d29 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437395.jpg b/RWT_Cache/Textures/20/mbs845354x437395.jpg new file mode 100644 index 000000000..964b2aa2a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437396.jpg b/RWT_Cache/Textures/20/mbs845354x437396.jpg new file mode 100644 index 000000000..daeb42fcd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437397.jpg b/RWT_Cache/Textures/20/mbs845354x437397.jpg new file mode 100644 index 000000000..920d5186a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437398.jpg b/RWT_Cache/Textures/20/mbs845354x437398.jpg new file mode 100644 index 000000000..99c98d777 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437399.jpg b/RWT_Cache/Textures/20/mbs845354x437399.jpg new file mode 100644 index 000000000..c005dd2a7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437400.jpg b/RWT_Cache/Textures/20/mbs845354x437400.jpg new file mode 100644 index 000000000..7220690e6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437401.jpg b/RWT_Cache/Textures/20/mbs845354x437401.jpg new file mode 100644 index 000000000..9cb83c852 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437402.jpg b/RWT_Cache/Textures/20/mbs845354x437402.jpg new file mode 100644 index 000000000..bc6fbc0bb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437403.jpg b/RWT_Cache/Textures/20/mbs845354x437403.jpg new file mode 100644 index 000000000..f8a761343 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437404.jpg b/RWT_Cache/Textures/20/mbs845354x437404.jpg new file mode 100644 index 000000000..10bd35626 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437405.jpg b/RWT_Cache/Textures/20/mbs845354x437405.jpg new file mode 100644 index 000000000..2e26ffa51 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437406.jpg b/RWT_Cache/Textures/20/mbs845354x437406.jpg new file mode 100644 index 000000000..6febd81b3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437407.jpg b/RWT_Cache/Textures/20/mbs845354x437407.jpg new file mode 100644 index 000000000..cc2af3074 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437408.jpg b/RWT_Cache/Textures/20/mbs845354x437408.jpg new file mode 100644 index 000000000..3a3d2b7f1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437409.jpg b/RWT_Cache/Textures/20/mbs845354x437409.jpg new file mode 100644 index 000000000..124c5d606 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437410.jpg b/RWT_Cache/Textures/20/mbs845354x437410.jpg new file mode 100644 index 000000000..dff97ba82 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437411.jpg b/RWT_Cache/Textures/20/mbs845354x437411.jpg new file mode 100644 index 000000000..a1ce23ff2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437412.jpg b/RWT_Cache/Textures/20/mbs845354x437412.jpg new file mode 100644 index 000000000..8f5b0c97b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437413.jpg b/RWT_Cache/Textures/20/mbs845354x437413.jpg new file mode 100644 index 000000000..e35625366 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437414.jpg b/RWT_Cache/Textures/20/mbs845354x437414.jpg new file mode 100644 index 000000000..0abd27a2d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437415.jpg b/RWT_Cache/Textures/20/mbs845354x437415.jpg new file mode 100644 index 000000000..0cbafdc12 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437416.jpg b/RWT_Cache/Textures/20/mbs845354x437416.jpg new file mode 100644 index 000000000..b8f66c478 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437417.jpg b/RWT_Cache/Textures/20/mbs845354x437417.jpg new file mode 100644 index 000000000..a06762ceb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437418.jpg b/RWT_Cache/Textures/20/mbs845354x437418.jpg new file mode 100644 index 000000000..f86b69b1d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437419.jpg b/RWT_Cache/Textures/20/mbs845354x437419.jpg new file mode 100644 index 000000000..8fa5db670 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437420.jpg b/RWT_Cache/Textures/20/mbs845354x437420.jpg new file mode 100644 index 000000000..f441a24a9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437421.jpg b/RWT_Cache/Textures/20/mbs845354x437421.jpg new file mode 100644 index 000000000..2592a5ace Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437422.jpg b/RWT_Cache/Textures/20/mbs845354x437422.jpg new file mode 100644 index 000000000..e06522000 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437423.jpg b/RWT_Cache/Textures/20/mbs845354x437423.jpg new file mode 100644 index 000000000..e89e7693d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437424.jpg b/RWT_Cache/Textures/20/mbs845354x437424.jpg new file mode 100644 index 000000000..df08c32ba Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437425.jpg b/RWT_Cache/Textures/20/mbs845354x437425.jpg new file mode 100644 index 000000000..9635c5fe1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437426.jpg b/RWT_Cache/Textures/20/mbs845354x437426.jpg new file mode 100644 index 000000000..ab351cbab Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437427.jpg b/RWT_Cache/Textures/20/mbs845354x437427.jpg new file mode 100644 index 000000000..7b82c3c57 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437428.jpg b/RWT_Cache/Textures/20/mbs845354x437428.jpg new file mode 100644 index 000000000..44f44258f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437429.jpg b/RWT_Cache/Textures/20/mbs845354x437429.jpg new file mode 100644 index 000000000..e7121b99c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437430.jpg b/RWT_Cache/Textures/20/mbs845354x437430.jpg new file mode 100644 index 000000000..f2793e071 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437431.jpg b/RWT_Cache/Textures/20/mbs845354x437431.jpg new file mode 100644 index 000000000..9aff107d1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437432.jpg b/RWT_Cache/Textures/20/mbs845354x437432.jpg new file mode 100644 index 000000000..a91cf078c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437433.jpg b/RWT_Cache/Textures/20/mbs845354x437433.jpg new file mode 100644 index 000000000..2e78bb06a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437434.jpg b/RWT_Cache/Textures/20/mbs845354x437434.jpg new file mode 100644 index 000000000..5c934e24b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437435.jpg b/RWT_Cache/Textures/20/mbs845354x437435.jpg new file mode 100644 index 000000000..226d0392a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437436.jpg b/RWT_Cache/Textures/20/mbs845354x437436.jpg new file mode 100644 index 000000000..b9f3da5a4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437437.jpg b/RWT_Cache/Textures/20/mbs845354x437437.jpg new file mode 100644 index 000000000..22e96b485 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437438.jpg b/RWT_Cache/Textures/20/mbs845354x437438.jpg new file mode 100644 index 000000000..968a4b90a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437439.jpg b/RWT_Cache/Textures/20/mbs845354x437439.jpg new file mode 100644 index 000000000..b0f782237 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437440.jpg b/RWT_Cache/Textures/20/mbs845354x437440.jpg new file mode 100644 index 000000000..30f469053 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437441.jpg b/RWT_Cache/Textures/20/mbs845354x437441.jpg new file mode 100644 index 000000000..a8ee232c6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437442.jpg b/RWT_Cache/Textures/20/mbs845354x437442.jpg new file mode 100644 index 000000000..d76e8ecfe Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437443.jpg b/RWT_Cache/Textures/20/mbs845354x437443.jpg new file mode 100644 index 000000000..6ff7e1d99 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437444.jpg b/RWT_Cache/Textures/20/mbs845354x437444.jpg new file mode 100644 index 000000000..ef4efc35f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437445.jpg b/RWT_Cache/Textures/20/mbs845354x437445.jpg new file mode 100644 index 000000000..30fa05058 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437446.jpg b/RWT_Cache/Textures/20/mbs845354x437446.jpg new file mode 100644 index 000000000..a300fde3d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845354x437447.jpg b/RWT_Cache/Textures/20/mbs845354x437447.jpg new file mode 100644 index 000000000..fb0d6b92e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845354x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437391.jpg b/RWT_Cache/Textures/20/mbs845355x437391.jpg new file mode 100644 index 000000000..5e305680b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437392.jpg b/RWT_Cache/Textures/20/mbs845355x437392.jpg new file mode 100644 index 000000000..e476f2bc6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437393.jpg b/RWT_Cache/Textures/20/mbs845355x437393.jpg new file mode 100644 index 000000000..efd75031d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437394.jpg b/RWT_Cache/Textures/20/mbs845355x437394.jpg new file mode 100644 index 000000000..98ac19592 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437395.jpg b/RWT_Cache/Textures/20/mbs845355x437395.jpg new file mode 100644 index 000000000..3fd25ad1a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437396.jpg b/RWT_Cache/Textures/20/mbs845355x437396.jpg new file mode 100644 index 000000000..9e8ebbc2d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437397.jpg b/RWT_Cache/Textures/20/mbs845355x437397.jpg new file mode 100644 index 000000000..958867b5e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437398.jpg b/RWT_Cache/Textures/20/mbs845355x437398.jpg new file mode 100644 index 000000000..b871036ac Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437399.jpg b/RWT_Cache/Textures/20/mbs845355x437399.jpg new file mode 100644 index 000000000..40b629768 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437400.jpg b/RWT_Cache/Textures/20/mbs845355x437400.jpg new file mode 100644 index 000000000..73aaf4629 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437401.jpg b/RWT_Cache/Textures/20/mbs845355x437401.jpg new file mode 100644 index 000000000..eb0e82f3c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437402.jpg b/RWT_Cache/Textures/20/mbs845355x437402.jpg new file mode 100644 index 000000000..391a53ada Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437403.jpg b/RWT_Cache/Textures/20/mbs845355x437403.jpg new file mode 100644 index 000000000..ba9d09e13 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437404.jpg b/RWT_Cache/Textures/20/mbs845355x437404.jpg new file mode 100644 index 000000000..7ee5e9be4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437405.jpg b/RWT_Cache/Textures/20/mbs845355x437405.jpg new file mode 100644 index 000000000..7cdc26d90 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437406.jpg b/RWT_Cache/Textures/20/mbs845355x437406.jpg new file mode 100644 index 000000000..8933f5eb7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437407.jpg b/RWT_Cache/Textures/20/mbs845355x437407.jpg new file mode 100644 index 000000000..ab9e0fdb9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437408.jpg b/RWT_Cache/Textures/20/mbs845355x437408.jpg new file mode 100644 index 000000000..fa3c12e3c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437409.jpg b/RWT_Cache/Textures/20/mbs845355x437409.jpg new file mode 100644 index 000000000..afb9ce4e8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437410.jpg b/RWT_Cache/Textures/20/mbs845355x437410.jpg new file mode 100644 index 000000000..8e10b1e79 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437411.jpg b/RWT_Cache/Textures/20/mbs845355x437411.jpg new file mode 100644 index 000000000..95a78d9ac Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437412.jpg b/RWT_Cache/Textures/20/mbs845355x437412.jpg new file mode 100644 index 000000000..f86a38043 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437413.jpg b/RWT_Cache/Textures/20/mbs845355x437413.jpg new file mode 100644 index 000000000..3966da9a1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437414.jpg b/RWT_Cache/Textures/20/mbs845355x437414.jpg new file mode 100644 index 000000000..58f69c9a3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437415.jpg b/RWT_Cache/Textures/20/mbs845355x437415.jpg new file mode 100644 index 000000000..c4e4892df Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437416.jpg b/RWT_Cache/Textures/20/mbs845355x437416.jpg new file mode 100644 index 000000000..de77725ad Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437417.jpg b/RWT_Cache/Textures/20/mbs845355x437417.jpg new file mode 100644 index 000000000..f1a9228ce Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437418.jpg b/RWT_Cache/Textures/20/mbs845355x437418.jpg new file mode 100644 index 000000000..6af9c694c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437419.jpg b/RWT_Cache/Textures/20/mbs845355x437419.jpg new file mode 100644 index 000000000..60c2d35e4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437420.jpg b/RWT_Cache/Textures/20/mbs845355x437420.jpg new file mode 100644 index 000000000..1e065be42 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437421.jpg b/RWT_Cache/Textures/20/mbs845355x437421.jpg new file mode 100644 index 000000000..ca807c7be Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437422.jpg b/RWT_Cache/Textures/20/mbs845355x437422.jpg new file mode 100644 index 000000000..d7ae0e230 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437423.jpg b/RWT_Cache/Textures/20/mbs845355x437423.jpg new file mode 100644 index 000000000..b6cef858a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437424.jpg b/RWT_Cache/Textures/20/mbs845355x437424.jpg new file mode 100644 index 000000000..6bd940ed1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437425.jpg b/RWT_Cache/Textures/20/mbs845355x437425.jpg new file mode 100644 index 000000000..b2e559dec Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437426.jpg b/RWT_Cache/Textures/20/mbs845355x437426.jpg new file mode 100644 index 000000000..cc3b49068 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437427.jpg b/RWT_Cache/Textures/20/mbs845355x437427.jpg new file mode 100644 index 000000000..149b3bcb3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437428.jpg b/RWT_Cache/Textures/20/mbs845355x437428.jpg new file mode 100644 index 000000000..c0d2369bb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437429.jpg b/RWT_Cache/Textures/20/mbs845355x437429.jpg new file mode 100644 index 000000000..e43d079d2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437430.jpg b/RWT_Cache/Textures/20/mbs845355x437430.jpg new file mode 100644 index 000000000..f86792afe Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437431.jpg b/RWT_Cache/Textures/20/mbs845355x437431.jpg new file mode 100644 index 000000000..d400f3977 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437432.jpg b/RWT_Cache/Textures/20/mbs845355x437432.jpg new file mode 100644 index 000000000..9bff61a7a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437433.jpg b/RWT_Cache/Textures/20/mbs845355x437433.jpg new file mode 100644 index 000000000..9a546b8b6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437434.jpg b/RWT_Cache/Textures/20/mbs845355x437434.jpg new file mode 100644 index 000000000..2d2c61dcf Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437435.jpg b/RWT_Cache/Textures/20/mbs845355x437435.jpg new file mode 100644 index 000000000..1c129e824 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437436.jpg b/RWT_Cache/Textures/20/mbs845355x437436.jpg new file mode 100644 index 000000000..d569110b8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437437.jpg b/RWT_Cache/Textures/20/mbs845355x437437.jpg new file mode 100644 index 000000000..327f55828 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437438.jpg b/RWT_Cache/Textures/20/mbs845355x437438.jpg new file mode 100644 index 000000000..029ce14dd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437439.jpg b/RWT_Cache/Textures/20/mbs845355x437439.jpg new file mode 100644 index 000000000..40deebf7b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437440.jpg b/RWT_Cache/Textures/20/mbs845355x437440.jpg new file mode 100644 index 000000000..70236ea74 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437441.jpg b/RWT_Cache/Textures/20/mbs845355x437441.jpg new file mode 100644 index 000000000..92dc1d571 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437442.jpg b/RWT_Cache/Textures/20/mbs845355x437442.jpg new file mode 100644 index 000000000..1187a9b15 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437443.jpg b/RWT_Cache/Textures/20/mbs845355x437443.jpg new file mode 100644 index 000000000..483c77060 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437444.jpg b/RWT_Cache/Textures/20/mbs845355x437444.jpg new file mode 100644 index 000000000..32a6e99da Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437445.jpg b/RWT_Cache/Textures/20/mbs845355x437445.jpg new file mode 100644 index 000000000..7ebd31ddb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437446.jpg b/RWT_Cache/Textures/20/mbs845355x437446.jpg new file mode 100644 index 000000000..9f7095c73 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845355x437447.jpg b/RWT_Cache/Textures/20/mbs845355x437447.jpg new file mode 100644 index 000000000..c7c212190 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845355x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437391.jpg b/RWT_Cache/Textures/20/mbs845356x437391.jpg new file mode 100644 index 000000000..b7b945230 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437392.jpg b/RWT_Cache/Textures/20/mbs845356x437392.jpg new file mode 100644 index 000000000..e8afe35d0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437393.jpg b/RWT_Cache/Textures/20/mbs845356x437393.jpg new file mode 100644 index 000000000..7b3e5be72 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437394.jpg b/RWT_Cache/Textures/20/mbs845356x437394.jpg new file mode 100644 index 000000000..9df362c0e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437395.jpg b/RWT_Cache/Textures/20/mbs845356x437395.jpg new file mode 100644 index 000000000..1df463059 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437396.jpg b/RWT_Cache/Textures/20/mbs845356x437396.jpg new file mode 100644 index 000000000..7c5e84f85 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437397.jpg b/RWT_Cache/Textures/20/mbs845356x437397.jpg new file mode 100644 index 000000000..fed7103a2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437398.jpg b/RWT_Cache/Textures/20/mbs845356x437398.jpg new file mode 100644 index 000000000..33ef52da0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437399.jpg b/RWT_Cache/Textures/20/mbs845356x437399.jpg new file mode 100644 index 000000000..cd5fbd6db Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437400.jpg b/RWT_Cache/Textures/20/mbs845356x437400.jpg new file mode 100644 index 000000000..6e2cbc8a5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437401.jpg b/RWT_Cache/Textures/20/mbs845356x437401.jpg new file mode 100644 index 000000000..11edb576f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437402.jpg b/RWT_Cache/Textures/20/mbs845356x437402.jpg new file mode 100644 index 000000000..80d89028d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437403.jpg b/RWT_Cache/Textures/20/mbs845356x437403.jpg new file mode 100644 index 000000000..d71e4cd56 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437404.jpg b/RWT_Cache/Textures/20/mbs845356x437404.jpg new file mode 100644 index 000000000..b408b8dc6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437405.jpg b/RWT_Cache/Textures/20/mbs845356x437405.jpg new file mode 100644 index 000000000..ea10c7a70 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437406.jpg b/RWT_Cache/Textures/20/mbs845356x437406.jpg new file mode 100644 index 000000000..884aca853 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437407.jpg b/RWT_Cache/Textures/20/mbs845356x437407.jpg new file mode 100644 index 000000000..5fda8d8bb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437408.jpg b/RWT_Cache/Textures/20/mbs845356x437408.jpg new file mode 100644 index 000000000..173d12348 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437409.jpg b/RWT_Cache/Textures/20/mbs845356x437409.jpg new file mode 100644 index 000000000..892db6636 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437410.jpg b/RWT_Cache/Textures/20/mbs845356x437410.jpg new file mode 100644 index 000000000..f32f5a6d2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437411.jpg b/RWT_Cache/Textures/20/mbs845356x437411.jpg new file mode 100644 index 000000000..4649a5a96 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437412.jpg b/RWT_Cache/Textures/20/mbs845356x437412.jpg new file mode 100644 index 000000000..0ec830227 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437413.jpg b/RWT_Cache/Textures/20/mbs845356x437413.jpg new file mode 100644 index 000000000..5acc3f639 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437414.jpg b/RWT_Cache/Textures/20/mbs845356x437414.jpg new file mode 100644 index 000000000..21d513548 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437415.jpg b/RWT_Cache/Textures/20/mbs845356x437415.jpg new file mode 100644 index 000000000..4d7a2e27e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437416.jpg b/RWT_Cache/Textures/20/mbs845356x437416.jpg new file mode 100644 index 000000000..85802cb67 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437417.jpg b/RWT_Cache/Textures/20/mbs845356x437417.jpg new file mode 100644 index 000000000..b0fcb6673 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437418.jpg b/RWT_Cache/Textures/20/mbs845356x437418.jpg new file mode 100644 index 000000000..51a37f7ee Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437419.jpg b/RWT_Cache/Textures/20/mbs845356x437419.jpg new file mode 100644 index 000000000..2868a0e1c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437420.jpg b/RWT_Cache/Textures/20/mbs845356x437420.jpg new file mode 100644 index 000000000..9fbb90a44 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437421.jpg b/RWT_Cache/Textures/20/mbs845356x437421.jpg new file mode 100644 index 000000000..c5e78d605 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437422.jpg b/RWT_Cache/Textures/20/mbs845356x437422.jpg new file mode 100644 index 000000000..a6694de5c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437423.jpg b/RWT_Cache/Textures/20/mbs845356x437423.jpg new file mode 100644 index 000000000..6a25c1c93 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437424.jpg b/RWT_Cache/Textures/20/mbs845356x437424.jpg new file mode 100644 index 000000000..29623634d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437425.jpg b/RWT_Cache/Textures/20/mbs845356x437425.jpg new file mode 100644 index 000000000..6e08f3b4c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437426.jpg b/RWT_Cache/Textures/20/mbs845356x437426.jpg new file mode 100644 index 000000000..10171aba9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437427.jpg b/RWT_Cache/Textures/20/mbs845356x437427.jpg new file mode 100644 index 000000000..46ce3dea0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437428.jpg b/RWT_Cache/Textures/20/mbs845356x437428.jpg new file mode 100644 index 000000000..bd232a5fb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437429.jpg b/RWT_Cache/Textures/20/mbs845356x437429.jpg new file mode 100644 index 000000000..b26351e0f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437430.jpg b/RWT_Cache/Textures/20/mbs845356x437430.jpg new file mode 100644 index 000000000..919d26783 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437431.jpg b/RWT_Cache/Textures/20/mbs845356x437431.jpg new file mode 100644 index 000000000..9fd2cdd29 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437432.jpg b/RWT_Cache/Textures/20/mbs845356x437432.jpg new file mode 100644 index 000000000..0faa288ba Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437433.jpg b/RWT_Cache/Textures/20/mbs845356x437433.jpg new file mode 100644 index 000000000..0e7a26e8d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437434.jpg b/RWT_Cache/Textures/20/mbs845356x437434.jpg new file mode 100644 index 000000000..94d92adaf Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437435.jpg b/RWT_Cache/Textures/20/mbs845356x437435.jpg new file mode 100644 index 000000000..64f8747ea Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437436.jpg b/RWT_Cache/Textures/20/mbs845356x437436.jpg new file mode 100644 index 000000000..c90ed2248 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437437.jpg b/RWT_Cache/Textures/20/mbs845356x437437.jpg new file mode 100644 index 000000000..532882b63 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437438.jpg b/RWT_Cache/Textures/20/mbs845356x437438.jpg new file mode 100644 index 000000000..785e520bc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437439.jpg b/RWT_Cache/Textures/20/mbs845356x437439.jpg new file mode 100644 index 000000000..baef30379 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437440.jpg b/RWT_Cache/Textures/20/mbs845356x437440.jpg new file mode 100644 index 000000000..f38d840ce Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437441.jpg b/RWT_Cache/Textures/20/mbs845356x437441.jpg new file mode 100644 index 000000000..8b8469571 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437442.jpg b/RWT_Cache/Textures/20/mbs845356x437442.jpg new file mode 100644 index 000000000..c2a8c81e2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437443.jpg b/RWT_Cache/Textures/20/mbs845356x437443.jpg new file mode 100644 index 000000000..fe633466e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437444.jpg b/RWT_Cache/Textures/20/mbs845356x437444.jpg new file mode 100644 index 000000000..0d509272c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437445.jpg b/RWT_Cache/Textures/20/mbs845356x437445.jpg new file mode 100644 index 000000000..c4e7945a5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437446.jpg b/RWT_Cache/Textures/20/mbs845356x437446.jpg new file mode 100644 index 000000000..75cefc83f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845356x437447.jpg b/RWT_Cache/Textures/20/mbs845356x437447.jpg new file mode 100644 index 000000000..d80f7d5b7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845356x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437391.jpg b/RWT_Cache/Textures/20/mbs845357x437391.jpg new file mode 100644 index 000000000..0998633c4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437392.jpg b/RWT_Cache/Textures/20/mbs845357x437392.jpg new file mode 100644 index 000000000..66b139e9e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437393.jpg b/RWT_Cache/Textures/20/mbs845357x437393.jpg new file mode 100644 index 000000000..2d414030a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437394.jpg b/RWT_Cache/Textures/20/mbs845357x437394.jpg new file mode 100644 index 000000000..cfd48cff1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437395.jpg b/RWT_Cache/Textures/20/mbs845357x437395.jpg new file mode 100644 index 000000000..d2dfcfe8c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437396.jpg b/RWT_Cache/Textures/20/mbs845357x437396.jpg new file mode 100644 index 000000000..230e7ef40 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437397.jpg b/RWT_Cache/Textures/20/mbs845357x437397.jpg new file mode 100644 index 000000000..7cad5993a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437398.jpg b/RWT_Cache/Textures/20/mbs845357x437398.jpg new file mode 100644 index 000000000..517e9bd65 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437399.jpg b/RWT_Cache/Textures/20/mbs845357x437399.jpg new file mode 100644 index 000000000..13a93a358 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437400.jpg b/RWT_Cache/Textures/20/mbs845357x437400.jpg new file mode 100644 index 000000000..b243fe1d8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437401.jpg b/RWT_Cache/Textures/20/mbs845357x437401.jpg new file mode 100644 index 000000000..a8689ba5c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437402.jpg b/RWT_Cache/Textures/20/mbs845357x437402.jpg new file mode 100644 index 000000000..a7446aaa3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437403.jpg b/RWT_Cache/Textures/20/mbs845357x437403.jpg new file mode 100644 index 000000000..b3e418a4c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437404.jpg b/RWT_Cache/Textures/20/mbs845357x437404.jpg new file mode 100644 index 000000000..f79b5275d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437405.jpg b/RWT_Cache/Textures/20/mbs845357x437405.jpg new file mode 100644 index 000000000..8d92a16f7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437406.jpg b/RWT_Cache/Textures/20/mbs845357x437406.jpg new file mode 100644 index 000000000..a063242ac Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437407.jpg b/RWT_Cache/Textures/20/mbs845357x437407.jpg new file mode 100644 index 000000000..4137d555a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437408.jpg b/RWT_Cache/Textures/20/mbs845357x437408.jpg new file mode 100644 index 000000000..ae50427bd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437409.jpg b/RWT_Cache/Textures/20/mbs845357x437409.jpg new file mode 100644 index 000000000..9b329f073 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437410.jpg b/RWT_Cache/Textures/20/mbs845357x437410.jpg new file mode 100644 index 000000000..59ab9cc0d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437411.jpg b/RWT_Cache/Textures/20/mbs845357x437411.jpg new file mode 100644 index 000000000..e17a74f00 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437412.jpg b/RWT_Cache/Textures/20/mbs845357x437412.jpg new file mode 100644 index 000000000..cf02fadf4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437413.jpg b/RWT_Cache/Textures/20/mbs845357x437413.jpg new file mode 100644 index 000000000..a70625bc0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437414.jpg b/RWT_Cache/Textures/20/mbs845357x437414.jpg new file mode 100644 index 000000000..d8ca11d28 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437415.jpg b/RWT_Cache/Textures/20/mbs845357x437415.jpg new file mode 100644 index 000000000..3800043a3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437416.jpg b/RWT_Cache/Textures/20/mbs845357x437416.jpg new file mode 100644 index 000000000..95635388c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437417.jpg b/RWT_Cache/Textures/20/mbs845357x437417.jpg new file mode 100644 index 000000000..de9fec3fb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437418.jpg b/RWT_Cache/Textures/20/mbs845357x437418.jpg new file mode 100644 index 000000000..e2dcd9775 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437419.jpg b/RWT_Cache/Textures/20/mbs845357x437419.jpg new file mode 100644 index 000000000..d545d7069 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437420.jpg b/RWT_Cache/Textures/20/mbs845357x437420.jpg new file mode 100644 index 000000000..c2ea32864 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437421.jpg b/RWT_Cache/Textures/20/mbs845357x437421.jpg new file mode 100644 index 000000000..d5ec02f86 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437422.jpg b/RWT_Cache/Textures/20/mbs845357x437422.jpg new file mode 100644 index 000000000..1ba71db94 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437423.jpg b/RWT_Cache/Textures/20/mbs845357x437423.jpg new file mode 100644 index 000000000..f70fdeca4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437424.jpg b/RWT_Cache/Textures/20/mbs845357x437424.jpg new file mode 100644 index 000000000..d02e15f3a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437425.jpg b/RWT_Cache/Textures/20/mbs845357x437425.jpg new file mode 100644 index 000000000..bf737bdf9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437426.jpg b/RWT_Cache/Textures/20/mbs845357x437426.jpg new file mode 100644 index 000000000..86c65ecd7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437427.jpg b/RWT_Cache/Textures/20/mbs845357x437427.jpg new file mode 100644 index 000000000..c08e53114 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437428.jpg b/RWT_Cache/Textures/20/mbs845357x437428.jpg new file mode 100644 index 000000000..dc24159ef Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437429.jpg b/RWT_Cache/Textures/20/mbs845357x437429.jpg new file mode 100644 index 000000000..e679c5098 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437430.jpg b/RWT_Cache/Textures/20/mbs845357x437430.jpg new file mode 100644 index 000000000..fbc988440 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437431.jpg b/RWT_Cache/Textures/20/mbs845357x437431.jpg new file mode 100644 index 000000000..b5e8a86f3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437432.jpg b/RWT_Cache/Textures/20/mbs845357x437432.jpg new file mode 100644 index 000000000..1817a1b37 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437433.jpg b/RWT_Cache/Textures/20/mbs845357x437433.jpg new file mode 100644 index 000000000..91e28c2c4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437434.jpg b/RWT_Cache/Textures/20/mbs845357x437434.jpg new file mode 100644 index 000000000..9cd946342 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437435.jpg b/RWT_Cache/Textures/20/mbs845357x437435.jpg new file mode 100644 index 000000000..47d3cf291 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437436.jpg b/RWT_Cache/Textures/20/mbs845357x437436.jpg new file mode 100644 index 000000000..aa7898822 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437437.jpg b/RWT_Cache/Textures/20/mbs845357x437437.jpg new file mode 100644 index 000000000..ee3408c7e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437438.jpg b/RWT_Cache/Textures/20/mbs845357x437438.jpg new file mode 100644 index 000000000..a83c777ba Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437439.jpg b/RWT_Cache/Textures/20/mbs845357x437439.jpg new file mode 100644 index 000000000..d0fd5aa9f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437440.jpg b/RWT_Cache/Textures/20/mbs845357x437440.jpg new file mode 100644 index 000000000..6d4c32be1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437441.jpg b/RWT_Cache/Textures/20/mbs845357x437441.jpg new file mode 100644 index 000000000..560d451fc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437442.jpg b/RWT_Cache/Textures/20/mbs845357x437442.jpg new file mode 100644 index 000000000..f77bf5d02 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437443.jpg b/RWT_Cache/Textures/20/mbs845357x437443.jpg new file mode 100644 index 000000000..d21b8a042 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437444.jpg b/RWT_Cache/Textures/20/mbs845357x437444.jpg new file mode 100644 index 000000000..52b5694af Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437445.jpg b/RWT_Cache/Textures/20/mbs845357x437445.jpg new file mode 100644 index 000000000..ef80d6850 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437446.jpg b/RWT_Cache/Textures/20/mbs845357x437446.jpg new file mode 100644 index 000000000..2f248d750 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845357x437447.jpg b/RWT_Cache/Textures/20/mbs845357x437447.jpg new file mode 100644 index 000000000..a75a3154c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845357x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437391.jpg b/RWT_Cache/Textures/20/mbs845358x437391.jpg new file mode 100644 index 000000000..0ea1e2279 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437392.jpg b/RWT_Cache/Textures/20/mbs845358x437392.jpg new file mode 100644 index 000000000..e5068bd10 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437393.jpg b/RWT_Cache/Textures/20/mbs845358x437393.jpg new file mode 100644 index 000000000..a0f3dcec7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437394.jpg b/RWT_Cache/Textures/20/mbs845358x437394.jpg new file mode 100644 index 000000000..504ff3a30 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437395.jpg b/RWT_Cache/Textures/20/mbs845358x437395.jpg new file mode 100644 index 000000000..251b20beb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437396.jpg b/RWT_Cache/Textures/20/mbs845358x437396.jpg new file mode 100644 index 000000000..d3f27b95f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437397.jpg b/RWT_Cache/Textures/20/mbs845358x437397.jpg new file mode 100644 index 000000000..25bc2de44 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437398.jpg b/RWT_Cache/Textures/20/mbs845358x437398.jpg new file mode 100644 index 000000000..281eb8852 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437399.jpg b/RWT_Cache/Textures/20/mbs845358x437399.jpg new file mode 100644 index 000000000..afc2abd7d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437400.jpg b/RWT_Cache/Textures/20/mbs845358x437400.jpg new file mode 100644 index 000000000..948e21e79 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437401.jpg b/RWT_Cache/Textures/20/mbs845358x437401.jpg new file mode 100644 index 000000000..e82d58dab Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437402.jpg b/RWT_Cache/Textures/20/mbs845358x437402.jpg new file mode 100644 index 000000000..7e6250586 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437403.jpg b/RWT_Cache/Textures/20/mbs845358x437403.jpg new file mode 100644 index 000000000..5b5a2cff4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437404.jpg b/RWT_Cache/Textures/20/mbs845358x437404.jpg new file mode 100644 index 000000000..ec0821bfd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437405.jpg b/RWT_Cache/Textures/20/mbs845358x437405.jpg new file mode 100644 index 000000000..3012beee2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437406.jpg b/RWT_Cache/Textures/20/mbs845358x437406.jpg new file mode 100644 index 000000000..0e20bd4dd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437407.jpg b/RWT_Cache/Textures/20/mbs845358x437407.jpg new file mode 100644 index 000000000..d1659b7c5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437408.jpg b/RWT_Cache/Textures/20/mbs845358x437408.jpg new file mode 100644 index 000000000..9838784ec Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437409.jpg b/RWT_Cache/Textures/20/mbs845358x437409.jpg new file mode 100644 index 000000000..426e7fdf0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437410.jpg b/RWT_Cache/Textures/20/mbs845358x437410.jpg new file mode 100644 index 000000000..74ded84c1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437411.jpg b/RWT_Cache/Textures/20/mbs845358x437411.jpg new file mode 100644 index 000000000..25991eb5c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437412.jpg b/RWT_Cache/Textures/20/mbs845358x437412.jpg new file mode 100644 index 000000000..4b3754d6c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437413.jpg b/RWT_Cache/Textures/20/mbs845358x437413.jpg new file mode 100644 index 000000000..8104649af Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437414.jpg b/RWT_Cache/Textures/20/mbs845358x437414.jpg new file mode 100644 index 000000000..726d05a9e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437415.jpg b/RWT_Cache/Textures/20/mbs845358x437415.jpg new file mode 100644 index 000000000..698782fa0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437416.jpg b/RWT_Cache/Textures/20/mbs845358x437416.jpg new file mode 100644 index 000000000..9a74007d6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437417.jpg b/RWT_Cache/Textures/20/mbs845358x437417.jpg new file mode 100644 index 000000000..3a533e60e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437418.jpg b/RWT_Cache/Textures/20/mbs845358x437418.jpg new file mode 100644 index 000000000..8226f2e65 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437419.jpg b/RWT_Cache/Textures/20/mbs845358x437419.jpg new file mode 100644 index 000000000..09e03a450 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437420.jpg b/RWT_Cache/Textures/20/mbs845358x437420.jpg new file mode 100644 index 000000000..8bffdbea0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437421.jpg b/RWT_Cache/Textures/20/mbs845358x437421.jpg new file mode 100644 index 000000000..96737e629 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437422.jpg b/RWT_Cache/Textures/20/mbs845358x437422.jpg new file mode 100644 index 000000000..bb0a56415 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437423.jpg b/RWT_Cache/Textures/20/mbs845358x437423.jpg new file mode 100644 index 000000000..822875ef3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437424.jpg b/RWT_Cache/Textures/20/mbs845358x437424.jpg new file mode 100644 index 000000000..5eee3a556 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437425.jpg b/RWT_Cache/Textures/20/mbs845358x437425.jpg new file mode 100644 index 000000000..63e68e476 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437426.jpg b/RWT_Cache/Textures/20/mbs845358x437426.jpg new file mode 100644 index 000000000..5ec848d05 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437427.jpg b/RWT_Cache/Textures/20/mbs845358x437427.jpg new file mode 100644 index 000000000..7e2ac0918 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437428.jpg b/RWT_Cache/Textures/20/mbs845358x437428.jpg new file mode 100644 index 000000000..ed5a7c6c1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437429.jpg b/RWT_Cache/Textures/20/mbs845358x437429.jpg new file mode 100644 index 000000000..7dda1d4fb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437430.jpg b/RWT_Cache/Textures/20/mbs845358x437430.jpg new file mode 100644 index 000000000..dee032c2b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437431.jpg b/RWT_Cache/Textures/20/mbs845358x437431.jpg new file mode 100644 index 000000000..cba3a09bf Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437432.jpg b/RWT_Cache/Textures/20/mbs845358x437432.jpg new file mode 100644 index 000000000..3b7e55cd8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437433.jpg b/RWT_Cache/Textures/20/mbs845358x437433.jpg new file mode 100644 index 000000000..b9ec10704 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437434.jpg b/RWT_Cache/Textures/20/mbs845358x437434.jpg new file mode 100644 index 000000000..20ca6d9af Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437435.jpg b/RWT_Cache/Textures/20/mbs845358x437435.jpg new file mode 100644 index 000000000..c8131e2b2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437436.jpg b/RWT_Cache/Textures/20/mbs845358x437436.jpg new file mode 100644 index 000000000..dc02158c7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437437.jpg b/RWT_Cache/Textures/20/mbs845358x437437.jpg new file mode 100644 index 000000000..2017da32c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437438.jpg b/RWT_Cache/Textures/20/mbs845358x437438.jpg new file mode 100644 index 000000000..8af26d59b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437439.jpg b/RWT_Cache/Textures/20/mbs845358x437439.jpg new file mode 100644 index 000000000..5d78fc57a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437440.jpg b/RWT_Cache/Textures/20/mbs845358x437440.jpg new file mode 100644 index 000000000..1f81577e9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437441.jpg b/RWT_Cache/Textures/20/mbs845358x437441.jpg new file mode 100644 index 000000000..b373fd640 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437442.jpg b/RWT_Cache/Textures/20/mbs845358x437442.jpg new file mode 100644 index 000000000..1df75542f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437443.jpg b/RWT_Cache/Textures/20/mbs845358x437443.jpg new file mode 100644 index 000000000..4006c5f31 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437444.jpg b/RWT_Cache/Textures/20/mbs845358x437444.jpg new file mode 100644 index 000000000..b1f89a1a5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437445.jpg b/RWT_Cache/Textures/20/mbs845358x437445.jpg new file mode 100644 index 000000000..c1b08ba96 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437446.jpg b/RWT_Cache/Textures/20/mbs845358x437446.jpg new file mode 100644 index 000000000..7fd0afe45 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845358x437447.jpg b/RWT_Cache/Textures/20/mbs845358x437447.jpg new file mode 100644 index 000000000..7bf59855b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845358x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437391.jpg b/RWT_Cache/Textures/20/mbs845359x437391.jpg new file mode 100644 index 000000000..2855bcdc2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437392.jpg b/RWT_Cache/Textures/20/mbs845359x437392.jpg new file mode 100644 index 000000000..4d44fe5f8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437393.jpg b/RWT_Cache/Textures/20/mbs845359x437393.jpg new file mode 100644 index 000000000..449a09ae3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437394.jpg b/RWT_Cache/Textures/20/mbs845359x437394.jpg new file mode 100644 index 000000000..966f34969 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437395.jpg b/RWT_Cache/Textures/20/mbs845359x437395.jpg new file mode 100644 index 000000000..a9515a19a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437396.jpg b/RWT_Cache/Textures/20/mbs845359x437396.jpg new file mode 100644 index 000000000..2c7dce3dd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437397.jpg b/RWT_Cache/Textures/20/mbs845359x437397.jpg new file mode 100644 index 000000000..8069c6e1f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437398.jpg b/RWT_Cache/Textures/20/mbs845359x437398.jpg new file mode 100644 index 000000000..84c8574c3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437399.jpg b/RWT_Cache/Textures/20/mbs845359x437399.jpg new file mode 100644 index 000000000..9e810195b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437400.jpg b/RWT_Cache/Textures/20/mbs845359x437400.jpg new file mode 100644 index 000000000..fea3f6706 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437401.jpg b/RWT_Cache/Textures/20/mbs845359x437401.jpg new file mode 100644 index 000000000..0955152a6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437402.jpg b/RWT_Cache/Textures/20/mbs845359x437402.jpg new file mode 100644 index 000000000..d5aca2e66 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437403.jpg b/RWT_Cache/Textures/20/mbs845359x437403.jpg new file mode 100644 index 000000000..916c25ec2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437404.jpg b/RWT_Cache/Textures/20/mbs845359x437404.jpg new file mode 100644 index 000000000..b57a256e7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437405.jpg b/RWT_Cache/Textures/20/mbs845359x437405.jpg new file mode 100644 index 000000000..52d96c71b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437406.jpg b/RWT_Cache/Textures/20/mbs845359x437406.jpg new file mode 100644 index 000000000..05290363c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437407.jpg b/RWT_Cache/Textures/20/mbs845359x437407.jpg new file mode 100644 index 000000000..fdd45678a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437408.jpg b/RWT_Cache/Textures/20/mbs845359x437408.jpg new file mode 100644 index 000000000..b87d698df Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437409.jpg b/RWT_Cache/Textures/20/mbs845359x437409.jpg new file mode 100644 index 000000000..70e3f5c56 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437410.jpg b/RWT_Cache/Textures/20/mbs845359x437410.jpg new file mode 100644 index 000000000..7cca6f729 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437411.jpg b/RWT_Cache/Textures/20/mbs845359x437411.jpg new file mode 100644 index 000000000..57541d023 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437412.jpg b/RWT_Cache/Textures/20/mbs845359x437412.jpg new file mode 100644 index 000000000..55de11c0a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437413.jpg b/RWT_Cache/Textures/20/mbs845359x437413.jpg new file mode 100644 index 000000000..b64de1cb9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437414.jpg b/RWT_Cache/Textures/20/mbs845359x437414.jpg new file mode 100644 index 000000000..0292a0b5e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437415.jpg b/RWT_Cache/Textures/20/mbs845359x437415.jpg new file mode 100644 index 000000000..d68f3568c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437416.jpg b/RWT_Cache/Textures/20/mbs845359x437416.jpg new file mode 100644 index 000000000..7f252a7d6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437417.jpg b/RWT_Cache/Textures/20/mbs845359x437417.jpg new file mode 100644 index 000000000..1bb1815a7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437418.jpg b/RWT_Cache/Textures/20/mbs845359x437418.jpg new file mode 100644 index 000000000..a92df30bb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437419.jpg b/RWT_Cache/Textures/20/mbs845359x437419.jpg new file mode 100644 index 000000000..e5f632cf9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437420.jpg b/RWT_Cache/Textures/20/mbs845359x437420.jpg new file mode 100644 index 000000000..579f02671 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437421.jpg b/RWT_Cache/Textures/20/mbs845359x437421.jpg new file mode 100644 index 000000000..64408a8a1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437422.jpg b/RWT_Cache/Textures/20/mbs845359x437422.jpg new file mode 100644 index 000000000..d7e87bbc8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437423.jpg b/RWT_Cache/Textures/20/mbs845359x437423.jpg new file mode 100644 index 000000000..51eb8bda6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437424.jpg b/RWT_Cache/Textures/20/mbs845359x437424.jpg new file mode 100644 index 000000000..de173fb1a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437425.jpg b/RWT_Cache/Textures/20/mbs845359x437425.jpg new file mode 100644 index 000000000..49606028c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437426.jpg b/RWT_Cache/Textures/20/mbs845359x437426.jpg new file mode 100644 index 000000000..91d5f3d66 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437427.jpg b/RWT_Cache/Textures/20/mbs845359x437427.jpg new file mode 100644 index 000000000..a4571e5f7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437428.jpg b/RWT_Cache/Textures/20/mbs845359x437428.jpg new file mode 100644 index 000000000..6a8e1ead7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437429.jpg b/RWT_Cache/Textures/20/mbs845359x437429.jpg new file mode 100644 index 000000000..26b9ba988 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437430.jpg b/RWT_Cache/Textures/20/mbs845359x437430.jpg new file mode 100644 index 000000000..cce79e2aa Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437431.jpg b/RWT_Cache/Textures/20/mbs845359x437431.jpg new file mode 100644 index 000000000..b4813e2c3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437432.jpg b/RWT_Cache/Textures/20/mbs845359x437432.jpg new file mode 100644 index 000000000..2b3e838b0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437433.jpg b/RWT_Cache/Textures/20/mbs845359x437433.jpg new file mode 100644 index 000000000..9f000c4be Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437434.jpg b/RWT_Cache/Textures/20/mbs845359x437434.jpg new file mode 100644 index 000000000..1fa684e20 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437435.jpg b/RWT_Cache/Textures/20/mbs845359x437435.jpg new file mode 100644 index 000000000..d38adb6cf Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437436.jpg b/RWT_Cache/Textures/20/mbs845359x437436.jpg new file mode 100644 index 000000000..d0b8323d5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437437.jpg b/RWT_Cache/Textures/20/mbs845359x437437.jpg new file mode 100644 index 000000000..e75ff054f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437438.jpg b/RWT_Cache/Textures/20/mbs845359x437438.jpg new file mode 100644 index 000000000..2f57a3f7d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437439.jpg b/RWT_Cache/Textures/20/mbs845359x437439.jpg new file mode 100644 index 000000000..9134ee1ce Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437440.jpg b/RWT_Cache/Textures/20/mbs845359x437440.jpg new file mode 100644 index 000000000..e43a9f192 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437441.jpg b/RWT_Cache/Textures/20/mbs845359x437441.jpg new file mode 100644 index 000000000..e5523fe6a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437442.jpg b/RWT_Cache/Textures/20/mbs845359x437442.jpg new file mode 100644 index 000000000..00b0b37ff Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437443.jpg b/RWT_Cache/Textures/20/mbs845359x437443.jpg new file mode 100644 index 000000000..3563ee87e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437444.jpg b/RWT_Cache/Textures/20/mbs845359x437444.jpg new file mode 100644 index 000000000..87e691d21 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437445.jpg b/RWT_Cache/Textures/20/mbs845359x437445.jpg new file mode 100644 index 000000000..1eaa6d550 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437446.jpg b/RWT_Cache/Textures/20/mbs845359x437446.jpg new file mode 100644 index 000000000..84a1908be Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845359x437447.jpg b/RWT_Cache/Textures/20/mbs845359x437447.jpg new file mode 100644 index 000000000..be7755def Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845359x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437391.jpg b/RWT_Cache/Textures/20/mbs845360x437391.jpg new file mode 100644 index 000000000..c07b0f97d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437392.jpg b/RWT_Cache/Textures/20/mbs845360x437392.jpg new file mode 100644 index 000000000..d71627de6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437393.jpg b/RWT_Cache/Textures/20/mbs845360x437393.jpg new file mode 100644 index 000000000..a61eda83d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437394.jpg b/RWT_Cache/Textures/20/mbs845360x437394.jpg new file mode 100644 index 000000000..d820a506d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437395.jpg b/RWT_Cache/Textures/20/mbs845360x437395.jpg new file mode 100644 index 000000000..b1c38abef Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437396.jpg b/RWT_Cache/Textures/20/mbs845360x437396.jpg new file mode 100644 index 000000000..670c1cf45 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437397.jpg b/RWT_Cache/Textures/20/mbs845360x437397.jpg new file mode 100644 index 000000000..97f668fd9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437398.jpg b/RWT_Cache/Textures/20/mbs845360x437398.jpg new file mode 100644 index 000000000..1266478de Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437399.jpg b/RWT_Cache/Textures/20/mbs845360x437399.jpg new file mode 100644 index 000000000..cacb808e0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437400.jpg b/RWT_Cache/Textures/20/mbs845360x437400.jpg new file mode 100644 index 000000000..927d73cc4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437401.jpg b/RWT_Cache/Textures/20/mbs845360x437401.jpg new file mode 100644 index 000000000..c2c0c0711 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437402.jpg b/RWT_Cache/Textures/20/mbs845360x437402.jpg new file mode 100644 index 000000000..a46c1ee78 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437403.jpg b/RWT_Cache/Textures/20/mbs845360x437403.jpg new file mode 100644 index 000000000..b12ea789b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437404.jpg b/RWT_Cache/Textures/20/mbs845360x437404.jpg new file mode 100644 index 000000000..1efba2234 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437405.jpg b/RWT_Cache/Textures/20/mbs845360x437405.jpg new file mode 100644 index 000000000..1fb6aa3df Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437406.jpg b/RWT_Cache/Textures/20/mbs845360x437406.jpg new file mode 100644 index 000000000..2513d0db2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437407.jpg b/RWT_Cache/Textures/20/mbs845360x437407.jpg new file mode 100644 index 000000000..8a7958c09 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437408.jpg b/RWT_Cache/Textures/20/mbs845360x437408.jpg new file mode 100644 index 000000000..65e13f6b2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437409.jpg b/RWT_Cache/Textures/20/mbs845360x437409.jpg new file mode 100644 index 000000000..5ab4a9c0c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437410.jpg b/RWT_Cache/Textures/20/mbs845360x437410.jpg new file mode 100644 index 000000000..095974ac6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437411.jpg b/RWT_Cache/Textures/20/mbs845360x437411.jpg new file mode 100644 index 000000000..31b2e5752 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437412.jpg b/RWT_Cache/Textures/20/mbs845360x437412.jpg new file mode 100644 index 000000000..1a30dd2b5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437413.jpg b/RWT_Cache/Textures/20/mbs845360x437413.jpg new file mode 100644 index 000000000..0a7a299a6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437414.jpg b/RWT_Cache/Textures/20/mbs845360x437414.jpg new file mode 100644 index 000000000..fc2d4603d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437415.jpg b/RWT_Cache/Textures/20/mbs845360x437415.jpg new file mode 100644 index 000000000..0d24cbbaa Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437416.jpg b/RWT_Cache/Textures/20/mbs845360x437416.jpg new file mode 100644 index 000000000..8d50830ee Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437417.jpg b/RWT_Cache/Textures/20/mbs845360x437417.jpg new file mode 100644 index 000000000..9330e4356 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437418.jpg b/RWT_Cache/Textures/20/mbs845360x437418.jpg new file mode 100644 index 000000000..20d31bfd5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437419.jpg b/RWT_Cache/Textures/20/mbs845360x437419.jpg new file mode 100644 index 000000000..253d31a57 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437420.jpg b/RWT_Cache/Textures/20/mbs845360x437420.jpg new file mode 100644 index 000000000..4bf49f0a5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437421.jpg b/RWT_Cache/Textures/20/mbs845360x437421.jpg new file mode 100644 index 000000000..aedab95b7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437422.jpg b/RWT_Cache/Textures/20/mbs845360x437422.jpg new file mode 100644 index 000000000..99739e904 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437423.jpg b/RWT_Cache/Textures/20/mbs845360x437423.jpg new file mode 100644 index 000000000..dc23d3fa8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437424.jpg b/RWT_Cache/Textures/20/mbs845360x437424.jpg new file mode 100644 index 000000000..589347985 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437425.jpg b/RWT_Cache/Textures/20/mbs845360x437425.jpg new file mode 100644 index 000000000..53d121fd1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437426.jpg b/RWT_Cache/Textures/20/mbs845360x437426.jpg new file mode 100644 index 000000000..afd625e8c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437427.jpg b/RWT_Cache/Textures/20/mbs845360x437427.jpg new file mode 100644 index 000000000..08d16e72e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437428.jpg b/RWT_Cache/Textures/20/mbs845360x437428.jpg new file mode 100644 index 000000000..0ddeaed86 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437429.jpg b/RWT_Cache/Textures/20/mbs845360x437429.jpg new file mode 100644 index 000000000..f37b9609b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437430.jpg b/RWT_Cache/Textures/20/mbs845360x437430.jpg new file mode 100644 index 000000000..8b6bbec7f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437431.jpg b/RWT_Cache/Textures/20/mbs845360x437431.jpg new file mode 100644 index 000000000..4ddedec3c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437432.jpg b/RWT_Cache/Textures/20/mbs845360x437432.jpg new file mode 100644 index 000000000..419b7889b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437433.jpg b/RWT_Cache/Textures/20/mbs845360x437433.jpg new file mode 100644 index 000000000..5523635ce Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437434.jpg b/RWT_Cache/Textures/20/mbs845360x437434.jpg new file mode 100644 index 000000000..9d4086436 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437435.jpg b/RWT_Cache/Textures/20/mbs845360x437435.jpg new file mode 100644 index 000000000..e95553281 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437436.jpg b/RWT_Cache/Textures/20/mbs845360x437436.jpg new file mode 100644 index 000000000..0e2d6c57d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437437.jpg b/RWT_Cache/Textures/20/mbs845360x437437.jpg new file mode 100644 index 000000000..756961e16 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437438.jpg b/RWT_Cache/Textures/20/mbs845360x437438.jpg new file mode 100644 index 000000000..7665cfa29 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437439.jpg b/RWT_Cache/Textures/20/mbs845360x437439.jpg new file mode 100644 index 000000000..270ce40b4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437440.jpg b/RWT_Cache/Textures/20/mbs845360x437440.jpg new file mode 100644 index 000000000..902254dbe Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437441.jpg b/RWT_Cache/Textures/20/mbs845360x437441.jpg new file mode 100644 index 000000000..d86b11a35 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437442.jpg b/RWT_Cache/Textures/20/mbs845360x437442.jpg new file mode 100644 index 000000000..a04b3d632 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437443.jpg b/RWT_Cache/Textures/20/mbs845360x437443.jpg new file mode 100644 index 000000000..7a9856214 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437444.jpg b/RWT_Cache/Textures/20/mbs845360x437444.jpg new file mode 100644 index 000000000..90715e18a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437445.jpg b/RWT_Cache/Textures/20/mbs845360x437445.jpg new file mode 100644 index 000000000..f32e3aa3d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437446.jpg b/RWT_Cache/Textures/20/mbs845360x437446.jpg new file mode 100644 index 000000000..0c771860e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845360x437447.jpg b/RWT_Cache/Textures/20/mbs845360x437447.jpg new file mode 100644 index 000000000..54b1016b5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845360x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437391.jpg b/RWT_Cache/Textures/20/mbs845361x437391.jpg new file mode 100644 index 000000000..d32730200 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437392.jpg b/RWT_Cache/Textures/20/mbs845361x437392.jpg new file mode 100644 index 000000000..71709aeb0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437393.jpg b/RWT_Cache/Textures/20/mbs845361x437393.jpg new file mode 100644 index 000000000..33779c8fc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437394.jpg b/RWT_Cache/Textures/20/mbs845361x437394.jpg new file mode 100644 index 000000000..81defbd45 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437395.jpg b/RWT_Cache/Textures/20/mbs845361x437395.jpg new file mode 100644 index 000000000..c1f348187 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437396.jpg b/RWT_Cache/Textures/20/mbs845361x437396.jpg new file mode 100644 index 000000000..47776a007 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437397.jpg b/RWT_Cache/Textures/20/mbs845361x437397.jpg new file mode 100644 index 000000000..dfe49e7b9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437398.jpg b/RWT_Cache/Textures/20/mbs845361x437398.jpg new file mode 100644 index 000000000..192db1eea Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437399.jpg b/RWT_Cache/Textures/20/mbs845361x437399.jpg new file mode 100644 index 000000000..7e13340bc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437400.jpg b/RWT_Cache/Textures/20/mbs845361x437400.jpg new file mode 100644 index 000000000..b0f6e44ac Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437401.jpg b/RWT_Cache/Textures/20/mbs845361x437401.jpg new file mode 100644 index 000000000..1c3063178 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437402.jpg b/RWT_Cache/Textures/20/mbs845361x437402.jpg new file mode 100644 index 000000000..12d3b6980 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437403.jpg b/RWT_Cache/Textures/20/mbs845361x437403.jpg new file mode 100644 index 000000000..b7cda919a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437404.jpg b/RWT_Cache/Textures/20/mbs845361x437404.jpg new file mode 100644 index 000000000..3733d4154 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437405.jpg b/RWT_Cache/Textures/20/mbs845361x437405.jpg new file mode 100644 index 000000000..0e9d70cfa Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437406.jpg b/RWT_Cache/Textures/20/mbs845361x437406.jpg new file mode 100644 index 000000000..69ea294cc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437407.jpg b/RWT_Cache/Textures/20/mbs845361x437407.jpg new file mode 100644 index 000000000..c3f1c2cd8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437408.jpg b/RWT_Cache/Textures/20/mbs845361x437408.jpg new file mode 100644 index 000000000..3fbdd3f8e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437409.jpg b/RWT_Cache/Textures/20/mbs845361x437409.jpg new file mode 100644 index 000000000..ad68495aa Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437410.jpg b/RWT_Cache/Textures/20/mbs845361x437410.jpg new file mode 100644 index 000000000..4fdf06493 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437411.jpg b/RWT_Cache/Textures/20/mbs845361x437411.jpg new file mode 100644 index 000000000..36c1dfed5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437412.jpg b/RWT_Cache/Textures/20/mbs845361x437412.jpg new file mode 100644 index 000000000..eb03769e2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437413.jpg b/RWT_Cache/Textures/20/mbs845361x437413.jpg new file mode 100644 index 000000000..a39b830f9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437414.jpg b/RWT_Cache/Textures/20/mbs845361x437414.jpg new file mode 100644 index 000000000..82c26d70e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437415.jpg b/RWT_Cache/Textures/20/mbs845361x437415.jpg new file mode 100644 index 000000000..61a02e565 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437416.jpg b/RWT_Cache/Textures/20/mbs845361x437416.jpg new file mode 100644 index 000000000..dc20e5e08 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437417.jpg b/RWT_Cache/Textures/20/mbs845361x437417.jpg new file mode 100644 index 000000000..a97f50cb1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437418.jpg b/RWT_Cache/Textures/20/mbs845361x437418.jpg new file mode 100644 index 000000000..a9a2796cb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437419.jpg b/RWT_Cache/Textures/20/mbs845361x437419.jpg new file mode 100644 index 000000000..7a7619296 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437420.jpg b/RWT_Cache/Textures/20/mbs845361x437420.jpg new file mode 100644 index 000000000..ba2738e5d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437421.jpg b/RWT_Cache/Textures/20/mbs845361x437421.jpg new file mode 100644 index 000000000..71750e106 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437422.jpg b/RWT_Cache/Textures/20/mbs845361x437422.jpg new file mode 100644 index 000000000..579e1579b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437423.jpg b/RWT_Cache/Textures/20/mbs845361x437423.jpg new file mode 100644 index 000000000..43bb5a510 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437424.jpg b/RWT_Cache/Textures/20/mbs845361x437424.jpg new file mode 100644 index 000000000..bae910cf0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437425.jpg b/RWT_Cache/Textures/20/mbs845361x437425.jpg new file mode 100644 index 000000000..52e2b230b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437426.jpg b/RWT_Cache/Textures/20/mbs845361x437426.jpg new file mode 100644 index 000000000..61cb52654 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437427.jpg b/RWT_Cache/Textures/20/mbs845361x437427.jpg new file mode 100644 index 000000000..c8bfd9bb2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437428.jpg b/RWT_Cache/Textures/20/mbs845361x437428.jpg new file mode 100644 index 000000000..a10c0e2bb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437429.jpg b/RWT_Cache/Textures/20/mbs845361x437429.jpg new file mode 100644 index 000000000..849f9fa25 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437430.jpg b/RWT_Cache/Textures/20/mbs845361x437430.jpg new file mode 100644 index 000000000..c58cae6fc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437431.jpg b/RWT_Cache/Textures/20/mbs845361x437431.jpg new file mode 100644 index 000000000..6173b44b2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437432.jpg b/RWT_Cache/Textures/20/mbs845361x437432.jpg new file mode 100644 index 000000000..fe975da83 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437433.jpg b/RWT_Cache/Textures/20/mbs845361x437433.jpg new file mode 100644 index 000000000..601bad7ec Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437434.jpg b/RWT_Cache/Textures/20/mbs845361x437434.jpg new file mode 100644 index 000000000..a432a168f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437435.jpg b/RWT_Cache/Textures/20/mbs845361x437435.jpg new file mode 100644 index 000000000..21d4add5f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437436.jpg b/RWT_Cache/Textures/20/mbs845361x437436.jpg new file mode 100644 index 000000000..f7ff034f2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437437.jpg b/RWT_Cache/Textures/20/mbs845361x437437.jpg new file mode 100644 index 000000000..d7ed8bfb8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437438.jpg b/RWT_Cache/Textures/20/mbs845361x437438.jpg new file mode 100644 index 000000000..fc7cabe26 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437439.jpg b/RWT_Cache/Textures/20/mbs845361x437439.jpg new file mode 100644 index 000000000..d5a94a34e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437440.jpg b/RWT_Cache/Textures/20/mbs845361x437440.jpg new file mode 100644 index 000000000..51818c20e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437441.jpg b/RWT_Cache/Textures/20/mbs845361x437441.jpg new file mode 100644 index 000000000..044c30ffd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437442.jpg b/RWT_Cache/Textures/20/mbs845361x437442.jpg new file mode 100644 index 000000000..c328583fe Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437443.jpg b/RWT_Cache/Textures/20/mbs845361x437443.jpg new file mode 100644 index 000000000..990b6bee5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437444.jpg b/RWT_Cache/Textures/20/mbs845361x437444.jpg new file mode 100644 index 000000000..927bc85c6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437445.jpg b/RWT_Cache/Textures/20/mbs845361x437445.jpg new file mode 100644 index 000000000..f3626d97b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437446.jpg b/RWT_Cache/Textures/20/mbs845361x437446.jpg new file mode 100644 index 000000000..ed0843745 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845361x437447.jpg b/RWT_Cache/Textures/20/mbs845361x437447.jpg new file mode 100644 index 000000000..19aa0d576 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845361x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437391.jpg b/RWT_Cache/Textures/20/mbs845362x437391.jpg new file mode 100644 index 000000000..d7a8b7364 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437392.jpg b/RWT_Cache/Textures/20/mbs845362x437392.jpg new file mode 100644 index 000000000..6c0d65b53 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437393.jpg b/RWT_Cache/Textures/20/mbs845362x437393.jpg new file mode 100644 index 000000000..0327bcef9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437394.jpg b/RWT_Cache/Textures/20/mbs845362x437394.jpg new file mode 100644 index 000000000..a42611b12 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437395.jpg b/RWT_Cache/Textures/20/mbs845362x437395.jpg new file mode 100644 index 000000000..a4f576624 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437396.jpg b/RWT_Cache/Textures/20/mbs845362x437396.jpg new file mode 100644 index 000000000..8d593ff6f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437397.jpg b/RWT_Cache/Textures/20/mbs845362x437397.jpg new file mode 100644 index 000000000..0c2d14092 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437398.jpg b/RWT_Cache/Textures/20/mbs845362x437398.jpg new file mode 100644 index 000000000..c3e47e6a9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437399.jpg b/RWT_Cache/Textures/20/mbs845362x437399.jpg new file mode 100644 index 000000000..ab7c66e91 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437400.jpg b/RWT_Cache/Textures/20/mbs845362x437400.jpg new file mode 100644 index 000000000..8a7b59e57 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437401.jpg b/RWT_Cache/Textures/20/mbs845362x437401.jpg new file mode 100644 index 000000000..c1b081427 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437402.jpg b/RWT_Cache/Textures/20/mbs845362x437402.jpg new file mode 100644 index 000000000..49368a973 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437403.jpg b/RWT_Cache/Textures/20/mbs845362x437403.jpg new file mode 100644 index 000000000..6cc6dda39 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437404.jpg b/RWT_Cache/Textures/20/mbs845362x437404.jpg new file mode 100644 index 000000000..a860d3fb2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437405.jpg b/RWT_Cache/Textures/20/mbs845362x437405.jpg new file mode 100644 index 000000000..a9c5bda8b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437406.jpg b/RWT_Cache/Textures/20/mbs845362x437406.jpg new file mode 100644 index 000000000..784320dbe Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437407.jpg b/RWT_Cache/Textures/20/mbs845362x437407.jpg new file mode 100644 index 000000000..b64cd9bf3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437408.jpg b/RWT_Cache/Textures/20/mbs845362x437408.jpg new file mode 100644 index 000000000..f4834ae79 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437409.jpg b/RWT_Cache/Textures/20/mbs845362x437409.jpg new file mode 100644 index 000000000..19b783b98 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437410.jpg b/RWT_Cache/Textures/20/mbs845362x437410.jpg new file mode 100644 index 000000000..16ff5203d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437411.jpg b/RWT_Cache/Textures/20/mbs845362x437411.jpg new file mode 100644 index 000000000..b8e567ed1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437412.jpg b/RWT_Cache/Textures/20/mbs845362x437412.jpg new file mode 100644 index 000000000..bda1e3dfd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437413.jpg b/RWT_Cache/Textures/20/mbs845362x437413.jpg new file mode 100644 index 000000000..2b6611b42 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437414.jpg b/RWT_Cache/Textures/20/mbs845362x437414.jpg new file mode 100644 index 000000000..3da494be2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437415.jpg b/RWT_Cache/Textures/20/mbs845362x437415.jpg new file mode 100644 index 000000000..ca1b02fac Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437416.jpg b/RWT_Cache/Textures/20/mbs845362x437416.jpg new file mode 100644 index 000000000..fbbdadcd2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437417.jpg b/RWT_Cache/Textures/20/mbs845362x437417.jpg new file mode 100644 index 000000000..3939ac0a4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437418.jpg b/RWT_Cache/Textures/20/mbs845362x437418.jpg new file mode 100644 index 000000000..41987103d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437419.jpg b/RWT_Cache/Textures/20/mbs845362x437419.jpg new file mode 100644 index 000000000..7c038bb18 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437420.jpg b/RWT_Cache/Textures/20/mbs845362x437420.jpg new file mode 100644 index 000000000..bf5910146 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437421.jpg b/RWT_Cache/Textures/20/mbs845362x437421.jpg new file mode 100644 index 000000000..03fdd2765 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437422.jpg b/RWT_Cache/Textures/20/mbs845362x437422.jpg new file mode 100644 index 000000000..b89b3921b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437423.jpg b/RWT_Cache/Textures/20/mbs845362x437423.jpg new file mode 100644 index 000000000..56a0b8f91 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437424.jpg b/RWT_Cache/Textures/20/mbs845362x437424.jpg new file mode 100644 index 000000000..7fc22db0b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437425.jpg b/RWT_Cache/Textures/20/mbs845362x437425.jpg new file mode 100644 index 000000000..30f074f01 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437426.jpg b/RWT_Cache/Textures/20/mbs845362x437426.jpg new file mode 100644 index 000000000..1b38db0f2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437427.jpg b/RWT_Cache/Textures/20/mbs845362x437427.jpg new file mode 100644 index 000000000..1a3d07471 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437428.jpg b/RWT_Cache/Textures/20/mbs845362x437428.jpg new file mode 100644 index 000000000..3d0c254d6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437429.jpg b/RWT_Cache/Textures/20/mbs845362x437429.jpg new file mode 100644 index 000000000..d17647bbe Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437430.jpg b/RWT_Cache/Textures/20/mbs845362x437430.jpg new file mode 100644 index 000000000..361549abb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437431.jpg b/RWT_Cache/Textures/20/mbs845362x437431.jpg new file mode 100644 index 000000000..d5d763dcf Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437432.jpg b/RWT_Cache/Textures/20/mbs845362x437432.jpg new file mode 100644 index 000000000..ab900e6b8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437433.jpg b/RWT_Cache/Textures/20/mbs845362x437433.jpg new file mode 100644 index 000000000..3b721d188 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437434.jpg b/RWT_Cache/Textures/20/mbs845362x437434.jpg new file mode 100644 index 000000000..d469c432b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437435.jpg b/RWT_Cache/Textures/20/mbs845362x437435.jpg new file mode 100644 index 000000000..afecd7e8c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437436.jpg b/RWT_Cache/Textures/20/mbs845362x437436.jpg new file mode 100644 index 000000000..b9e6e9e0a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437437.jpg b/RWT_Cache/Textures/20/mbs845362x437437.jpg new file mode 100644 index 000000000..ae2e17ae2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437438.jpg b/RWT_Cache/Textures/20/mbs845362x437438.jpg new file mode 100644 index 000000000..c45405627 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437439.jpg b/RWT_Cache/Textures/20/mbs845362x437439.jpg new file mode 100644 index 000000000..2e8259635 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437440.jpg b/RWT_Cache/Textures/20/mbs845362x437440.jpg new file mode 100644 index 000000000..b9a9d5bba Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437441.jpg b/RWT_Cache/Textures/20/mbs845362x437441.jpg new file mode 100644 index 000000000..ba7a42aeb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437442.jpg b/RWT_Cache/Textures/20/mbs845362x437442.jpg new file mode 100644 index 000000000..7a97642e4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437443.jpg b/RWT_Cache/Textures/20/mbs845362x437443.jpg new file mode 100644 index 000000000..dd5f00e9e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437444.jpg b/RWT_Cache/Textures/20/mbs845362x437444.jpg new file mode 100644 index 000000000..d5fd0141b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437445.jpg b/RWT_Cache/Textures/20/mbs845362x437445.jpg new file mode 100644 index 000000000..666e16dde Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437446.jpg b/RWT_Cache/Textures/20/mbs845362x437446.jpg new file mode 100644 index 000000000..acc1c94b7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845362x437447.jpg b/RWT_Cache/Textures/20/mbs845362x437447.jpg new file mode 100644 index 000000000..e4f0d0e8c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845362x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437391.jpg b/RWT_Cache/Textures/20/mbs845363x437391.jpg new file mode 100644 index 000000000..18a36b54b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437392.jpg b/RWT_Cache/Textures/20/mbs845363x437392.jpg new file mode 100644 index 000000000..b9b65d5cb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437393.jpg b/RWT_Cache/Textures/20/mbs845363x437393.jpg new file mode 100644 index 000000000..1ee319def Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437394.jpg b/RWT_Cache/Textures/20/mbs845363x437394.jpg new file mode 100644 index 000000000..7a0496b95 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437395.jpg b/RWT_Cache/Textures/20/mbs845363x437395.jpg new file mode 100644 index 000000000..eaaf6276b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437396.jpg b/RWT_Cache/Textures/20/mbs845363x437396.jpg new file mode 100644 index 000000000..aa72f4e2c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437397.jpg b/RWT_Cache/Textures/20/mbs845363x437397.jpg new file mode 100644 index 000000000..5ae355638 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437398.jpg b/RWT_Cache/Textures/20/mbs845363x437398.jpg new file mode 100644 index 000000000..3dff597a4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437399.jpg b/RWT_Cache/Textures/20/mbs845363x437399.jpg new file mode 100644 index 000000000..362619013 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437400.jpg b/RWT_Cache/Textures/20/mbs845363x437400.jpg new file mode 100644 index 000000000..8dbb91034 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437401.jpg b/RWT_Cache/Textures/20/mbs845363x437401.jpg new file mode 100644 index 000000000..02862d43b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437402.jpg b/RWT_Cache/Textures/20/mbs845363x437402.jpg new file mode 100644 index 000000000..b8dc1b618 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437403.jpg b/RWT_Cache/Textures/20/mbs845363x437403.jpg new file mode 100644 index 000000000..516a32ee9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437404.jpg b/RWT_Cache/Textures/20/mbs845363x437404.jpg new file mode 100644 index 000000000..a860d3fb2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437405.jpg b/RWT_Cache/Textures/20/mbs845363x437405.jpg new file mode 100644 index 000000000..a860d3fb2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437406.jpg b/RWT_Cache/Textures/20/mbs845363x437406.jpg new file mode 100644 index 000000000..a860d3fb2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437407.jpg b/RWT_Cache/Textures/20/mbs845363x437407.jpg new file mode 100644 index 000000000..0a1f3910e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437408.jpg b/RWT_Cache/Textures/20/mbs845363x437408.jpg new file mode 100644 index 000000000..a3ff3133e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437409.jpg b/RWT_Cache/Textures/20/mbs845363x437409.jpg new file mode 100644 index 000000000..a7a21cebb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437410.jpg b/RWT_Cache/Textures/20/mbs845363x437410.jpg new file mode 100644 index 000000000..96100aa31 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437411.jpg b/RWT_Cache/Textures/20/mbs845363x437411.jpg new file mode 100644 index 000000000..dab7a387c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437412.jpg b/RWT_Cache/Textures/20/mbs845363x437412.jpg new file mode 100644 index 000000000..8383bf721 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437413.jpg b/RWT_Cache/Textures/20/mbs845363x437413.jpg new file mode 100644 index 000000000..650a43dce Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437414.jpg b/RWT_Cache/Textures/20/mbs845363x437414.jpg new file mode 100644 index 000000000..97564fa05 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437415.jpg b/RWT_Cache/Textures/20/mbs845363x437415.jpg new file mode 100644 index 000000000..ca35bb906 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437416.jpg b/RWT_Cache/Textures/20/mbs845363x437416.jpg new file mode 100644 index 000000000..95ad67ba2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437417.jpg b/RWT_Cache/Textures/20/mbs845363x437417.jpg new file mode 100644 index 000000000..a860d3fb2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437418.jpg b/RWT_Cache/Textures/20/mbs845363x437418.jpg new file mode 100644 index 000000000..a458d90e1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437419.jpg b/RWT_Cache/Textures/20/mbs845363x437419.jpg new file mode 100644 index 000000000..6c9ffd69d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437420.jpg b/RWT_Cache/Textures/20/mbs845363x437420.jpg new file mode 100644 index 000000000..673df1329 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437421.jpg b/RWT_Cache/Textures/20/mbs845363x437421.jpg new file mode 100644 index 000000000..8ee67476d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437422.jpg b/RWT_Cache/Textures/20/mbs845363x437422.jpg new file mode 100644 index 000000000..f963daa07 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437423.jpg b/RWT_Cache/Textures/20/mbs845363x437423.jpg new file mode 100644 index 000000000..98b8afeb0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437424.jpg b/RWT_Cache/Textures/20/mbs845363x437424.jpg new file mode 100644 index 000000000..08e2556df Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437425.jpg b/RWT_Cache/Textures/20/mbs845363x437425.jpg new file mode 100644 index 000000000..c0aa6b141 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437426.jpg b/RWT_Cache/Textures/20/mbs845363x437426.jpg new file mode 100644 index 000000000..a8b6e14d6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437427.jpg b/RWT_Cache/Textures/20/mbs845363x437427.jpg new file mode 100644 index 000000000..3a0b5888d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437428.jpg b/RWT_Cache/Textures/20/mbs845363x437428.jpg new file mode 100644 index 000000000..0c1bb6b0d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437429.jpg b/RWT_Cache/Textures/20/mbs845363x437429.jpg new file mode 100644 index 000000000..886ed3ec5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437430.jpg b/RWT_Cache/Textures/20/mbs845363x437430.jpg new file mode 100644 index 000000000..999a19dc5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437431.jpg b/RWT_Cache/Textures/20/mbs845363x437431.jpg new file mode 100644 index 000000000..a209edd4e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437432.jpg b/RWT_Cache/Textures/20/mbs845363x437432.jpg new file mode 100644 index 000000000..458a63947 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437433.jpg b/RWT_Cache/Textures/20/mbs845363x437433.jpg new file mode 100644 index 000000000..89631ddef Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437434.jpg b/RWT_Cache/Textures/20/mbs845363x437434.jpg new file mode 100644 index 000000000..e5a690d50 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437435.jpg b/RWT_Cache/Textures/20/mbs845363x437435.jpg new file mode 100644 index 000000000..fff960b7b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437436.jpg b/RWT_Cache/Textures/20/mbs845363x437436.jpg new file mode 100644 index 000000000..bf41a8821 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437437.jpg b/RWT_Cache/Textures/20/mbs845363x437437.jpg new file mode 100644 index 000000000..5006bc6c7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437438.jpg b/RWT_Cache/Textures/20/mbs845363x437438.jpg new file mode 100644 index 000000000..20b83920d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437439.jpg b/RWT_Cache/Textures/20/mbs845363x437439.jpg new file mode 100644 index 000000000..3b0bf6f56 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437440.jpg b/RWT_Cache/Textures/20/mbs845363x437440.jpg new file mode 100644 index 000000000..c9eca75dc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437441.jpg b/RWT_Cache/Textures/20/mbs845363x437441.jpg new file mode 100644 index 000000000..045d43e31 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437442.jpg b/RWT_Cache/Textures/20/mbs845363x437442.jpg new file mode 100644 index 000000000..792223e04 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437443.jpg b/RWT_Cache/Textures/20/mbs845363x437443.jpg new file mode 100644 index 000000000..2cdaefcc8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437444.jpg b/RWT_Cache/Textures/20/mbs845363x437444.jpg new file mode 100644 index 000000000..c5aff9cdc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437445.jpg b/RWT_Cache/Textures/20/mbs845363x437445.jpg new file mode 100644 index 000000000..6d2fb72ab Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437446.jpg b/RWT_Cache/Textures/20/mbs845363x437446.jpg new file mode 100644 index 000000000..3881f88a6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845363x437447.jpg b/RWT_Cache/Textures/20/mbs845363x437447.jpg new file mode 100644 index 000000000..a7e1a09b0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845363x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437391.jpg b/RWT_Cache/Textures/20/mbs845364x437391.jpg new file mode 100644 index 000000000..2092371b2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437392.jpg b/RWT_Cache/Textures/20/mbs845364x437392.jpg new file mode 100644 index 000000000..42617b40b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437393.jpg b/RWT_Cache/Textures/20/mbs845364x437393.jpg new file mode 100644 index 000000000..de419d41b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437394.jpg b/RWT_Cache/Textures/20/mbs845364x437394.jpg new file mode 100644 index 000000000..9e7a3a9d1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437395.jpg b/RWT_Cache/Textures/20/mbs845364x437395.jpg new file mode 100644 index 000000000..4a78f7acb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437396.jpg b/RWT_Cache/Textures/20/mbs845364x437396.jpg new file mode 100644 index 000000000..80bdedbc6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437397.jpg b/RWT_Cache/Textures/20/mbs845364x437397.jpg new file mode 100644 index 000000000..9137998b6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437398.jpg b/RWT_Cache/Textures/20/mbs845364x437398.jpg new file mode 100644 index 000000000..b2a3d4269 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437399.jpg b/RWT_Cache/Textures/20/mbs845364x437399.jpg new file mode 100644 index 000000000..bf1a4a31d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437400.jpg b/RWT_Cache/Textures/20/mbs845364x437400.jpg new file mode 100644 index 000000000..e1acc2ac4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437401.jpg b/RWT_Cache/Textures/20/mbs845364x437401.jpg new file mode 100644 index 000000000..3e1c9f51c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437402.jpg b/RWT_Cache/Textures/20/mbs845364x437402.jpg new file mode 100644 index 000000000..61ed845e7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437403.jpg b/RWT_Cache/Textures/20/mbs845364x437403.jpg new file mode 100644 index 000000000..ebabbee1d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437404.jpg b/RWT_Cache/Textures/20/mbs845364x437404.jpg new file mode 100644 index 000000000..a860d3fb2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437405.jpg b/RWT_Cache/Textures/20/mbs845364x437405.jpg new file mode 100644 index 000000000..a860d3fb2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437406.jpg b/RWT_Cache/Textures/20/mbs845364x437406.jpg new file mode 100644 index 000000000..a860d3fb2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437407.jpg b/RWT_Cache/Textures/20/mbs845364x437407.jpg new file mode 100644 index 000000000..c5b9cbf47 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437408.jpg b/RWT_Cache/Textures/20/mbs845364x437408.jpg new file mode 100644 index 000000000..89a6e4b04 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437409.jpg b/RWT_Cache/Textures/20/mbs845364x437409.jpg new file mode 100644 index 000000000..67b31c006 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437410.jpg b/RWT_Cache/Textures/20/mbs845364x437410.jpg new file mode 100644 index 000000000..a352b43c8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437411.jpg b/RWT_Cache/Textures/20/mbs845364x437411.jpg new file mode 100644 index 000000000..1a3408bc7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437412.jpg b/RWT_Cache/Textures/20/mbs845364x437412.jpg new file mode 100644 index 000000000..6cbe1f53f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437413.jpg b/RWT_Cache/Textures/20/mbs845364x437413.jpg new file mode 100644 index 000000000..414152b65 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437414.jpg b/RWT_Cache/Textures/20/mbs845364x437414.jpg new file mode 100644 index 000000000..3aed5dd39 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437415.jpg b/RWT_Cache/Textures/20/mbs845364x437415.jpg new file mode 100644 index 000000000..dcac4d2e3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437416.jpg b/RWT_Cache/Textures/20/mbs845364x437416.jpg new file mode 100644 index 000000000..0a18b9ddb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437417.jpg b/RWT_Cache/Textures/20/mbs845364x437417.jpg new file mode 100644 index 000000000..1940d614a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437418.jpg b/RWT_Cache/Textures/20/mbs845364x437418.jpg new file mode 100644 index 000000000..7c5ec4e74 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437419.jpg b/RWT_Cache/Textures/20/mbs845364x437419.jpg new file mode 100644 index 000000000..51a0f9fc1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437420.jpg b/RWT_Cache/Textures/20/mbs845364x437420.jpg new file mode 100644 index 000000000..e64ddf3e7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437421.jpg b/RWT_Cache/Textures/20/mbs845364x437421.jpg new file mode 100644 index 000000000..8893670ae Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437422.jpg b/RWT_Cache/Textures/20/mbs845364x437422.jpg new file mode 100644 index 000000000..46d632458 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437423.jpg b/RWT_Cache/Textures/20/mbs845364x437423.jpg new file mode 100644 index 000000000..3c635b364 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437424.jpg b/RWT_Cache/Textures/20/mbs845364x437424.jpg new file mode 100644 index 000000000..3cb5887a7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437425.jpg b/RWT_Cache/Textures/20/mbs845364x437425.jpg new file mode 100644 index 000000000..f497d9a5a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437426.jpg b/RWT_Cache/Textures/20/mbs845364x437426.jpg new file mode 100644 index 000000000..b3327e132 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437427.jpg b/RWT_Cache/Textures/20/mbs845364x437427.jpg new file mode 100644 index 000000000..f9e6f789b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437428.jpg b/RWT_Cache/Textures/20/mbs845364x437428.jpg new file mode 100644 index 000000000..d175531a7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437429.jpg b/RWT_Cache/Textures/20/mbs845364x437429.jpg new file mode 100644 index 000000000..c9db57675 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437430.jpg b/RWT_Cache/Textures/20/mbs845364x437430.jpg new file mode 100644 index 000000000..b73af1241 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437431.jpg b/RWT_Cache/Textures/20/mbs845364x437431.jpg new file mode 100644 index 000000000..c50a156c8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437432.jpg b/RWT_Cache/Textures/20/mbs845364x437432.jpg new file mode 100644 index 000000000..d3883e40e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437433.jpg b/RWT_Cache/Textures/20/mbs845364x437433.jpg new file mode 100644 index 000000000..a899322d3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437434.jpg b/RWT_Cache/Textures/20/mbs845364x437434.jpg new file mode 100644 index 000000000..5da15c381 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437435.jpg b/RWT_Cache/Textures/20/mbs845364x437435.jpg new file mode 100644 index 000000000..6e844b460 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437436.jpg b/RWT_Cache/Textures/20/mbs845364x437436.jpg new file mode 100644 index 000000000..428e2a7f4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437437.jpg b/RWT_Cache/Textures/20/mbs845364x437437.jpg new file mode 100644 index 000000000..dbd5508d0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437438.jpg b/RWT_Cache/Textures/20/mbs845364x437438.jpg new file mode 100644 index 000000000..e85571d7f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437439.jpg b/RWT_Cache/Textures/20/mbs845364x437439.jpg new file mode 100644 index 000000000..e7315d83c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437440.jpg b/RWT_Cache/Textures/20/mbs845364x437440.jpg new file mode 100644 index 000000000..d7226864f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437441.jpg b/RWT_Cache/Textures/20/mbs845364x437441.jpg new file mode 100644 index 000000000..493ad5878 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437442.jpg b/RWT_Cache/Textures/20/mbs845364x437442.jpg new file mode 100644 index 000000000..df6edcd4f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437443.jpg b/RWT_Cache/Textures/20/mbs845364x437443.jpg new file mode 100644 index 000000000..9ab162bf8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437444.jpg b/RWT_Cache/Textures/20/mbs845364x437444.jpg new file mode 100644 index 000000000..67c9112da Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437445.jpg b/RWT_Cache/Textures/20/mbs845364x437445.jpg new file mode 100644 index 000000000..498821c05 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437446.jpg b/RWT_Cache/Textures/20/mbs845364x437446.jpg new file mode 100644 index 000000000..ec68f0a5e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845364x437447.jpg b/RWT_Cache/Textures/20/mbs845364x437447.jpg new file mode 100644 index 000000000..c1137ba72 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845364x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437391.jpg b/RWT_Cache/Textures/20/mbs845365x437391.jpg new file mode 100644 index 000000000..8a7cb9bef Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437392.jpg b/RWT_Cache/Textures/20/mbs845365x437392.jpg new file mode 100644 index 000000000..8e8c9ed04 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437393.jpg b/RWT_Cache/Textures/20/mbs845365x437393.jpg new file mode 100644 index 000000000..396cd9643 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437394.jpg b/RWT_Cache/Textures/20/mbs845365x437394.jpg new file mode 100644 index 000000000..1cf4eae77 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437395.jpg b/RWT_Cache/Textures/20/mbs845365x437395.jpg new file mode 100644 index 000000000..ee1557d29 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437396.jpg b/RWT_Cache/Textures/20/mbs845365x437396.jpg new file mode 100644 index 000000000..b71b40809 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437397.jpg b/RWT_Cache/Textures/20/mbs845365x437397.jpg new file mode 100644 index 000000000..f655c0604 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437398.jpg b/RWT_Cache/Textures/20/mbs845365x437398.jpg new file mode 100644 index 000000000..c973435b4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437399.jpg b/RWT_Cache/Textures/20/mbs845365x437399.jpg new file mode 100644 index 000000000..6ef61c746 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437400.jpg b/RWT_Cache/Textures/20/mbs845365x437400.jpg new file mode 100644 index 000000000..714c28225 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437401.jpg b/RWT_Cache/Textures/20/mbs845365x437401.jpg new file mode 100644 index 000000000..056fa21d2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437402.jpg b/RWT_Cache/Textures/20/mbs845365x437402.jpg new file mode 100644 index 000000000..1198f6ff8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437403.jpg b/RWT_Cache/Textures/20/mbs845365x437403.jpg new file mode 100644 index 000000000..4b8a1e66c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437404.jpg b/RWT_Cache/Textures/20/mbs845365x437404.jpg new file mode 100644 index 000000000..c980e250b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437405.jpg b/RWT_Cache/Textures/20/mbs845365x437405.jpg new file mode 100644 index 000000000..487c65d8a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437406.jpg b/RWT_Cache/Textures/20/mbs845365x437406.jpg new file mode 100644 index 000000000..a860d3fb2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437407.jpg b/RWT_Cache/Textures/20/mbs845365x437407.jpg new file mode 100644 index 000000000..a860d3fb2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437408.jpg b/RWT_Cache/Textures/20/mbs845365x437408.jpg new file mode 100644 index 000000000..64df07f66 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437409.jpg b/RWT_Cache/Textures/20/mbs845365x437409.jpg new file mode 100644 index 000000000..8c374e1b5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437410.jpg b/RWT_Cache/Textures/20/mbs845365x437410.jpg new file mode 100644 index 000000000..01eb3bb25 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437411.jpg b/RWT_Cache/Textures/20/mbs845365x437411.jpg new file mode 100644 index 000000000..1c98363ea Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437412.jpg b/RWT_Cache/Textures/20/mbs845365x437412.jpg new file mode 100644 index 000000000..89f09a016 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437413.jpg b/RWT_Cache/Textures/20/mbs845365x437413.jpg new file mode 100644 index 000000000..bdf5e39df Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437414.jpg b/RWT_Cache/Textures/20/mbs845365x437414.jpg new file mode 100644 index 000000000..75f74304f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437415.jpg b/RWT_Cache/Textures/20/mbs845365x437415.jpg new file mode 100644 index 000000000..1dd6751f9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437416.jpg b/RWT_Cache/Textures/20/mbs845365x437416.jpg new file mode 100644 index 000000000..28362633f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437417.jpg b/RWT_Cache/Textures/20/mbs845365x437417.jpg new file mode 100644 index 000000000..adf709781 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437418.jpg b/RWT_Cache/Textures/20/mbs845365x437418.jpg new file mode 100644 index 000000000..43504835f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437419.jpg b/RWT_Cache/Textures/20/mbs845365x437419.jpg new file mode 100644 index 000000000..2b6f061cd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437420.jpg b/RWT_Cache/Textures/20/mbs845365x437420.jpg new file mode 100644 index 000000000..402b870bf Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437421.jpg b/RWT_Cache/Textures/20/mbs845365x437421.jpg new file mode 100644 index 000000000..6dae5f1fa Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437422.jpg b/RWT_Cache/Textures/20/mbs845365x437422.jpg new file mode 100644 index 000000000..bde68509e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437423.jpg b/RWT_Cache/Textures/20/mbs845365x437423.jpg new file mode 100644 index 000000000..0c0338ff6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437424.jpg b/RWT_Cache/Textures/20/mbs845365x437424.jpg new file mode 100644 index 000000000..1d0fa5c2e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437425.jpg b/RWT_Cache/Textures/20/mbs845365x437425.jpg new file mode 100644 index 000000000..71e16bdf9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437426.jpg b/RWT_Cache/Textures/20/mbs845365x437426.jpg new file mode 100644 index 000000000..0656a5388 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437427.jpg b/RWT_Cache/Textures/20/mbs845365x437427.jpg new file mode 100644 index 000000000..77742fa7f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437428.jpg b/RWT_Cache/Textures/20/mbs845365x437428.jpg new file mode 100644 index 000000000..f370ca0b7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437429.jpg b/RWT_Cache/Textures/20/mbs845365x437429.jpg new file mode 100644 index 000000000..36b594112 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437430.jpg b/RWT_Cache/Textures/20/mbs845365x437430.jpg new file mode 100644 index 000000000..822df9009 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437431.jpg b/RWT_Cache/Textures/20/mbs845365x437431.jpg new file mode 100644 index 000000000..519fd6211 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437432.jpg b/RWT_Cache/Textures/20/mbs845365x437432.jpg new file mode 100644 index 000000000..9a57565de Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437433.jpg b/RWT_Cache/Textures/20/mbs845365x437433.jpg new file mode 100644 index 000000000..6182db11d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437434.jpg b/RWT_Cache/Textures/20/mbs845365x437434.jpg new file mode 100644 index 000000000..eb63019fd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437435.jpg b/RWT_Cache/Textures/20/mbs845365x437435.jpg new file mode 100644 index 000000000..3be02e615 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437436.jpg b/RWT_Cache/Textures/20/mbs845365x437436.jpg new file mode 100644 index 000000000..d3becc564 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437437.jpg b/RWT_Cache/Textures/20/mbs845365x437437.jpg new file mode 100644 index 000000000..c4a955982 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437438.jpg b/RWT_Cache/Textures/20/mbs845365x437438.jpg new file mode 100644 index 000000000..0c136bde5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437439.jpg b/RWT_Cache/Textures/20/mbs845365x437439.jpg new file mode 100644 index 000000000..1775a5b8d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437440.jpg b/RWT_Cache/Textures/20/mbs845365x437440.jpg new file mode 100644 index 000000000..c9ebab847 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437441.jpg b/RWT_Cache/Textures/20/mbs845365x437441.jpg new file mode 100644 index 000000000..9e6db371e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437442.jpg b/RWT_Cache/Textures/20/mbs845365x437442.jpg new file mode 100644 index 000000000..4efe55d26 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437443.jpg b/RWT_Cache/Textures/20/mbs845365x437443.jpg new file mode 100644 index 000000000..143b3d731 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437444.jpg b/RWT_Cache/Textures/20/mbs845365x437444.jpg new file mode 100644 index 000000000..6825b7267 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437445.jpg b/RWT_Cache/Textures/20/mbs845365x437445.jpg new file mode 100644 index 000000000..a010436b8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437446.jpg b/RWT_Cache/Textures/20/mbs845365x437446.jpg new file mode 100644 index 000000000..167d07668 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845365x437447.jpg b/RWT_Cache/Textures/20/mbs845365x437447.jpg new file mode 100644 index 000000000..d7ff37cdd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845365x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437391.jpg b/RWT_Cache/Textures/20/mbs845366x437391.jpg new file mode 100644 index 000000000..cc6596eb6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437392.jpg b/RWT_Cache/Textures/20/mbs845366x437392.jpg new file mode 100644 index 000000000..d851b8796 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437393.jpg b/RWT_Cache/Textures/20/mbs845366x437393.jpg new file mode 100644 index 000000000..3fcb9a42e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437394.jpg b/RWT_Cache/Textures/20/mbs845366x437394.jpg new file mode 100644 index 000000000..1a60aacb3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437395.jpg b/RWT_Cache/Textures/20/mbs845366x437395.jpg new file mode 100644 index 000000000..e8485a7cc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437396.jpg b/RWT_Cache/Textures/20/mbs845366x437396.jpg new file mode 100644 index 000000000..bfcbeb1ee Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437397.jpg b/RWT_Cache/Textures/20/mbs845366x437397.jpg new file mode 100644 index 000000000..c30f28a94 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437398.jpg b/RWT_Cache/Textures/20/mbs845366x437398.jpg new file mode 100644 index 000000000..e9086e7ff Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437399.jpg b/RWT_Cache/Textures/20/mbs845366x437399.jpg new file mode 100644 index 000000000..f1fb7fd13 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437400.jpg b/RWT_Cache/Textures/20/mbs845366x437400.jpg new file mode 100644 index 000000000..2be8c856c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437401.jpg b/RWT_Cache/Textures/20/mbs845366x437401.jpg new file mode 100644 index 000000000..2d0a7fdde Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437402.jpg b/RWT_Cache/Textures/20/mbs845366x437402.jpg new file mode 100644 index 000000000..3e9e24fbe Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437403.jpg b/RWT_Cache/Textures/20/mbs845366x437403.jpg new file mode 100644 index 000000000..86679ccc9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437404.jpg b/RWT_Cache/Textures/20/mbs845366x437404.jpg new file mode 100644 index 000000000..bff34427c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437405.jpg b/RWT_Cache/Textures/20/mbs845366x437405.jpg new file mode 100644 index 000000000..3b2ac1a37 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437406.jpg b/RWT_Cache/Textures/20/mbs845366x437406.jpg new file mode 100644 index 000000000..d736f742a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437407.jpg b/RWT_Cache/Textures/20/mbs845366x437407.jpg new file mode 100644 index 000000000..0a1f3910e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437408.jpg b/RWT_Cache/Textures/20/mbs845366x437408.jpg new file mode 100644 index 000000000..4f509bde1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437409.jpg b/RWT_Cache/Textures/20/mbs845366x437409.jpg new file mode 100644 index 000000000..61c1e5b37 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437410.jpg b/RWT_Cache/Textures/20/mbs845366x437410.jpg new file mode 100644 index 000000000..1fd2acf9b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437411.jpg b/RWT_Cache/Textures/20/mbs845366x437411.jpg new file mode 100644 index 000000000..ef5e2c99d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437412.jpg b/RWT_Cache/Textures/20/mbs845366x437412.jpg new file mode 100644 index 000000000..b0285bdc0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437413.jpg b/RWT_Cache/Textures/20/mbs845366x437413.jpg new file mode 100644 index 000000000..370170758 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437414.jpg b/RWT_Cache/Textures/20/mbs845366x437414.jpg new file mode 100644 index 000000000..daf591118 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437415.jpg b/RWT_Cache/Textures/20/mbs845366x437415.jpg new file mode 100644 index 000000000..a59a61876 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437416.jpg b/RWT_Cache/Textures/20/mbs845366x437416.jpg new file mode 100644 index 000000000..c07a718af Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437417.jpg b/RWT_Cache/Textures/20/mbs845366x437417.jpg new file mode 100644 index 000000000..83cb2d8a7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437418.jpg b/RWT_Cache/Textures/20/mbs845366x437418.jpg new file mode 100644 index 000000000..078acbd8e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437419.jpg b/RWT_Cache/Textures/20/mbs845366x437419.jpg new file mode 100644 index 000000000..019529ad1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437420.jpg b/RWT_Cache/Textures/20/mbs845366x437420.jpg new file mode 100644 index 000000000..6e73e0777 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437421.jpg b/RWT_Cache/Textures/20/mbs845366x437421.jpg new file mode 100644 index 000000000..7840c6153 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437422.jpg b/RWT_Cache/Textures/20/mbs845366x437422.jpg new file mode 100644 index 000000000..232f4e5b0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437423.jpg b/RWT_Cache/Textures/20/mbs845366x437423.jpg new file mode 100644 index 000000000..5c18c2cd5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437424.jpg b/RWT_Cache/Textures/20/mbs845366x437424.jpg new file mode 100644 index 000000000..86ae20b4d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437425.jpg b/RWT_Cache/Textures/20/mbs845366x437425.jpg new file mode 100644 index 000000000..3a4f73802 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437426.jpg b/RWT_Cache/Textures/20/mbs845366x437426.jpg new file mode 100644 index 000000000..f90b424d4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437427.jpg b/RWT_Cache/Textures/20/mbs845366x437427.jpg new file mode 100644 index 000000000..fef52625c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437428.jpg b/RWT_Cache/Textures/20/mbs845366x437428.jpg new file mode 100644 index 000000000..e0db84465 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437429.jpg b/RWT_Cache/Textures/20/mbs845366x437429.jpg new file mode 100644 index 000000000..666a5b6a5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437430.jpg b/RWT_Cache/Textures/20/mbs845366x437430.jpg new file mode 100644 index 000000000..55801c6da Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437431.jpg b/RWT_Cache/Textures/20/mbs845366x437431.jpg new file mode 100644 index 000000000..9c2617530 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437432.jpg b/RWT_Cache/Textures/20/mbs845366x437432.jpg new file mode 100644 index 000000000..67fc729df Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437433.jpg b/RWT_Cache/Textures/20/mbs845366x437433.jpg new file mode 100644 index 000000000..eef483405 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437434.jpg b/RWT_Cache/Textures/20/mbs845366x437434.jpg new file mode 100644 index 000000000..5dbc73f12 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437435.jpg b/RWT_Cache/Textures/20/mbs845366x437435.jpg new file mode 100644 index 000000000..6cf7fc0ef Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437436.jpg b/RWT_Cache/Textures/20/mbs845366x437436.jpg new file mode 100644 index 000000000..d256b87d5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437437.jpg b/RWT_Cache/Textures/20/mbs845366x437437.jpg new file mode 100644 index 000000000..44d64d5e9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437438.jpg b/RWT_Cache/Textures/20/mbs845366x437438.jpg new file mode 100644 index 000000000..3469f1453 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437439.jpg b/RWT_Cache/Textures/20/mbs845366x437439.jpg new file mode 100644 index 000000000..96f4f0a34 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437440.jpg b/RWT_Cache/Textures/20/mbs845366x437440.jpg new file mode 100644 index 000000000..f6e98e446 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437441.jpg b/RWT_Cache/Textures/20/mbs845366x437441.jpg new file mode 100644 index 000000000..e989f6106 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437442.jpg b/RWT_Cache/Textures/20/mbs845366x437442.jpg new file mode 100644 index 000000000..78facbd33 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437443.jpg b/RWT_Cache/Textures/20/mbs845366x437443.jpg new file mode 100644 index 000000000..2a01e5858 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437444.jpg b/RWT_Cache/Textures/20/mbs845366x437444.jpg new file mode 100644 index 000000000..2d3057ce3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437445.jpg b/RWT_Cache/Textures/20/mbs845366x437445.jpg new file mode 100644 index 000000000..20d89a4e7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437446.jpg b/RWT_Cache/Textures/20/mbs845366x437446.jpg new file mode 100644 index 000000000..27cc57402 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845366x437447.jpg b/RWT_Cache/Textures/20/mbs845366x437447.jpg new file mode 100644 index 000000000..5404b90d1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845366x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437391.jpg b/RWT_Cache/Textures/20/mbs845367x437391.jpg new file mode 100644 index 000000000..c880be4b7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437392.jpg b/RWT_Cache/Textures/20/mbs845367x437392.jpg new file mode 100644 index 000000000..7315ed946 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437393.jpg b/RWT_Cache/Textures/20/mbs845367x437393.jpg new file mode 100644 index 000000000..0c24c7003 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437394.jpg b/RWT_Cache/Textures/20/mbs845367x437394.jpg new file mode 100644 index 000000000..bc2dedbf8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437395.jpg b/RWT_Cache/Textures/20/mbs845367x437395.jpg new file mode 100644 index 000000000..57f3cb141 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437396.jpg b/RWT_Cache/Textures/20/mbs845367x437396.jpg new file mode 100644 index 000000000..bc4a4068e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437397.jpg b/RWT_Cache/Textures/20/mbs845367x437397.jpg new file mode 100644 index 000000000..1c84b57d4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437398.jpg b/RWT_Cache/Textures/20/mbs845367x437398.jpg new file mode 100644 index 000000000..5cb39f641 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437399.jpg b/RWT_Cache/Textures/20/mbs845367x437399.jpg new file mode 100644 index 000000000..4131280b0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437400.jpg b/RWT_Cache/Textures/20/mbs845367x437400.jpg new file mode 100644 index 000000000..0e69af59a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437401.jpg b/RWT_Cache/Textures/20/mbs845367x437401.jpg new file mode 100644 index 000000000..993821bb6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437402.jpg b/RWT_Cache/Textures/20/mbs845367x437402.jpg new file mode 100644 index 000000000..dcd1cbf8a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437403.jpg b/RWT_Cache/Textures/20/mbs845367x437403.jpg new file mode 100644 index 000000000..0502ce630 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437404.jpg b/RWT_Cache/Textures/20/mbs845367x437404.jpg new file mode 100644 index 000000000..37dbac9de Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437405.jpg b/RWT_Cache/Textures/20/mbs845367x437405.jpg new file mode 100644 index 000000000..7613fa344 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437406.jpg b/RWT_Cache/Textures/20/mbs845367x437406.jpg new file mode 100644 index 000000000..64339f964 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437407.jpg b/RWT_Cache/Textures/20/mbs845367x437407.jpg new file mode 100644 index 000000000..3dbf45aa1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437408.jpg b/RWT_Cache/Textures/20/mbs845367x437408.jpg new file mode 100644 index 000000000..9a36d06f6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437409.jpg b/RWT_Cache/Textures/20/mbs845367x437409.jpg new file mode 100644 index 000000000..abd4151e7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437410.jpg b/RWT_Cache/Textures/20/mbs845367x437410.jpg new file mode 100644 index 000000000..1088987c6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437411.jpg b/RWT_Cache/Textures/20/mbs845367x437411.jpg new file mode 100644 index 000000000..7e30c05ea Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437412.jpg b/RWT_Cache/Textures/20/mbs845367x437412.jpg new file mode 100644 index 000000000..ec2ed775d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437413.jpg b/RWT_Cache/Textures/20/mbs845367x437413.jpg new file mode 100644 index 000000000..7bd0c9ca7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437414.jpg b/RWT_Cache/Textures/20/mbs845367x437414.jpg new file mode 100644 index 000000000..1d1b6ee83 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437415.jpg b/RWT_Cache/Textures/20/mbs845367x437415.jpg new file mode 100644 index 000000000..38a52ac69 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437416.jpg b/RWT_Cache/Textures/20/mbs845367x437416.jpg new file mode 100644 index 000000000..f6ce021d6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437417.jpg b/RWT_Cache/Textures/20/mbs845367x437417.jpg new file mode 100644 index 000000000..03530cc2c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437418.jpg b/RWT_Cache/Textures/20/mbs845367x437418.jpg new file mode 100644 index 000000000..24efe3c7e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437419.jpg b/RWT_Cache/Textures/20/mbs845367x437419.jpg new file mode 100644 index 000000000..9ce4093d4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437420.jpg b/RWT_Cache/Textures/20/mbs845367x437420.jpg new file mode 100644 index 000000000..32c731bc7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437421.jpg b/RWT_Cache/Textures/20/mbs845367x437421.jpg new file mode 100644 index 000000000..1a90fe836 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437422.jpg b/RWT_Cache/Textures/20/mbs845367x437422.jpg new file mode 100644 index 000000000..02e2bc592 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437423.jpg b/RWT_Cache/Textures/20/mbs845367x437423.jpg new file mode 100644 index 000000000..59bfea207 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437424.jpg b/RWT_Cache/Textures/20/mbs845367x437424.jpg new file mode 100644 index 000000000..cd3b947d3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437425.jpg b/RWT_Cache/Textures/20/mbs845367x437425.jpg new file mode 100644 index 000000000..7ae1ebab4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437426.jpg b/RWT_Cache/Textures/20/mbs845367x437426.jpg new file mode 100644 index 000000000..f7ffdce94 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437427.jpg b/RWT_Cache/Textures/20/mbs845367x437427.jpg new file mode 100644 index 000000000..d0f3515f6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437428.jpg b/RWT_Cache/Textures/20/mbs845367x437428.jpg new file mode 100644 index 000000000..3106a539c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437429.jpg b/RWT_Cache/Textures/20/mbs845367x437429.jpg new file mode 100644 index 000000000..461e9a6fe Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437430.jpg b/RWT_Cache/Textures/20/mbs845367x437430.jpg new file mode 100644 index 000000000..d35fb868e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437431.jpg b/RWT_Cache/Textures/20/mbs845367x437431.jpg new file mode 100644 index 000000000..b6655b738 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437432.jpg b/RWT_Cache/Textures/20/mbs845367x437432.jpg new file mode 100644 index 000000000..e90e9c995 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437433.jpg b/RWT_Cache/Textures/20/mbs845367x437433.jpg new file mode 100644 index 000000000..9f7c17fa0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437434.jpg b/RWT_Cache/Textures/20/mbs845367x437434.jpg new file mode 100644 index 000000000..9c3b17ee3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437435.jpg b/RWT_Cache/Textures/20/mbs845367x437435.jpg new file mode 100644 index 000000000..8dfad7b59 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437436.jpg b/RWT_Cache/Textures/20/mbs845367x437436.jpg new file mode 100644 index 000000000..99c2fec31 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437437.jpg b/RWT_Cache/Textures/20/mbs845367x437437.jpg new file mode 100644 index 000000000..742adbae6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437438.jpg b/RWT_Cache/Textures/20/mbs845367x437438.jpg new file mode 100644 index 000000000..525826204 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437439.jpg b/RWT_Cache/Textures/20/mbs845367x437439.jpg new file mode 100644 index 000000000..129a06366 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437440.jpg b/RWT_Cache/Textures/20/mbs845367x437440.jpg new file mode 100644 index 000000000..1c94c5811 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437441.jpg b/RWT_Cache/Textures/20/mbs845367x437441.jpg new file mode 100644 index 000000000..41789a3f8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437442.jpg b/RWT_Cache/Textures/20/mbs845367x437442.jpg new file mode 100644 index 000000000..58e856989 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437443.jpg b/RWT_Cache/Textures/20/mbs845367x437443.jpg new file mode 100644 index 000000000..84b4a8eb7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437444.jpg b/RWT_Cache/Textures/20/mbs845367x437444.jpg new file mode 100644 index 000000000..29583b886 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437445.jpg b/RWT_Cache/Textures/20/mbs845367x437445.jpg new file mode 100644 index 000000000..b9a69fdc4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437446.jpg b/RWT_Cache/Textures/20/mbs845367x437446.jpg new file mode 100644 index 000000000..18f8cbc17 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845367x437447.jpg b/RWT_Cache/Textures/20/mbs845367x437447.jpg new file mode 100644 index 000000000..b95579923 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845367x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437391.jpg b/RWT_Cache/Textures/20/mbs845368x437391.jpg new file mode 100644 index 000000000..cd7cccfaf Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437392.jpg b/RWT_Cache/Textures/20/mbs845368x437392.jpg new file mode 100644 index 000000000..f2b2e7072 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437393.jpg b/RWT_Cache/Textures/20/mbs845368x437393.jpg new file mode 100644 index 000000000..f6cfe4134 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437394.jpg b/RWT_Cache/Textures/20/mbs845368x437394.jpg new file mode 100644 index 000000000..92d914a1f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437395.jpg b/RWT_Cache/Textures/20/mbs845368x437395.jpg new file mode 100644 index 000000000..80eae1687 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437396.jpg b/RWT_Cache/Textures/20/mbs845368x437396.jpg new file mode 100644 index 000000000..1c59a7ca0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437397.jpg b/RWT_Cache/Textures/20/mbs845368x437397.jpg new file mode 100644 index 000000000..7b17f3f1a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437398.jpg b/RWT_Cache/Textures/20/mbs845368x437398.jpg new file mode 100644 index 000000000..e4af3960c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437399.jpg b/RWT_Cache/Textures/20/mbs845368x437399.jpg new file mode 100644 index 000000000..b9f268242 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437400.jpg b/RWT_Cache/Textures/20/mbs845368x437400.jpg new file mode 100644 index 000000000..612b2f5e4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437401.jpg b/RWT_Cache/Textures/20/mbs845368x437401.jpg new file mode 100644 index 000000000..d1122d900 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437402.jpg b/RWT_Cache/Textures/20/mbs845368x437402.jpg new file mode 100644 index 000000000..95d9d0478 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437403.jpg b/RWT_Cache/Textures/20/mbs845368x437403.jpg new file mode 100644 index 000000000..e0149f68b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437404.jpg b/RWT_Cache/Textures/20/mbs845368x437404.jpg new file mode 100644 index 000000000..58d81d625 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437405.jpg b/RWT_Cache/Textures/20/mbs845368x437405.jpg new file mode 100644 index 000000000..37135f1eb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437406.jpg b/RWT_Cache/Textures/20/mbs845368x437406.jpg new file mode 100644 index 000000000..dc2c1a26d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437407.jpg b/RWT_Cache/Textures/20/mbs845368x437407.jpg new file mode 100644 index 000000000..c87b4d42c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437408.jpg b/RWT_Cache/Textures/20/mbs845368x437408.jpg new file mode 100644 index 000000000..7ffbda30f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437409.jpg b/RWT_Cache/Textures/20/mbs845368x437409.jpg new file mode 100644 index 000000000..11d9eef54 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437410.jpg b/RWT_Cache/Textures/20/mbs845368x437410.jpg new file mode 100644 index 000000000..9f5caa496 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437411.jpg b/RWT_Cache/Textures/20/mbs845368x437411.jpg new file mode 100644 index 000000000..b4a0800d2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437412.jpg b/RWT_Cache/Textures/20/mbs845368x437412.jpg new file mode 100644 index 000000000..b76191f95 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437413.jpg b/RWT_Cache/Textures/20/mbs845368x437413.jpg new file mode 100644 index 000000000..6d249da57 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437414.jpg b/RWT_Cache/Textures/20/mbs845368x437414.jpg new file mode 100644 index 000000000..d6b1cc50b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437415.jpg b/RWT_Cache/Textures/20/mbs845368x437415.jpg new file mode 100644 index 000000000..bbc0d4ede Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437416.jpg b/RWT_Cache/Textures/20/mbs845368x437416.jpg new file mode 100644 index 000000000..25907ee17 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437417.jpg b/RWT_Cache/Textures/20/mbs845368x437417.jpg new file mode 100644 index 000000000..e80b68c46 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437418.jpg b/RWT_Cache/Textures/20/mbs845368x437418.jpg new file mode 100644 index 000000000..96abc8331 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437419.jpg b/RWT_Cache/Textures/20/mbs845368x437419.jpg new file mode 100644 index 000000000..d6c989acc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437420.jpg b/RWT_Cache/Textures/20/mbs845368x437420.jpg new file mode 100644 index 000000000..2331e7003 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437421.jpg b/RWT_Cache/Textures/20/mbs845368x437421.jpg new file mode 100644 index 000000000..9a5f3ecd3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437422.jpg b/RWT_Cache/Textures/20/mbs845368x437422.jpg new file mode 100644 index 000000000..3a13bb1da Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437423.jpg b/RWT_Cache/Textures/20/mbs845368x437423.jpg new file mode 100644 index 000000000..6e8db5fc1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437424.jpg b/RWT_Cache/Textures/20/mbs845368x437424.jpg new file mode 100644 index 000000000..0594b2828 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437425.jpg b/RWT_Cache/Textures/20/mbs845368x437425.jpg new file mode 100644 index 000000000..e8e8858e4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437426.jpg b/RWT_Cache/Textures/20/mbs845368x437426.jpg new file mode 100644 index 000000000..7a8e465ea Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437427.jpg b/RWT_Cache/Textures/20/mbs845368x437427.jpg new file mode 100644 index 000000000..2c6caca14 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437428.jpg b/RWT_Cache/Textures/20/mbs845368x437428.jpg new file mode 100644 index 000000000..5ec3b0aee Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437429.jpg b/RWT_Cache/Textures/20/mbs845368x437429.jpg new file mode 100644 index 000000000..a6e24aa73 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437430.jpg b/RWT_Cache/Textures/20/mbs845368x437430.jpg new file mode 100644 index 000000000..14d7b144f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437431.jpg b/RWT_Cache/Textures/20/mbs845368x437431.jpg new file mode 100644 index 000000000..26ac08917 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437432.jpg b/RWT_Cache/Textures/20/mbs845368x437432.jpg new file mode 100644 index 000000000..b5f9e8dc2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437433.jpg b/RWT_Cache/Textures/20/mbs845368x437433.jpg new file mode 100644 index 000000000..a2a13fa04 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437434.jpg b/RWT_Cache/Textures/20/mbs845368x437434.jpg new file mode 100644 index 000000000..5bca422da Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437435.jpg b/RWT_Cache/Textures/20/mbs845368x437435.jpg new file mode 100644 index 000000000..219b146f1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437436.jpg b/RWT_Cache/Textures/20/mbs845368x437436.jpg new file mode 100644 index 000000000..637390390 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437437.jpg b/RWT_Cache/Textures/20/mbs845368x437437.jpg new file mode 100644 index 000000000..8ad2a2385 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437438.jpg b/RWT_Cache/Textures/20/mbs845368x437438.jpg new file mode 100644 index 000000000..33b342398 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437439.jpg b/RWT_Cache/Textures/20/mbs845368x437439.jpg new file mode 100644 index 000000000..ee9c97d03 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437440.jpg b/RWT_Cache/Textures/20/mbs845368x437440.jpg new file mode 100644 index 000000000..b06ed3de5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437441.jpg b/RWT_Cache/Textures/20/mbs845368x437441.jpg new file mode 100644 index 000000000..2b0ed22b6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437442.jpg b/RWT_Cache/Textures/20/mbs845368x437442.jpg new file mode 100644 index 000000000..1a022a205 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437443.jpg b/RWT_Cache/Textures/20/mbs845368x437443.jpg new file mode 100644 index 000000000..a4be520d4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437444.jpg b/RWT_Cache/Textures/20/mbs845368x437444.jpg new file mode 100644 index 000000000..750b76f6d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437445.jpg b/RWT_Cache/Textures/20/mbs845368x437445.jpg new file mode 100644 index 000000000..2450a25f4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437446.jpg b/RWT_Cache/Textures/20/mbs845368x437446.jpg new file mode 100644 index 000000000..9e9e4c762 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437446.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845368x437447.jpg b/RWT_Cache/Textures/20/mbs845368x437447.jpg new file mode 100644 index 000000000..49459584e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845368x437447.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437391.jpg b/RWT_Cache/Textures/20/mbs845369x437391.jpg new file mode 100644 index 000000000..f39b2b38e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437392.jpg b/RWT_Cache/Textures/20/mbs845369x437392.jpg new file mode 100644 index 000000000..3a29081d3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437393.jpg b/RWT_Cache/Textures/20/mbs845369x437393.jpg new file mode 100644 index 000000000..27bb1c5bd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437394.jpg b/RWT_Cache/Textures/20/mbs845369x437394.jpg new file mode 100644 index 000000000..7fcfc5e8b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437395.jpg b/RWT_Cache/Textures/20/mbs845369x437395.jpg new file mode 100644 index 000000000..9f36f0f83 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437396.jpg b/RWT_Cache/Textures/20/mbs845369x437396.jpg new file mode 100644 index 000000000..a2106fde4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437397.jpg b/RWT_Cache/Textures/20/mbs845369x437397.jpg new file mode 100644 index 000000000..267b8627d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437398.jpg b/RWT_Cache/Textures/20/mbs845369x437398.jpg new file mode 100644 index 000000000..8655200b2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437399.jpg b/RWT_Cache/Textures/20/mbs845369x437399.jpg new file mode 100644 index 000000000..45e3e3a22 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437400.jpg b/RWT_Cache/Textures/20/mbs845369x437400.jpg new file mode 100644 index 000000000..9452305cd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437401.jpg b/RWT_Cache/Textures/20/mbs845369x437401.jpg new file mode 100644 index 000000000..1de145303 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437402.jpg b/RWT_Cache/Textures/20/mbs845369x437402.jpg new file mode 100644 index 000000000..f29d38ca9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437403.jpg b/RWT_Cache/Textures/20/mbs845369x437403.jpg new file mode 100644 index 000000000..8b5424edf Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437404.jpg b/RWT_Cache/Textures/20/mbs845369x437404.jpg new file mode 100644 index 000000000..e65c862c8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437405.jpg b/RWT_Cache/Textures/20/mbs845369x437405.jpg new file mode 100644 index 000000000..821a8864e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437406.jpg b/RWT_Cache/Textures/20/mbs845369x437406.jpg new file mode 100644 index 000000000..4ee0e8ecd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437407.jpg b/RWT_Cache/Textures/20/mbs845369x437407.jpg new file mode 100644 index 000000000..95b91dc43 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437408.jpg b/RWT_Cache/Textures/20/mbs845369x437408.jpg new file mode 100644 index 000000000..c2cb4f284 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437409.jpg b/RWT_Cache/Textures/20/mbs845369x437409.jpg new file mode 100644 index 000000000..d6e427c6f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437410.jpg b/RWT_Cache/Textures/20/mbs845369x437410.jpg new file mode 100644 index 000000000..cea223af6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437411.jpg b/RWT_Cache/Textures/20/mbs845369x437411.jpg new file mode 100644 index 000000000..a8f5a169c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437412.jpg b/RWT_Cache/Textures/20/mbs845369x437412.jpg new file mode 100644 index 000000000..ad7138a4d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437413.jpg b/RWT_Cache/Textures/20/mbs845369x437413.jpg new file mode 100644 index 000000000..b035dd4b5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437414.jpg b/RWT_Cache/Textures/20/mbs845369x437414.jpg new file mode 100644 index 000000000..e679a3a92 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437415.jpg b/RWT_Cache/Textures/20/mbs845369x437415.jpg new file mode 100644 index 000000000..8d7ba8172 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437416.jpg b/RWT_Cache/Textures/20/mbs845369x437416.jpg new file mode 100644 index 000000000..a2aa9bb7e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437417.jpg b/RWT_Cache/Textures/20/mbs845369x437417.jpg new file mode 100644 index 000000000..9e3e705ff Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437418.jpg b/RWT_Cache/Textures/20/mbs845369x437418.jpg new file mode 100644 index 000000000..dc03baf27 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437419.jpg b/RWT_Cache/Textures/20/mbs845369x437419.jpg new file mode 100644 index 000000000..27ca583ce Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437420.jpg b/RWT_Cache/Textures/20/mbs845369x437420.jpg new file mode 100644 index 000000000..2bda7e2b0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437421.jpg b/RWT_Cache/Textures/20/mbs845369x437421.jpg new file mode 100644 index 000000000..cc5bc1352 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437422.jpg b/RWT_Cache/Textures/20/mbs845369x437422.jpg new file mode 100644 index 000000000..e47c78b3c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437423.jpg b/RWT_Cache/Textures/20/mbs845369x437423.jpg new file mode 100644 index 000000000..e206223e5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437424.jpg b/RWT_Cache/Textures/20/mbs845369x437424.jpg new file mode 100644 index 000000000..67e86861f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437425.jpg b/RWT_Cache/Textures/20/mbs845369x437425.jpg new file mode 100644 index 000000000..d3b5c3535 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437426.jpg b/RWT_Cache/Textures/20/mbs845369x437426.jpg new file mode 100644 index 000000000..ad8e00ea4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437427.jpg b/RWT_Cache/Textures/20/mbs845369x437427.jpg new file mode 100644 index 000000000..2a9c4cddd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437428.jpg b/RWT_Cache/Textures/20/mbs845369x437428.jpg new file mode 100644 index 000000000..78c90e5c5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437429.jpg b/RWT_Cache/Textures/20/mbs845369x437429.jpg new file mode 100644 index 000000000..df3998129 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437430.jpg b/RWT_Cache/Textures/20/mbs845369x437430.jpg new file mode 100644 index 000000000..97ed67da6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437431.jpg b/RWT_Cache/Textures/20/mbs845369x437431.jpg new file mode 100644 index 000000000..c027319c8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437432.jpg b/RWT_Cache/Textures/20/mbs845369x437432.jpg new file mode 100644 index 000000000..0bc1ff517 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437433.jpg b/RWT_Cache/Textures/20/mbs845369x437433.jpg new file mode 100644 index 000000000..06c699976 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437434.jpg b/RWT_Cache/Textures/20/mbs845369x437434.jpg new file mode 100644 index 000000000..3d9a3bc39 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437435.jpg b/RWT_Cache/Textures/20/mbs845369x437435.jpg new file mode 100644 index 000000000..df9988fb8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437436.jpg b/RWT_Cache/Textures/20/mbs845369x437436.jpg new file mode 100644 index 000000000..03699455a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437437.jpg b/RWT_Cache/Textures/20/mbs845369x437437.jpg new file mode 100644 index 000000000..f018168e5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437438.jpg b/RWT_Cache/Textures/20/mbs845369x437438.jpg new file mode 100644 index 000000000..a13db788b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437439.jpg b/RWT_Cache/Textures/20/mbs845369x437439.jpg new file mode 100644 index 000000000..a97c50444 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437440.jpg b/RWT_Cache/Textures/20/mbs845369x437440.jpg new file mode 100644 index 000000000..fa85684fa Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437441.jpg b/RWT_Cache/Textures/20/mbs845369x437441.jpg new file mode 100644 index 000000000..4e548db54 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437442.jpg b/RWT_Cache/Textures/20/mbs845369x437442.jpg new file mode 100644 index 000000000..532e607d6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437443.jpg b/RWT_Cache/Textures/20/mbs845369x437443.jpg new file mode 100644 index 000000000..0d4b91ea2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437444.jpg b/RWT_Cache/Textures/20/mbs845369x437444.jpg new file mode 100644 index 000000000..f7502de78 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845369x437445.jpg b/RWT_Cache/Textures/20/mbs845369x437445.jpg new file mode 100644 index 000000000..e0ad03fbb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845369x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437391.jpg b/RWT_Cache/Textures/20/mbs845370x437391.jpg new file mode 100644 index 000000000..7c6fc00b7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437392.jpg b/RWT_Cache/Textures/20/mbs845370x437392.jpg new file mode 100644 index 000000000..d56244479 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437393.jpg b/RWT_Cache/Textures/20/mbs845370x437393.jpg new file mode 100644 index 000000000..ffdb2069f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437394.jpg b/RWT_Cache/Textures/20/mbs845370x437394.jpg new file mode 100644 index 000000000..47580b67f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437395.jpg b/RWT_Cache/Textures/20/mbs845370x437395.jpg new file mode 100644 index 000000000..738f39584 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437396.jpg b/RWT_Cache/Textures/20/mbs845370x437396.jpg new file mode 100644 index 000000000..aa42b4ece Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437397.jpg b/RWT_Cache/Textures/20/mbs845370x437397.jpg new file mode 100644 index 000000000..bd0111171 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437398.jpg b/RWT_Cache/Textures/20/mbs845370x437398.jpg new file mode 100644 index 000000000..cc8fa08d1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437399.jpg b/RWT_Cache/Textures/20/mbs845370x437399.jpg new file mode 100644 index 000000000..3414c72c1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437400.jpg b/RWT_Cache/Textures/20/mbs845370x437400.jpg new file mode 100644 index 000000000..471a3a933 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437401.jpg b/RWT_Cache/Textures/20/mbs845370x437401.jpg new file mode 100644 index 000000000..28ed42640 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437402.jpg b/RWT_Cache/Textures/20/mbs845370x437402.jpg new file mode 100644 index 000000000..8a50324de Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437403.jpg b/RWT_Cache/Textures/20/mbs845370x437403.jpg new file mode 100644 index 000000000..688fe1021 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437404.jpg b/RWT_Cache/Textures/20/mbs845370x437404.jpg new file mode 100644 index 000000000..1e61b4c9c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437405.jpg b/RWT_Cache/Textures/20/mbs845370x437405.jpg new file mode 100644 index 000000000..f59d71ced Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437406.jpg b/RWT_Cache/Textures/20/mbs845370x437406.jpg new file mode 100644 index 000000000..846b1a3c9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437407.jpg b/RWT_Cache/Textures/20/mbs845370x437407.jpg new file mode 100644 index 000000000..b6473eb18 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437408.jpg b/RWT_Cache/Textures/20/mbs845370x437408.jpg new file mode 100644 index 000000000..ef3fe5499 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437409.jpg b/RWT_Cache/Textures/20/mbs845370x437409.jpg new file mode 100644 index 000000000..e749cc567 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437410.jpg b/RWT_Cache/Textures/20/mbs845370x437410.jpg new file mode 100644 index 000000000..80a590200 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437411.jpg b/RWT_Cache/Textures/20/mbs845370x437411.jpg new file mode 100644 index 000000000..e24fe34c5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437412.jpg b/RWT_Cache/Textures/20/mbs845370x437412.jpg new file mode 100644 index 000000000..723cd2dd9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437413.jpg b/RWT_Cache/Textures/20/mbs845370x437413.jpg new file mode 100644 index 000000000..7111bd8e5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437414.jpg b/RWT_Cache/Textures/20/mbs845370x437414.jpg new file mode 100644 index 000000000..a5d51b3f7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437415.jpg b/RWT_Cache/Textures/20/mbs845370x437415.jpg new file mode 100644 index 000000000..1f6f2fce6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437416.jpg b/RWT_Cache/Textures/20/mbs845370x437416.jpg new file mode 100644 index 000000000..d947fe431 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437417.jpg b/RWT_Cache/Textures/20/mbs845370x437417.jpg new file mode 100644 index 000000000..38f11b631 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437418.jpg b/RWT_Cache/Textures/20/mbs845370x437418.jpg new file mode 100644 index 000000000..8fbec5f59 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437419.jpg b/RWT_Cache/Textures/20/mbs845370x437419.jpg new file mode 100644 index 000000000..fb2de7afb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437420.jpg b/RWT_Cache/Textures/20/mbs845370x437420.jpg new file mode 100644 index 000000000..16f2b00ac Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437421.jpg b/RWT_Cache/Textures/20/mbs845370x437421.jpg new file mode 100644 index 000000000..6b7f150b9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437422.jpg b/RWT_Cache/Textures/20/mbs845370x437422.jpg new file mode 100644 index 000000000..ba8e46145 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437423.jpg b/RWT_Cache/Textures/20/mbs845370x437423.jpg new file mode 100644 index 000000000..706131640 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437424.jpg b/RWT_Cache/Textures/20/mbs845370x437424.jpg new file mode 100644 index 000000000..6255d033a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437425.jpg b/RWT_Cache/Textures/20/mbs845370x437425.jpg new file mode 100644 index 000000000..6b4fc56ca Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437426.jpg b/RWT_Cache/Textures/20/mbs845370x437426.jpg new file mode 100644 index 000000000..8410728c3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437427.jpg b/RWT_Cache/Textures/20/mbs845370x437427.jpg new file mode 100644 index 000000000..06064eca4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437428.jpg b/RWT_Cache/Textures/20/mbs845370x437428.jpg new file mode 100644 index 000000000..713fa286e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437429.jpg b/RWT_Cache/Textures/20/mbs845370x437429.jpg new file mode 100644 index 000000000..0c39610a0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437430.jpg b/RWT_Cache/Textures/20/mbs845370x437430.jpg new file mode 100644 index 000000000..6ac4acd78 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437431.jpg b/RWT_Cache/Textures/20/mbs845370x437431.jpg new file mode 100644 index 000000000..15ac06106 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437432.jpg b/RWT_Cache/Textures/20/mbs845370x437432.jpg new file mode 100644 index 000000000..49ecc1aef Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437433.jpg b/RWT_Cache/Textures/20/mbs845370x437433.jpg new file mode 100644 index 000000000..4ddb2263d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437434.jpg b/RWT_Cache/Textures/20/mbs845370x437434.jpg new file mode 100644 index 000000000..b30a0193d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437435.jpg b/RWT_Cache/Textures/20/mbs845370x437435.jpg new file mode 100644 index 000000000..37a4f5aca Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437436.jpg b/RWT_Cache/Textures/20/mbs845370x437436.jpg new file mode 100644 index 000000000..007dc4e9f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437437.jpg b/RWT_Cache/Textures/20/mbs845370x437437.jpg new file mode 100644 index 000000000..39027677b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437438.jpg b/RWT_Cache/Textures/20/mbs845370x437438.jpg new file mode 100644 index 000000000..2c11283eb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437439.jpg b/RWT_Cache/Textures/20/mbs845370x437439.jpg new file mode 100644 index 000000000..a23db0b36 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437440.jpg b/RWT_Cache/Textures/20/mbs845370x437440.jpg new file mode 100644 index 000000000..eaa8d4635 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437441.jpg b/RWT_Cache/Textures/20/mbs845370x437441.jpg new file mode 100644 index 000000000..b0276674e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437442.jpg b/RWT_Cache/Textures/20/mbs845370x437442.jpg new file mode 100644 index 000000000..5b1fb9f02 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437443.jpg b/RWT_Cache/Textures/20/mbs845370x437443.jpg new file mode 100644 index 000000000..4685b487d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437444.jpg b/RWT_Cache/Textures/20/mbs845370x437444.jpg new file mode 100644 index 000000000..719766edc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845370x437445.jpg b/RWT_Cache/Textures/20/mbs845370x437445.jpg new file mode 100644 index 000000000..d68ffb331 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845370x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437391.jpg b/RWT_Cache/Textures/20/mbs845371x437391.jpg new file mode 100644 index 000000000..5801895a8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437392.jpg b/RWT_Cache/Textures/20/mbs845371x437392.jpg new file mode 100644 index 000000000..02566bd1d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437393.jpg b/RWT_Cache/Textures/20/mbs845371x437393.jpg new file mode 100644 index 000000000..1673fb6f4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437394.jpg b/RWT_Cache/Textures/20/mbs845371x437394.jpg new file mode 100644 index 000000000..b692e56f1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437395.jpg b/RWT_Cache/Textures/20/mbs845371x437395.jpg new file mode 100644 index 000000000..408eac785 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437396.jpg b/RWT_Cache/Textures/20/mbs845371x437396.jpg new file mode 100644 index 000000000..41ee30f85 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437397.jpg b/RWT_Cache/Textures/20/mbs845371x437397.jpg new file mode 100644 index 000000000..6db4f29a3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437398.jpg b/RWT_Cache/Textures/20/mbs845371x437398.jpg new file mode 100644 index 000000000..5742e0d3f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437399.jpg b/RWT_Cache/Textures/20/mbs845371x437399.jpg new file mode 100644 index 000000000..c874cbc3c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437400.jpg b/RWT_Cache/Textures/20/mbs845371x437400.jpg new file mode 100644 index 000000000..bef419ddf Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437401.jpg b/RWT_Cache/Textures/20/mbs845371x437401.jpg new file mode 100644 index 000000000..f0c24a538 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437402.jpg b/RWT_Cache/Textures/20/mbs845371x437402.jpg new file mode 100644 index 000000000..1a5855916 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437403.jpg b/RWT_Cache/Textures/20/mbs845371x437403.jpg new file mode 100644 index 000000000..5512ea5cf Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437404.jpg b/RWT_Cache/Textures/20/mbs845371x437404.jpg new file mode 100644 index 000000000..ccda125b3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437405.jpg b/RWT_Cache/Textures/20/mbs845371x437405.jpg new file mode 100644 index 000000000..8aa24d1e3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437406.jpg b/RWT_Cache/Textures/20/mbs845371x437406.jpg new file mode 100644 index 000000000..ea21980af Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437407.jpg b/RWT_Cache/Textures/20/mbs845371x437407.jpg new file mode 100644 index 000000000..a860d3fb2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437408.jpg b/RWT_Cache/Textures/20/mbs845371x437408.jpg new file mode 100644 index 000000000..ab44fd25e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437409.jpg b/RWT_Cache/Textures/20/mbs845371x437409.jpg new file mode 100644 index 000000000..63f338492 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437410.jpg b/RWT_Cache/Textures/20/mbs845371x437410.jpg new file mode 100644 index 000000000..3004f8516 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437411.jpg b/RWT_Cache/Textures/20/mbs845371x437411.jpg new file mode 100644 index 000000000..a5e3769ed Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437412.jpg b/RWT_Cache/Textures/20/mbs845371x437412.jpg new file mode 100644 index 000000000..32bcb1e3c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437413.jpg b/RWT_Cache/Textures/20/mbs845371x437413.jpg new file mode 100644 index 000000000..7db92b211 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437414.jpg b/RWT_Cache/Textures/20/mbs845371x437414.jpg new file mode 100644 index 000000000..8b971d613 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437415.jpg b/RWT_Cache/Textures/20/mbs845371x437415.jpg new file mode 100644 index 000000000..f29c47b3e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437416.jpg b/RWT_Cache/Textures/20/mbs845371x437416.jpg new file mode 100644 index 000000000..13a63542c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437417.jpg b/RWT_Cache/Textures/20/mbs845371x437417.jpg new file mode 100644 index 000000000..73dc8a8f6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437418.jpg b/RWT_Cache/Textures/20/mbs845371x437418.jpg new file mode 100644 index 000000000..7557552b6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437419.jpg b/RWT_Cache/Textures/20/mbs845371x437419.jpg new file mode 100644 index 000000000..a35e70efe Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437420.jpg b/RWT_Cache/Textures/20/mbs845371x437420.jpg new file mode 100644 index 000000000..ab587b764 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437421.jpg b/RWT_Cache/Textures/20/mbs845371x437421.jpg new file mode 100644 index 000000000..d7220220c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437422.jpg b/RWT_Cache/Textures/20/mbs845371x437422.jpg new file mode 100644 index 000000000..cea452975 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437423.jpg b/RWT_Cache/Textures/20/mbs845371x437423.jpg new file mode 100644 index 000000000..c71851d8e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437424.jpg b/RWT_Cache/Textures/20/mbs845371x437424.jpg new file mode 100644 index 000000000..24f36849c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437425.jpg b/RWT_Cache/Textures/20/mbs845371x437425.jpg new file mode 100644 index 000000000..4094d1948 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437426.jpg b/RWT_Cache/Textures/20/mbs845371x437426.jpg new file mode 100644 index 000000000..08f5f40da Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437427.jpg b/RWT_Cache/Textures/20/mbs845371x437427.jpg new file mode 100644 index 000000000..2c2cd763b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437428.jpg b/RWT_Cache/Textures/20/mbs845371x437428.jpg new file mode 100644 index 000000000..df383de1f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437429.jpg b/RWT_Cache/Textures/20/mbs845371x437429.jpg new file mode 100644 index 000000000..534b97976 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437430.jpg b/RWT_Cache/Textures/20/mbs845371x437430.jpg new file mode 100644 index 000000000..e1f7712db Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437431.jpg b/RWT_Cache/Textures/20/mbs845371x437431.jpg new file mode 100644 index 000000000..e5e93629c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437432.jpg b/RWT_Cache/Textures/20/mbs845371x437432.jpg new file mode 100644 index 000000000..e775a5ae8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437433.jpg b/RWT_Cache/Textures/20/mbs845371x437433.jpg new file mode 100644 index 000000000..dd228196c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437434.jpg b/RWT_Cache/Textures/20/mbs845371x437434.jpg new file mode 100644 index 000000000..c64f9b86a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437435.jpg b/RWT_Cache/Textures/20/mbs845371x437435.jpg new file mode 100644 index 000000000..56b0f05fc Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437436.jpg b/RWT_Cache/Textures/20/mbs845371x437436.jpg new file mode 100644 index 000000000..514906a66 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437437.jpg b/RWT_Cache/Textures/20/mbs845371x437437.jpg new file mode 100644 index 000000000..6106fb9c2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437438.jpg b/RWT_Cache/Textures/20/mbs845371x437438.jpg new file mode 100644 index 000000000..8cbf4e203 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437439.jpg b/RWT_Cache/Textures/20/mbs845371x437439.jpg new file mode 100644 index 000000000..0a5ac75c4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437440.jpg b/RWT_Cache/Textures/20/mbs845371x437440.jpg new file mode 100644 index 000000000..5a9b1cbf7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437441.jpg b/RWT_Cache/Textures/20/mbs845371x437441.jpg new file mode 100644 index 000000000..423ce5971 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437442.jpg b/RWT_Cache/Textures/20/mbs845371x437442.jpg new file mode 100644 index 000000000..0c400ab79 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437443.jpg b/RWT_Cache/Textures/20/mbs845371x437443.jpg new file mode 100644 index 000000000..d39d25286 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437444.jpg b/RWT_Cache/Textures/20/mbs845371x437444.jpg new file mode 100644 index 000000000..88bfb2fbb Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845371x437445.jpg b/RWT_Cache/Textures/20/mbs845371x437445.jpg new file mode 100644 index 000000000..d262f02f3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845371x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437391.jpg b/RWT_Cache/Textures/20/mbs845372x437391.jpg new file mode 100644 index 000000000..e12c0ca77 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437392.jpg b/RWT_Cache/Textures/20/mbs845372x437392.jpg new file mode 100644 index 000000000..83ef64366 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437393.jpg b/RWT_Cache/Textures/20/mbs845372x437393.jpg new file mode 100644 index 000000000..db506404a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437394.jpg b/RWT_Cache/Textures/20/mbs845372x437394.jpg new file mode 100644 index 000000000..4515dc14a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437395.jpg b/RWT_Cache/Textures/20/mbs845372x437395.jpg new file mode 100644 index 000000000..e0a430300 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437396.jpg b/RWT_Cache/Textures/20/mbs845372x437396.jpg new file mode 100644 index 000000000..d5e1d97ea Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437397.jpg b/RWT_Cache/Textures/20/mbs845372x437397.jpg new file mode 100644 index 000000000..fe98a7795 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437398.jpg b/RWT_Cache/Textures/20/mbs845372x437398.jpg new file mode 100644 index 000000000..575287ce6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437399.jpg b/RWT_Cache/Textures/20/mbs845372x437399.jpg new file mode 100644 index 000000000..8dd9db57d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437400.jpg b/RWT_Cache/Textures/20/mbs845372x437400.jpg new file mode 100644 index 000000000..3d93fe305 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437401.jpg b/RWT_Cache/Textures/20/mbs845372x437401.jpg new file mode 100644 index 000000000..03f9107da Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437402.jpg b/RWT_Cache/Textures/20/mbs845372x437402.jpg new file mode 100644 index 000000000..03f9107da Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437403.jpg b/RWT_Cache/Textures/20/mbs845372x437403.jpg new file mode 100644 index 000000000..03f9107da Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437404.jpg b/RWT_Cache/Textures/20/mbs845372x437404.jpg new file mode 100644 index 000000000..03f9107da Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437405.jpg b/RWT_Cache/Textures/20/mbs845372x437405.jpg new file mode 100644 index 000000000..03f9107da Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437406.jpg b/RWT_Cache/Textures/20/mbs845372x437406.jpg new file mode 100644 index 000000000..c18bb9036 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437407.jpg b/RWT_Cache/Textures/20/mbs845372x437407.jpg new file mode 100644 index 000000000..a860d3fb2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437408.jpg b/RWT_Cache/Textures/20/mbs845372x437408.jpg new file mode 100644 index 000000000..db218e2b6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437409.jpg b/RWT_Cache/Textures/20/mbs845372x437409.jpg new file mode 100644 index 000000000..d9f3ba65a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437410.jpg b/RWT_Cache/Textures/20/mbs845372x437410.jpg new file mode 100644 index 000000000..a4daad08f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437411.jpg b/RWT_Cache/Textures/20/mbs845372x437411.jpg new file mode 100644 index 000000000..a935ae0a3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437412.jpg b/RWT_Cache/Textures/20/mbs845372x437412.jpg new file mode 100644 index 000000000..acb27e82c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437413.jpg b/RWT_Cache/Textures/20/mbs845372x437413.jpg new file mode 100644 index 000000000..598c03700 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437414.jpg b/RWT_Cache/Textures/20/mbs845372x437414.jpg new file mode 100644 index 000000000..a96b44006 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437415.jpg b/RWT_Cache/Textures/20/mbs845372x437415.jpg new file mode 100644 index 000000000..ee386b2b3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437416.jpg b/RWT_Cache/Textures/20/mbs845372x437416.jpg new file mode 100644 index 000000000..26b36a60a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437417.jpg b/RWT_Cache/Textures/20/mbs845372x437417.jpg new file mode 100644 index 000000000..4aef427b0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437418.jpg b/RWT_Cache/Textures/20/mbs845372x437418.jpg new file mode 100644 index 000000000..719f2e744 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437419.jpg b/RWT_Cache/Textures/20/mbs845372x437419.jpg new file mode 100644 index 000000000..df4b286d4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437420.jpg b/RWT_Cache/Textures/20/mbs845372x437420.jpg new file mode 100644 index 000000000..08d264c07 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437421.jpg b/RWT_Cache/Textures/20/mbs845372x437421.jpg new file mode 100644 index 000000000..8f361160b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437422.jpg b/RWT_Cache/Textures/20/mbs845372x437422.jpg new file mode 100644 index 000000000..189c6616d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437423.jpg b/RWT_Cache/Textures/20/mbs845372x437423.jpg new file mode 100644 index 000000000..c25c4469a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437424.jpg b/RWT_Cache/Textures/20/mbs845372x437424.jpg new file mode 100644 index 000000000..b46bea7a2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437425.jpg b/RWT_Cache/Textures/20/mbs845372x437425.jpg new file mode 100644 index 000000000..33c579ef9 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437426.jpg b/RWT_Cache/Textures/20/mbs845372x437426.jpg new file mode 100644 index 000000000..4951d1033 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437427.jpg b/RWT_Cache/Textures/20/mbs845372x437427.jpg new file mode 100644 index 000000000..240f05969 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437428.jpg b/RWT_Cache/Textures/20/mbs845372x437428.jpg new file mode 100644 index 000000000..835c31d7b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437429.jpg b/RWT_Cache/Textures/20/mbs845372x437429.jpg new file mode 100644 index 000000000..7f98ce663 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437430.jpg b/RWT_Cache/Textures/20/mbs845372x437430.jpg new file mode 100644 index 000000000..9cba6b925 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437431.jpg b/RWT_Cache/Textures/20/mbs845372x437431.jpg new file mode 100644 index 000000000..34ec09f8a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437432.jpg b/RWT_Cache/Textures/20/mbs845372x437432.jpg new file mode 100644 index 000000000..a06805ad4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437433.jpg b/RWT_Cache/Textures/20/mbs845372x437433.jpg new file mode 100644 index 000000000..1a56bbe5d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437434.jpg b/RWT_Cache/Textures/20/mbs845372x437434.jpg new file mode 100644 index 000000000..42866b3ca Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437435.jpg b/RWT_Cache/Textures/20/mbs845372x437435.jpg new file mode 100644 index 000000000..499705f6a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437436.jpg b/RWT_Cache/Textures/20/mbs845372x437436.jpg new file mode 100644 index 000000000..343ed0710 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437437.jpg b/RWT_Cache/Textures/20/mbs845372x437437.jpg new file mode 100644 index 000000000..0bbc24fc7 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437438.jpg b/RWT_Cache/Textures/20/mbs845372x437438.jpg new file mode 100644 index 000000000..bb9eff413 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437439.jpg b/RWT_Cache/Textures/20/mbs845372x437439.jpg new file mode 100644 index 000000000..5757a4058 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437440.jpg b/RWT_Cache/Textures/20/mbs845372x437440.jpg new file mode 100644 index 000000000..bef03dcb6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437441.jpg b/RWT_Cache/Textures/20/mbs845372x437441.jpg new file mode 100644 index 000000000..9b8d38da6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437442.jpg b/RWT_Cache/Textures/20/mbs845372x437442.jpg new file mode 100644 index 000000000..82f5e4257 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437443.jpg b/RWT_Cache/Textures/20/mbs845372x437443.jpg new file mode 100644 index 000000000..55eb8a37f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437444.jpg b/RWT_Cache/Textures/20/mbs845372x437444.jpg new file mode 100644 index 000000000..c46b347ac Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845372x437445.jpg b/RWT_Cache/Textures/20/mbs845372x437445.jpg new file mode 100644 index 000000000..825cb7d89 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845372x437445.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437391.jpg b/RWT_Cache/Textures/20/mbs845373x437391.jpg new file mode 100644 index 000000000..da20872da Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437391.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437392.jpg b/RWT_Cache/Textures/20/mbs845373x437392.jpg new file mode 100644 index 000000000..67c7faf07 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437392.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437393.jpg b/RWT_Cache/Textures/20/mbs845373x437393.jpg new file mode 100644 index 000000000..0b461d40b Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437393.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437394.jpg b/RWT_Cache/Textures/20/mbs845373x437394.jpg new file mode 100644 index 000000000..3b5939ecd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437394.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437395.jpg b/RWT_Cache/Textures/20/mbs845373x437395.jpg new file mode 100644 index 000000000..23dfa808c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437395.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437396.jpg b/RWT_Cache/Textures/20/mbs845373x437396.jpg new file mode 100644 index 000000000..06c1f5de4 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437396.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437397.jpg b/RWT_Cache/Textures/20/mbs845373x437397.jpg new file mode 100644 index 000000000..20b8fd579 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437397.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437398.jpg b/RWT_Cache/Textures/20/mbs845373x437398.jpg new file mode 100644 index 000000000..dec5d06c6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437398.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437399.jpg b/RWT_Cache/Textures/20/mbs845373x437399.jpg new file mode 100644 index 000000000..34adeec8f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437399.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437400.jpg b/RWT_Cache/Textures/20/mbs845373x437400.jpg new file mode 100644 index 000000000..3d93fe305 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437400.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437401.jpg b/RWT_Cache/Textures/20/mbs845373x437401.jpg new file mode 100644 index 000000000..03f9107da Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437401.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437402.jpg b/RWT_Cache/Textures/20/mbs845373x437402.jpg new file mode 100644 index 000000000..03f9107da Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437402.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437403.jpg b/RWT_Cache/Textures/20/mbs845373x437403.jpg new file mode 100644 index 000000000..03f9107da Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437403.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437404.jpg b/RWT_Cache/Textures/20/mbs845373x437404.jpg new file mode 100644 index 000000000..03f9107da Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437404.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437405.jpg b/RWT_Cache/Textures/20/mbs845373x437405.jpg new file mode 100644 index 000000000..adff44920 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437405.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437406.jpg b/RWT_Cache/Textures/20/mbs845373x437406.jpg new file mode 100644 index 000000000..84c4fb6fd Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437406.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437407.jpg b/RWT_Cache/Textures/20/mbs845373x437407.jpg new file mode 100644 index 000000000..a860d3fb2 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437407.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437408.jpg b/RWT_Cache/Textures/20/mbs845373x437408.jpg new file mode 100644 index 000000000..db218e2b6 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437408.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437409.jpg b/RWT_Cache/Textures/20/mbs845373x437409.jpg new file mode 100644 index 000000000..03f9107da Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437409.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437410.jpg b/RWT_Cache/Textures/20/mbs845373x437410.jpg new file mode 100644 index 000000000..5b6d0a00d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437410.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437411.jpg b/RWT_Cache/Textures/20/mbs845373x437411.jpg new file mode 100644 index 000000000..cf570769a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437411.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437412.jpg b/RWT_Cache/Textures/20/mbs845373x437412.jpg new file mode 100644 index 000000000..029531638 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437412.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437413.jpg b/RWT_Cache/Textures/20/mbs845373x437413.jpg new file mode 100644 index 000000000..80acb2c2c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437413.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437414.jpg b/RWT_Cache/Textures/20/mbs845373x437414.jpg new file mode 100644 index 000000000..a9cf3960c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437414.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437415.jpg b/RWT_Cache/Textures/20/mbs845373x437415.jpg new file mode 100644 index 000000000..b4d7d0007 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437415.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437416.jpg b/RWT_Cache/Textures/20/mbs845373x437416.jpg new file mode 100644 index 000000000..c88f8dcb0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437416.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437417.jpg b/RWT_Cache/Textures/20/mbs845373x437417.jpg new file mode 100644 index 000000000..d69970fc5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437417.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437418.jpg b/RWT_Cache/Textures/20/mbs845373x437418.jpg new file mode 100644 index 000000000..29a275272 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437418.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437419.jpg b/RWT_Cache/Textures/20/mbs845373x437419.jpg new file mode 100644 index 000000000..898d940ad Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437419.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437420.jpg b/RWT_Cache/Textures/20/mbs845373x437420.jpg new file mode 100644 index 000000000..b0314557c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437420.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437421.jpg b/RWT_Cache/Textures/20/mbs845373x437421.jpg new file mode 100644 index 000000000..4d438b570 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437421.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437422.jpg b/RWT_Cache/Textures/20/mbs845373x437422.jpg new file mode 100644 index 000000000..03722f0e8 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437422.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437423.jpg b/RWT_Cache/Textures/20/mbs845373x437423.jpg new file mode 100644 index 000000000..74c3436be Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437423.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437424.jpg b/RWT_Cache/Textures/20/mbs845373x437424.jpg new file mode 100644 index 000000000..4acf19aa5 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437424.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437425.jpg b/RWT_Cache/Textures/20/mbs845373x437425.jpg new file mode 100644 index 000000000..9c8d66a73 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437425.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437426.jpg b/RWT_Cache/Textures/20/mbs845373x437426.jpg new file mode 100644 index 000000000..4f9236070 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437426.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437427.jpg b/RWT_Cache/Textures/20/mbs845373x437427.jpg new file mode 100644 index 000000000..e0384ad5d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437427.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437428.jpg b/RWT_Cache/Textures/20/mbs845373x437428.jpg new file mode 100644 index 000000000..c1af134a1 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437428.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437429.jpg b/RWT_Cache/Textures/20/mbs845373x437429.jpg new file mode 100644 index 000000000..616903993 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437429.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437430.jpg b/RWT_Cache/Textures/20/mbs845373x437430.jpg new file mode 100644 index 000000000..3235e8e8e Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437430.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437431.jpg b/RWT_Cache/Textures/20/mbs845373x437431.jpg new file mode 100644 index 000000000..341736fa0 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437431.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437432.jpg b/RWT_Cache/Textures/20/mbs845373x437432.jpg new file mode 100644 index 000000000..a34bf6d73 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437432.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437433.jpg b/RWT_Cache/Textures/20/mbs845373x437433.jpg new file mode 100644 index 000000000..b20b2bb55 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437433.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437434.jpg b/RWT_Cache/Textures/20/mbs845373x437434.jpg new file mode 100644 index 000000000..2694ae969 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437434.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437435.jpg b/RWT_Cache/Textures/20/mbs845373x437435.jpg new file mode 100644 index 000000000..19a48621d Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437435.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437436.jpg b/RWT_Cache/Textures/20/mbs845373x437436.jpg new file mode 100644 index 000000000..936b19a24 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437436.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437437.jpg b/RWT_Cache/Textures/20/mbs845373x437437.jpg new file mode 100644 index 000000000..762190061 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437437.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437438.jpg b/RWT_Cache/Textures/20/mbs845373x437438.jpg new file mode 100644 index 000000000..9a064688c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437438.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437439.jpg b/RWT_Cache/Textures/20/mbs845373x437439.jpg new file mode 100644 index 000000000..7ac4e7c5f Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437439.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437440.jpg b/RWT_Cache/Textures/20/mbs845373x437440.jpg new file mode 100644 index 000000000..8817021b3 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437440.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437441.jpg b/RWT_Cache/Textures/20/mbs845373x437441.jpg new file mode 100644 index 000000000..ed54fb382 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437441.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437442.jpg b/RWT_Cache/Textures/20/mbs845373x437442.jpg new file mode 100644 index 000000000..ec0fa2e13 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437442.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437443.jpg b/RWT_Cache/Textures/20/mbs845373x437443.jpg new file mode 100644 index 000000000..46f5fcd0a Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437443.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437444.jpg b/RWT_Cache/Textures/20/mbs845373x437444.jpg new file mode 100644 index 000000000..15098952c Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437444.jpg differ diff --git a/RWT_Cache/Textures/20/mbs845373x437445.jpg b/RWT_Cache/Textures/20/mbs845373x437445.jpg new file mode 100644 index 000000000..b31873154 Binary files /dev/null and b/RWT_Cache/Textures/20/mbs845373x437445.jpg differ diff --git a/RWT_Cache/Textures/5/ag25x13.jpg b/RWT_Cache/Textures/5/ag25x13.jpg new file mode 100644 index 000000000..73dd41b04 Binary files /dev/null and b/RWT_Cache/Textures/5/ag25x13.jpg differ diff --git a/RWT_Cache/Textures/5/mbs25x13.jpg b/RWT_Cache/Textures/5/mbs25x13.jpg new file mode 100644 index 000000000..a531dc616 Binary files /dev/null and b/RWT_Cache/Textures/5/mbs25x13.jpg differ diff --git a/RWT_Cache/Textures/5/s2s25x13.jpg b/RWT_Cache/Textures/5/s2s25x13.jpg new file mode 100644 index 000000000..b7be4cf73 Binary files /dev/null and b/RWT_Cache/Textures/5/s2s25x13.jpg differ diff --git a/RWT_Cache/Textures/6/ag51x26.jpg b/RWT_Cache/Textures/6/ag51x26.jpg new file mode 100644 index 000000000..737306acd Binary files /dev/null and b/RWT_Cache/Textures/6/ag51x26.jpg differ diff --git a/RWT_Cache/Textures/6/mbs51x26.jpg b/RWT_Cache/Textures/6/mbs51x26.jpg new file mode 100644 index 000000000..2847d4478 Binary files /dev/null and b/RWT_Cache/Textures/6/mbs51x26.jpg differ diff --git a/RWT_Cache/Textures/6/s2s51x26.jpg b/RWT_Cache/Textures/6/s2s51x26.jpg new file mode 100644 index 000000000..b7be4cf73 Binary files /dev/null and b/RWT_Cache/Textures/6/s2s51x26.jpg differ diff --git a/RWT_Cache/Textures/7/ag103x53.jpg b/RWT_Cache/Textures/7/ag103x53.jpg new file mode 100644 index 000000000..024d75d89 Binary files /dev/null and b/RWT_Cache/Textures/7/ag103x53.jpg differ diff --git a/RWT_Cache/Textures/7/mbs103x53.jpg b/RWT_Cache/Textures/7/mbs103x53.jpg new file mode 100644 index 000000000..ac09a0036 Binary files /dev/null and b/RWT_Cache/Textures/7/mbs103x53.jpg differ diff --git a/RWT_Cache/Textures/7/s2s103x53.jpg b/RWT_Cache/Textures/7/s2s103x53.jpg new file mode 100644 index 000000000..c3331394f Binary files /dev/null and b/RWT_Cache/Textures/7/s2s103x53.jpg differ diff --git a/RWT_Cache/Textures/8/ag206x106.jpg b/RWT_Cache/Textures/8/ag206x106.jpg new file mode 100644 index 000000000..d4ecd7404 Binary files /dev/null and b/RWT_Cache/Textures/8/ag206x106.jpg differ diff --git a/RWT_Cache/Textures/8/mbs206x106.jpg b/RWT_Cache/Textures/8/mbs206x106.jpg new file mode 100644 index 000000000..401648b11 Binary files /dev/null and b/RWT_Cache/Textures/8/mbs206x106.jpg differ diff --git a/RWT_Cache/Textures/8/s2s206x106.jpg b/RWT_Cache/Textures/8/s2s206x106.jpg new file mode 100644 index 000000000..75de5879c Binary files /dev/null and b/RWT_Cache/Textures/8/s2s206x106.jpg differ diff --git a/RWT_Cache/Textures/9/ag412x213.jpg b/RWT_Cache/Textures/9/ag412x213.jpg new file mode 100644 index 000000000..f8b6b2c9c Binary files /dev/null and b/RWT_Cache/Textures/9/ag412x213.jpg differ diff --git a/RWT_Cache/Textures/9/mbs412x213.jpg b/RWT_Cache/Textures/9/mbs412x213.jpg new file mode 100644 index 000000000..ae2353105 Binary files /dev/null and b/RWT_Cache/Textures/9/mbs412x213.jpg differ diff --git a/RWT_Cache/Textures/9/s2s412x213.jpg b/RWT_Cache/Textures/9/s2s412x213.jpg new file mode 100644 index 000000000..331ba9834 Binary files /dev/null and b/RWT_Cache/Textures/9/s2s412x213.jpg differ diff --git a/RealWorldTerrainPrefs.xml b/RealWorldTerrainPrefs.xml new file mode 100644 index 000000000..029d69556 --- /dev/null +++ b/RealWorldTerrainPrefs.xml @@ -0,0 +1 @@ +110.216266353617110.234232659328.569119361873928.5533394354234False00FalseFalseFalseFalseTrueFalse110followRealWorldData3.5517500TrueTrueFalsenoneFalsefull00True100removeOutsidePointsTrueTrue1True-1simpleFalse1001002048False409602048MapboxautoDetectrealWorld5006005001024False4097False10000autoDetect0Windows10241024RAW16terrain0111texture204813130True11jpg100virtualEarth81928192FalseregularTexturesatellite0016100 \ No newline at end of file diff --git a/UserSettings/EditorUserSettings.asset b/UserSettings/EditorUserSettings.asset index 02b5bb3f8..9e6bbb0ad 100644 --- a/UserSettings/EditorUserSettings.asset +++ b/UserSettings/EditorUserSettings.asset @@ -9,34 +9,34 @@ EditorUserSettings: value: 18134705175a055722080a3115371d4a0d55006876786860616b0471b8b07a68ffab74f9ee2a3a30300cea1a11320d0beb1a0c25f7060f494b4cc80018eb09361fc211cb1f862d19c51d19dcc413d6ade0d8ddfcddf9f4d9d29195fcfde6ebeae6f0a9c9afa6f8c5b89ff7a1aacececac4eba4d7c9d28bda flags: 0 RecentlyUsedSceneGuid-0: - value: 530104565505590b0b080a24162559164447487a7c7876607b2a1f35b3b56339 - flags: 0 - RecentlyUsedSceneGuid-1: - value: 00040d04510d5803555c542648255d4413154f2f28787761282b1f61b5b3363a - flags: 0 - RecentlyUsedSceneGuid-2: value: 53010456015659085c5e5c7240730f404647487a7c7876607c794d63b2b06468 flags: 0 - RecentlyUsedSceneGuid-3: + RecentlyUsedSceneGuid-1: value: 5a010607560c0c0d5857547441745c44434e4e2c287824322e7a1b35b5b6626f flags: 0 - RecentlyUsedSceneGuid-4: + RecentlyUsedSceneGuid-2: value: 5b0056045c070d0c595a097b447b0b46174241737a7e76612c284d30e4e5643b flags: 0 - RecentlyUsedSceneGuid-5: - value: 5505015f5c515a085f5b092149760f441716407a787d7564287b1b36e7e1366e - flags: 0 - RecentlyUsedSceneGuid-6: + RecentlyUsedSceneGuid-3: value: 0150055704510808545c0a26467506444516197a747874637b7e1860b5b6616c flags: 0 + RecentlyUsedSceneGuid-4: + value: 5a50055e06565c5f5e5b597146255b44444f1d287a2d7f602f7a4963b0b56c61 + flags: 0 + RecentlyUsedSceneGuid-5: + value: 5605005704035a090c585f77477108444215417f7d2e2767292a4e6ab2e46761 + flags: 0 + RecentlyUsedSceneGuid-6: + value: 00060704540c500b0856557741770c44444f1b2f7f7d753675281e37bab1316e + flags: 0 RecentlyUsedSceneGuid-7: - value: 020056535456585e0f0d0a7541210d441215482c2d297f36752c1b65b3b0376e + value: 5505015f5c515a085f5b092149760f441716407a787d7564287b1b36e7e1366e flags: 0 RecentlyUsedSceneGuid-8: - value: 025005075d000f0c095c0f7145730b4447161e2c787923327a7c4965e0b66669 + value: 020056535456585e0f0d0a7541210d441215482c2d297f36752c1b65b3b0376e flags: 0 RecentlyUsedSceneGuid-9: - value: 5a50055e06565c5f5e5b597146255b44444f1d287a2d7f602f7a4963b0b56c61 + value: 025005075d000f0c095c0f7145730b4447161e2c787923327a7c4965e0b66669 flags: 0 UnityEditor.ShaderGraph.Blackboard: value: 18135939215a0a5004000b0e15254b524c030a3f2964643d120d1230e9e93a3fd6e826abbd2e2d293c4ead313b08042de6030a0afa240c0d020be94c4ba75e435d8715fa32c70d15d11612dacc11fee5d3c5d1fe9ab1bf968e93e2ffcbc3e7e2f0b3ffe0e8b0be9afeffa9ffff8e85dd8390e2969e8899daa7