Benutzer:Killfetzer/Spielplatz: Unterschied zwischen den Versionen

Keine Bearbeitungszusammenfassung
Zeile 6: Zeile 6:
*[[Benutzer:Killfetzer/Spielplatz/1|Spielplatz/1]] - Achtzigjähriger Krieg
*[[Benutzer:Killfetzer/Spielplatz/1|Spielplatz/1]] - Achtzigjähriger Krieg
*[[Benutzer:Killfetzer/Spielplatz/2|Spielplatz/2]] - ini-Hack für Morrowind
*[[Benutzer:Killfetzer/Spielplatz/2|Spielplatz/2]] - ini-Hack für Morrowind
*[[Benutzer:Killfetzer/Spielplatz/3|Spielplatz/3]] - Schlacht am Roten Berg
*[[Benutzer:Killfetzer/Spielplatz/3|Spielplatz/3]] - leer


__TOC__
__TOC__

Version vom 12. April 2009, 16:34 Uhr

Erklärung

Das ist Killfetzers Spielplatz, so dass er nicht ständig neue Testseiten erstellen muss ;) --Deepfighter 12:43, 27. Sep. 2007 (CEST)

Ich hab mal ein wenig Ordnung gemacht und die Artikel auf Unterseiten verteilt. --Killfetzer 11:07, 7. Dez. 2008 (CET)

Notizen

(Dwemer)

  • Guylaine's Architecture of the Second Empire
  • Nchunak's Fire and Faith
  • Ruinen von Kemel-Ze
  • Nchuleftingth Excavation Report 11 / Senellius' Report
  • Chroniken von Nchuleft


  • Sandas-Ahnengruft


  • No-h's Picture Book of Wood

Aussprache

  • Cyrodiil - Kürodil (Begrüßung Gramfeste, Imperial für Imperial)
  • Pelagiad - Pe-là-giad (Begrüßung von Dunmer in Pelagiad)
  • Khuul - Khu-ul (Begrüßung Dunmer in Khuul)
  • Elswyr - Elsweir (Begrüßung Gramfeste, Imperial für Khajiit)
  • Dwemer - Dwemer (Martin Septim, Vholendrung als Daedraertefakt abgegeben)


Attributtabelle

Daggerfall Morrowind Oblivion
Männlich Weiblich Männlich Weiblich Männlich Weiblich
Stärke    Stärke Stärke    60 50 50 50 50 50
Intelligenz    Intelligenz Intelligenz    40 40 30 30 30 30
Willenskraft    Willenskraft Willenskraft    40 50 40 50 30 40
Geschicklichkeit    Geschicklichkeit Geschicklichkeit    40 50 30 30 40 40
Schnelligkeit    Schnelligkeit Schnelligkeit    50 50 40 40 40 40
Konstitution    Konstitution Konstitution    60 50 50 40 50 40
Charisma    Charisma Charisma    50 50 30 30 30 30
Glück    Glück Glück    50 60 40 40 50 50


Attributtabelle 2

Attribute    Daggerfall Morrowind Oblivion
m w m w m w
Stärke    Stärke Stärke    10 20 30 40 50 60
Intelligenz    Intelligenz Intelligenz    10 20 30 40 50 60


Test

1

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> <title>Tamriel-Almanach - Interaktive Nirnkarte</title> <link rel="author" title="Impressum" href="http://www.scharesoft.de/joomla/almanach/index.php/Tamriel-Almanach:Impressum" /> <link rel="top" title="Startseite" href="http://www.scharesoft.de/joomla/almanach/index.php/Hauptseite" /> <link rel="shortcut icon" href="http://www.scharesoft.de/joomla/almanach/index.php/favicon.ico" /> <link rel="stylesheet" type="text/css" href="map.css" /> <script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAgPiOGdZvwyyVmc2RZrG3JBS-Vs_dbl0vhd_ymT5RsBDgC2O1exS8IvZpztApH-WS_5i5QgB4nNLpNQ" type="text/javascript"></script> <script src="map-common.js" type="text/javascript"></script> </head> <body> <div id="navbar"> <div id="logo"> <a title="Hauptseite anzeigen" href="http://www.scharesoft.de/joomla/almanach/index.php/Hauptseite" style="background-image: url(http://www.scharesoft.de/joomla/almanach/skins/common/images/almanach.png);"></a> </div> <div class="navcat"> <h5>Navigation</h5> <div class="navcat_list"> <ul> <li><a href="http://www.scharesoft.de/joomla/almanach/index.php/Hauptseite" title="Hauptseite anzeigen">Hauptseite</a></li> <li><a href="http://www.scharesoft.de/joomla/almanach/index.php/Spezial:Letzte_%C3%84nderungen" title="Liste der letzten Änderungen in Tamriel-Almanach">Letzte Änderungen</a></li> <li><a href="http://www.scharesoft.de/joomla/almanach/index.php/Tamriel-Almanach:Community-Portal">Community-Portal</a></li> <li><a href="http://www.scharesoft.de/joomla/almanach/nirn/">Interaktive Karte</a></li> <li><a href="http://www.scharesoft.de/joomla/almanach/index.php/Spezial:Alle_Seiten">Alle Seiten</a></li> <li><a href="http://www.scharesoft.de/joomla/almanach/index.php/Spezial:Zuf%C3%A4llige_Seite" title="Zufällige Seite">Zufällige Seite</a></li> <li><a href="http://www.scharesoft.de/joomla/almanach/index.php/Hauptseite/Hilfe" title="Hilfeseite anzeigen">Hilfe</a></li> <li><a href="http://www.scharesoft.de/joomla/forum/forumdisplay.php?f=34">Forum</a></li> </ul> </div> </div> <div class="navcat"> <h5>Links</h5> <div class="navcat_list"> <ul> <li><a href="http://www.scharesoft.de/">Scharesoft-Portal</a></li> <li><a href="http://www.scharesoft.de/joomla/almanach/index.php/Tamriel-Almanach:Impressum">Impressum</a></li> </ul> </div> </div> </div> <div id="content"> <h1 class="title">Interaktive Nirn-Karte</h1> <div id="map_area"> <div id="ta_nirnmap"></div> </div> <script type="text/javascript"> //<![CDATA[ var OorImage = "http://www.scharesoft.de/joomla/almanach/nirn/water.jpg"; if (GBrowserIsCompatible()) { // ===== The Mercator map, exactly like that in the "custommaptile" example ===== var tilelayers = [new GTileLayer(new GCopyrightCollection("Tamriel: scharesoft.de"), 8, 15)]; tilelayers[0].getCopyright = function(a,b) { return {prefix:"Tamriel: ", copyrightTexts:["scharesoft.de"]}; } tilelayers[0].getTileUrl = CustomGetTileUrl; var custommap = new GMapType(tilelayers, G_NORMAL_MAP.getProjection(), "Mercator", {errorMessage: ""}); // ===== Create a Map Type that uses the Euclidean projection ===== var tilelayers2 = [new GTileLayer(new GCopyrightCollection("Tamriel: scharesoft.de"), 8, 15)]; tilelayers2[0].getCopyright = function(a, b) { return {prefix: "Tamriel:", copyrightTexts: ["scharesoft.de"]}; }; tilelayers2[0].getTileUrl = CustomGetTileUrl; var custommap2 = new GMapType(tilelayers2, new EuclideanProjection(17), "Euclidean", {errorMessage: ""}); // == Open a map with these two custom map types == var map = new GMap2(document.getElementById("ta_nirnmap"), {mapTypes: [custommap2]}); map.addControl(new GLargeMapControl()); map.addControl(new GMapTypeControl()); map.setCenter(new GLatLng(89.05, -177.90), 9, custommap2); map.enableContinuousZoom(); map.enableScrollWheelZoom(); GEvent.addListener(map, 'click', function(overlay, point){ if (point){ document.getElementById('latitude').value = point.y; document.getElementById('longitude').value = point.x; } } ); // Cyrodiil addMarker(89.03058528900146, -177.85929679870605, '<div style="text-align:left; align:left;"><p style="font-family:Arial, sans-serif; font-size:12pt; margin-bottom:3px; font-weight:bold; padding-bottom:0px;">Kaiserstadt</p><p style="font-family:Arial, sans-serif; font-size:9pt; display:block; margin-left:10px;">Stadt<br />Herzlande - Cyrodiil<br /><a href="http://www.scharesoft.de/joomla/almanach/index.php/Kaiserstadt" target="_blank">Kaiserstadt</a></p></div>', 3); addMarker(88.8588809967041, -177.56657123565674, '<div style="text-align:left; align:left;"><p style="font-family:Arial, sans-serif; font-size:12pt; margin-bottom:3px; font-weight:bold; padding-bottom:0px;">Welke</p><p style="font-family:Arial, sans-serif; font-size:9pt; display:block; margin-left:10px;">Ayleid-Ruine<br />Dunkelforst - Cyrodiil<br /><a href="http://www.scharesoft.de/joomla/almanach/index.php/Welke" target="_blank">Welke</a></p></div>', 4); addMarker(89.07755613327026, -178.15549850463867, '<div style="text-align:left; align:left;"><p style="font-family:Arial, sans-serif; font-size:12pt; margin-bottom:3px; font-weight:bold; padding-bottom:0px;">Festung Schlachthorn</p><p style="font-family:Arial, sans-serif; font-size:9pt; display:block; margin-left:10px;">Festung<br />Colovianisches Hochland - Cyrodiil<br /><a href="http://www.scharesoft.de/joomla/almanach/index.php/Festung_Schlachthorn" target="_blank">Festung Schlachthorn</a></p></div>', 5); addMarker(88.98468732833862, -178.39234828948975, '<div style="text-align:left; align:left;"><p style="font-family:Arial, sans-serif; font-size:12pt; margin-bottom:3px; font-weight:bold; padding-bottom:0px;">Varus-Lager</p><p style="font-family:Arial, sans-serif; font-size:9pt; display:block; margin-left:10px;">Lager<br />Colovianisches Hochland - Cyrodiil<br /><a href="http://www.scharesoft.de/joomla/almanach/index.php/Varus-Lager" target="_blank">Varus-Lager</a></p></div>', 1); // Vvardenfell addMarker(89.17263507843018, -177.4189853668213, '<div style="text-align:left; align:left;"><p style="font-family:Arial, sans-serif; font-size:12pt; margin-bottom:3px; font-weight:bold; padding-bottom:0px;">Darvame Hleran</p><p style="font-family:Arial, sans-serif; font-size:9pt; display:block; margin-left:10px;">Schlickschreiter-Führerin<br />Seyda Neen - Vvardenfell<br /><a href="http://www.scharesoft.de/joomla/almanach/index.php/Schlickschreiter-F%C3%A4hrdienst" target="_blank">Schlickschreiter-Fährdienst</a> - <a href="http://www.scharesoft.de/joomla/almanach/index.php/Darvame_Hleran" target="_blank">Darvame Hleran</a></p></div>', 14); addMarker(89.29837703704834, -177.54631519317627, '<div style="text-align:left; align:left;"><p style="font-family:Arial, sans-serif; font-size:12pt; margin-bottom:3px; font-weight:bold; padding-bottom:0px;">Arkngthunch-Sturdumz</p><p style="font-family:Arial, sans-serif; font-size:9pt; display:block; margin-left:10px;">Dwemer-Ruine<br />Westspalte - Vvardenfell<br /><a href="http://www.scharesoft.de/joomla/almanach/index.php/Arkngthunch-Sturdumz" target="_blank">Arkngthunch-Sturdumz</a></p></div>', 12); addMarker(89.24657821655273, -177.21745491027832, '<div style="text-align:left; align:left;"><p style="font-family:Arial, sans-serif; font-size:12pt; margin-bottom:3px; font-weight:bold; padding-bottom:0px;">Elf-Skerring</p><p style="font-family:Arial, sans-serif; font-size:9pt; display:block; margin-left:10px;">Schiff<br />Sadrith Mora - Vvardenfell<br /><a href="http://www.scharesoft.de/joomla/almanach/index.php/Elf-Skerring" target="_blank">Elf-Skerring</a> - <a href="http://www.scharesoft.de/joomla/almanach/index.php/Gals_Arethi" target="_blank">Gals Arethi</a></p></div>', 13); // Morrowind addMarker(89.04041290283203, -177.13488578796387, '<div style="text-align:left; align:left;"><p style="font-family:Arial, sans-serif; font-size:12pt; margin-bottom:3px; font-weight:bold; padding-bottom:0px;">Gramfeste</p><p style="font-family:Arial, sans-serif; font-size:9pt; display:block; margin-left:10px;">Stadt<br />Morrowind<br /><a href="http://www.scharesoft.de/joomla/almanach/index.php/Gramfeste" target="_blank">Gramfeste</a></p></div>', 3); // Stros M'Kai addMarker(88.96539688110352, -178.85119915008545, '<div style="text-align:left; align:left;"><p style="font-family:Arial, sans-serif; font-size:12pt; margin-bottom:3px; font-weight:bold; padding-bottom:0px;">Stros M'Kai</p><p style="font-family:Arial, sans-serif; font-size:9pt; display:block; margin-left:10px;">Stadt<br />Stros M'Kai - Hammerfell<br /><a href="http://www.scharesoft.de/joomla/almanach/index.php/Stros_M%27Kai_(Stadt)" target="_blank">Stros M'Kai</a></p></div>', 3); // Hochfels addMarker(89.19233322143555, -178.7010383605957, '<div style="text-align:left; align:left;"><p style="font-family:Arial, sans-serif; font-size:12pt; margin-bottom:3px; font-weight:bold; padding-bottom:0px;">Wegesruh</p><p style="font-family:Arial, sans-serif; font-size:9pt; display:block; margin-left:10px;">Stadt<br />Hochfels - Illiac Bucht<br /><a href="http://www.scharesoft.de/joomla/almanach/index.php/Wegesruh_(Stadt)" target="_blank">Wegesruh</a></p></div>', 3); // Schwarzmarsch addMarker(88.7640380859375, -177.55897521972656, '<div style="text-align:left; align:left;"><p style="font-family:Arial, sans-serif; font-size:12pt; margin-bottom:3px; font-weight:bold; padding-bottom:0px;">Gideon</p><p style="font-family:Arial, sans-serif; font-size:9pt; display:block; margin-left:10px;">Stadt<br />Schwarzmarsch - Kaiserliches Schutzgebiet<br /><a href="http://www.scharesoft.de/joomla/almanach/index.php/Gideon" target="_blank">Gideon</a></p></div>', 3); // Summerset-Inseln addMarker(88.73571395874023, -179.0277099609375, '<div style="text-align:left; align:left;"><p style="font-family:Arial, sans-serif; font-size:12pt; margin-bottom:3px; font-weight:bold; padding-bottom:0px;">Alinor</p><p style="font-family:Arial, sans-serif; font-size:9pt; display:block; margin-left:10px;">Stadt<br />Summerset-Inseln <br /><a href="http://www.scharesoft.de/joomla/almanach/index.php/Alinor" target="_blank">Alinor</a></p></div>', 3); // Himmelsrand addMarker(89.35317993164062, -177.9572296142578, '<div style="text-align:left; align:left;"><p style="font-family:Arial, sans-serif; font-size:12pt; margin-bottom:3px; font-weight:bold; padding-bottom:0px;">Dämmerstern</p><p style="font-family:Arial, sans-serif; font-size:9pt; display:block; margin-left:10px;">Stadt<br />Himmelsrand<br /><a href="http://www.scharesoft.de/joomla/almanach/index.php/D%C3%A4mmerstern" target="_blank">Dämmerstern</a></p></div>', 3); // Elsweyr addMarker(88.72352600097656, -178.0011749267578, '<div style="text-align:left; align:left;"><p style="font-family:Arial, sans-serif; font-size:12pt; margin-bottom:3px; font-weight:bold; padding-bottom:0px;">Torval</p><p style="font-family:Arial, sans-serif; font-size:9pt; display:block; margin-left:10px;">Stadt<br />Elsweyr<br /><a href="http://www.scharesoft.de/joomla/almanach/index.php/Torval_(Stadt)" target="_blank">Torval</a></p></div>', 3); // Add a move listener to restrict the bounds range GEvent.addListener(map, "move", function() { checkBounds(); }); // The allowed region which the whole map must be within var allowedBounds = new GLatLngBounds(new GLatLng(87.89, -179.9999), new GLatLng(89.9999, -176.50)); // ======== Add a map overview ========== map.addControl(new GOverviewMapControl(new GSize(200, 160))); // ======== Cause the overview to be positioned AFTER IE sets its initial position ======== setTimeout("positionOverview(800,0)", 1); taUpdateMapFromInput() // display a warning if the browser was not compatible } else { alert("Es tut uns Leid, aber Google Maps API ist mit Ihrem Browser nicht kompatibel."); } //]]> </script> </div> </body> </html>

2

body { -x-system-font: none; background: #F9F9F9 url(http://www.scharesoft.de/joomla/almanach/skins/monobook/headbg.jpg) no-repeat scroll 0 0; color: black; font-family: "Arial", sans-serif; font-size: x-small; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; margin: 0px; padding: 0px; } #navbar { position: absolute; top: 0px; left: 0px; padding: 0px; margin: 0px; width: 12.2em; border: none; font-size: 127%; } #logo { height: 155px; width: 100%; text-align: center; border: none; margin: 0px; padding: 0px; } #logo a { background-position: 35% 50%; background-repeat: no-repeat; display: block; height: 155px; text-decoration: none; width: 12.2em; } div.navcat { border: medium none; float: none; margin: 5px 0 0.5em 0; overflow: hidden; padding: 0; width: 11.6em; } div.navcat_list { background-color: white; border: 1px solid silver; border-collapse: collapse; color: black; font-size: 95%; padding: 0 0.8em 0.3em 0.5em; -moz-border-radius-bottomright: 1em; -moz-border-radius-topright: 1em; } #content { position: absolute; left: 12.2em; right: 0px; top: 0px; bottom: 0px; margin: 2.8em 0 0.6em 0; -moz-border-radius-bottomleft: 1em; -moz-border-radius-topleft: 1em; border-color: silver; border-width: 1px 0px 1px 1px; border-style: solid none solid solid; font-size: 127%; padding: 0 1em 1em; background: white none repeat scroll 0 0; line-height: 1.5em; } h1.title { background: transparent none repeat scroll 0 0; border-bottom: 1px solid #AAAAAA; color: black; margin: 0; padding-top: 0.5em; font-size: 188%; line-height: 1.2em; margin-bottom: 0.1em; padding-bottom: 0; font-weight: normal; } h5 { margin: 0; padding-bottom: 0.17em; padding-top: 0.5em; border-bottom: medium none; display: inline; font-size: 91%; height: 1em; padding: 0 1em 0 0.5em; white-space: nowrap; -moz-border-radius-topright: 1em; background-color: #D1D4E0; border: thin solid silver; font-weight: bold; margin-top: 10px; } ul { border-collapse: collapse; margin: 0.3em 0 0 1.5em; padding: 0; font-size: 95%; line-height: 1.5em; list-style-image: url(bullet.gif); list-style-type: square; } li { font-size: 95%; line-height: 1.5em; margin: 0px; margin-bottom: 0.1em; padding: 0px; list-style-image: url(http://www.scharesoft.de/joomla/almanach/skins/monobook/Bullet1.gif); } li:hover { list-style-image: url(http://www.scharesoft.de/joomla/almanach/skins/monobook/Bullet2.gif); } li a { text-decoration: none; } li a:hover { text-decoration: underline; } #map_area { position: absolute; left: 10px; right: 10px; top: 50px; bottom: 10px; text-align: center; text-align: center; z-index: 3; } #ta_nirnmap { position: relative; left: 0px; right: 0px; top: 0px; bottom: 0px; height: 100%; width: 100%; min-height: 500px; }

3

//Set initial parameters and default values // Map properties and constants var taMapDefaultCenter = new GLatLng(89.05, -177.90); var taMapBounds = new GLatLngBounds(new GLatLng(87.89, -179.9999), new GLatLng(89.9999, -176.50)); var taMapDefaultZoom = 10; var taMinMapZoom = 8; var taMaxMapZoom = 15; var taBaseMapZoom = 15; // this is the zoom level at which one tile = one game cell var taOBLCellSize = 4096.0; var taMWCellSize = 8192.0; // Main map objects var ta_nirnmap; var umCustomMapType; var umMapTileLayer; var taMapState = new Object(); // A function to create the marker and set up the event window // Dont try to unroll this function. It has to be here for the function closure // Each instance of the function preserves the contends of a different instance // of the "marker" and "html" variables which will be needed later when the event triggers. function createMarker(point,html,type) { var marker = null; if (!type) { marker = new GMarker(point); } else { var icon = new GIcon(); icon.image = taGetMapMarkerIcon(type); icon.shadow = ""; icon.iconSize = new GSize(16,16); icon.shadowSize = new GSize(0,0); icon.iconAnchor = new GPoint(8,8); icon.infoWindowAnchor = new GPoint(8,8); var options = { icon: icon }; marker = new GMarker(point, options); } GEvent.addListener(marker, "click", function() { marker.openInfoWindowHtml(html); }); return marker; } function addMarker(x, y, html, type) { var point = new GLatLng(x, y); var marker = createMarker(point, html, type); map.addOverlay(marker); } function CustomGetTileUrl(a,z) { if (z >= 8 && z <= 15) { var MinX = 0; var MinY = 0; var MaxX = Math.floor(384 / Math.pow(2, 15 - z)); var MaxY = Math.floor(384 / Math.pow(2, 15 - z)); if (a.x <= MaxX && a.y <= MaxY && a.x >= MinX && a.y >= MinY) { return "http://www.scharesoft.de/joomla/almanach/nirn/zoom" + z + "/tamriel_" + (a.x) + "_" + (MaxY - a.y - 1) + "_" + z + ".jpg"; } } return OorImage; }; // Get map marker icon image file function taGetMapMarkerIcon(MarkerType) { var Icon = "Other" switch (MarkerType) { case 0: Icon = "None"; break; case 1: Icon = "lager"; break; case 2: Icon = "graeber"; break; case 3: Icon = "stadt"; break; case 4: Icon = "ayleid"; break; case 5: Icon = "festung"; break; case 6: Icon = "#Mine"; break; case 7: Icon = "landmarke"; break; case 9: Icon = "#Town"; break; case 10: Icon = "#Daedric"; break; case 11: Icon = "#Oblivion"; break; case 12: Icon = "dwemer"; break; case 13: Icon = "schiff"; break; case 14: Icon = "schlickschreiter"; break; case 30: Icon = "#Nirnroot"; break; case 40: Icon = "#Door"; break; case 41: Icon = "#House"; break; case 42: Icon = "#Shop"; break; case 44: Icon = "#Tavern"; break; case 100: default: Icon = "Other"; } return 'http://www.scharesoft.de/joomla/almanach/nirn/' + "icons/icon_"+Icon+".gif"; } // If the map position is out of range, move it back function checkBounds() { // Perform the check and return if OK if (allowedBounds.contains(map.getCenter())) { return; } // It`s not OK, so find the nearest allowed point and move there var C = map.getCenter(); var X = C.lng(); var Y = C.lat(); var AmaxX = allowedBounds.getNorthEast().lng(); var AmaxY = allowedBounds.getNorthEast().lat(); var AminX = allowedBounds.getSouthWest().lng(); var AminY = allowedBounds.getSouthWest().lat(); if (X > 0.0) {X = AminX;} //Avoid wrapping if (Y < 0.0) {Y = AmaxY;} if (X < AminX) {X = AminX;} if (X > AmaxX) {X = AmaxX;} if (Y < AminY) {Y = AminY;} if (Y > AmaxY) {Y = AmaxY;} map.setCenter(new GLatLng(Y, X)); } // ======== A function to adjust the positioning of the overview ======== function positionOverview(x, y) { var omap=document.getElementById("map_overview"); omap.style.left = x + "px"; omap.style.top = y + "px"; // == restyling == omap.firstChild.style.border = "1px solid gray"; omap.firstChild.firstChild.style.left = "1px"; omap.firstChild.firstChild.style.top = "1px"; omap.firstChild.firstChild.style.width = "190px"; omap.firstChild.firstChild.style.height = "150px"; } // ====== Create the Euclidean Projection for the flat map ====== // == Constructor == function EuclideanProjection(a) { this.pixelsPerLonDegree = []; this.pixelsPerLonRadian = []; this.pixelOrigo = []; this.tileBounds = []; var b = 256; var c = 1; for(var d = 0; d < a; d++) { var e = b / 2; this.pixelsPerLonDegree.push(b / 360); this.pixelsPerLonRadian.push(b / (2 * Math.PI)); this.pixelOrigo.push(new GPoint(e, e)); this.tileBounds.push(c); b *= 2; c *= 2 } } // == Attach it to the GProjection() class == EuclideanProjection.prototype = new GProjection(); // == A method for converting latitudes and longitudes to pixel coordinates == EuclideanProjection.prototype.fromLatLngToPixel = function(a, b) { var c = Math.round(this.pixelOrigo[b].x + a.lng() * this.pixelsPerLonDegree[b]); var d = Math.round(this.pixelOrigo[b].y + (-2 * a.lat()) * this.pixelsPerLonDegree[b]); return new GPoint(c, d); }; // == a method for converting pixel coordinates to latitudes and longitudes == EuclideanProjection.prototype.fromPixelToLatLng=function(a, b, c) { var d = (a.x - this.pixelOrigo[b].x) / this.pixelsPerLonDegree[b]; var e = -0.5 * (a.y - this.pixelOrigo[b].y) / this.pixelsPerLonDegree[b]; return new GLatLng(e, d, c); }; // == a method that checks if the y value is in range, and wraps the x value == EuclideanProjection.prototype.tileCheckRange = function(a, b, c) { var d = this.tileBounds[b]; if (a.y < 0 || a.y >= d) { return false; } if(a.x < 0 || a.x >= d) { a.x = a.x % d; if(a.x < 0) { a.x += d; } } return true; } // == a method that returns the width of the tilespace == EuclideanProjection.prototype.getWrapWidth = function(zoom) { return this.tileBounds[zoom] * 256; } // Set the map to a specific Oblivion location at the current zoom level function taShowLocation(X, Y) { var Point = taConvertOBLLocToLatLng(X, Y); taMapState.MoveTo(ta_nirnmap, Point); } // Set the map to a specific Morrowind location at the current zoom level function taShowLocation(X, Y) { var Point = taConvertMWLocToLatLng(X, Y); taMapState.MoveTo(ta_nirnmap, Point); } // Convert an Oblivion location to a map latitude/longitude function taConvertOBLLocToLatLng(X, Y) { var Lng = ((((X/4096 + 64) * 241.0/256.0) + 128.0)/32768.0 * 360.0) - 180.0; var Lat = 90.0 - ((385 - 128 - ((70 + Y/4096) * 241/256))/32768.0 * 180.0); return new GLatLng(Lat, Lng); } // Convert an Morrowind location to a map latitude/longitude function taConvertMWLocToLatLng(X, Y) { var Lng = -180.0 + ((X/8192 + 236)/32768 * 360.0); var Lat = 90.0 - ((385 - 243 - Y/8192)/32768 * 180.0); return new GLatLng(Lat, Lng); } // Updates the map parameters from any input parameters function taUpdateMapFromInput() { var Lat = taGetURLParam("lat"); var Lng = taGetURLParam("lng"); var Zoom = taGetURLParam("zoom"); var OBLLocX = taGetURLParam("obllocx"); var OBLLocY = taGetURLParam("obllocy"); var MWLocX = taGetURLParam("mwlocx"); var MWLocY = taGetURLParam("mwlocy"); var CellX = taGetURLParam("cellx"); var CellY = taGetURLParam("celly"); if (Zoom == "") { Zoom = "12"; } if (MWLocX && MWLocY != "") { taMapState.ZoomTo(map, taConvertMWLocToLatLng(parseFloat(MWLocX), parseFloat(MWLocY)), parseFloat(Zoom)); } else if (OBLLocX && OBLLocY != "") { taMapState.ZoomTo(map, taConvertOBLLocToLatLng(parseFloat(OBLLocX), parseFloat(OBLLocY)), parseFloat(Zoom)); } } // Sets the map center/zoom taMapState.ZoomTo = function(Map, Center, Zoom) { Map.setCenter(Center, Zoom, custommap2); this.Center = Center; this.Zoom = Zoom; this.MapBounds = Map.getBounds(); }; // Sets the map center keeping the current zoom taMapState.MoveTo = function(Map, Center) { Map.setCenter(Center); this.Center = Center; this.MapBounds = Map.getBounds(); }; // Retrieve a specific input parameter function taGetURLParam(strParamName) { var strReturn = ""; var strHref = window.location.href; if ( strHref.indexOf("?") > -1 ){ var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase(); var aQueryString = strQueryString.split("&"); for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){ if ( aQueryString[iParam].indexOf(strParamName + "=") > -1 ){ var aParam = aQueryString[iParam].split("="); strReturn = aParam[1]; break; } } } return strReturn; }