Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Help Me!] XML variables concerning sprite positions
#1
Hey Everyone,

[Image: lightning.png][Image: hit.png][Image: shazam..png][Image: sprite.png]
I've found KMS sprites for all the Knights of Cygnus jobs. I'm willing to make a few short games on them if someone can help me interpret the XML variables which position the sprites to the correct location, or, if anyone can find me an old source file of Bannedstory. Eg. :
Code:
<imgdir name="move">
        <int name="zigzag" value="1"/>
        <canvas name="0" width="35" height="34" basedata="iVBORw0KGgoAAAANSUhEUgAAACMAAAAiCAYAAADVhWD8AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAA4xJREFUWEetmA2xrDAMhbkSsIAFLKyFawELWMACFrCABSxgAQu8nKQJKaUt++buTAeWn/TryWna3Z/mbz7nQ5ifvwn9PgogzmNbz31bzm2ZrOF6aO+j3Z7UAPfjU0CG0LavcwSzzsM5Dp//BpLAO41ylVEi4Dz+ejAP9aiIqDPye9P48e+/VogDe5mX6dcCIiiak52A5yQ1OgAdhL43XQOqAkUQCLhMA3f+1NQLHlzPocZcfq8O48wWeeUOoykDLFryXtvatbZtDKyQ6gTu1A+Cb9uWdKL5d6myZ47jsHMLFE5agmspJhqD/845/xlUBONH6yG/ue6hdvrStl2AWc5mWKUJ4OMnAbqPcqaoDdLwmTjQHfT+vH4/6ITfZWUIhhvB4JgB4hdyHwv2GQmGGgUpPa9xNiJJQRSIjr35LvWOdoIAvvEIeoCQKpAYI6Nra2YAUGOhe8se/PQhr+BddK5NVSqkC4TPVRgwGuDKeQSdDEBToyA+tk9ZBUhlo2IYzYAItHSvgRraIdSAiQeaqeN+xeioulfMfM+fsxISsBvgQYsjK9lRdUaHUMAbFOkMHmvG4+wmSttAMGiqEuDw/gt1bp6GSQQGq7QFZBCnhCoAMKSXOupnmlEMR8D8bJjegMH3mndiEgERmIWBUNTiKRtmCjpAczCsBn8ncCjhYa7U5UrPVUsUwo6HqGOeMTOiqAVfKIzWEw8D/zAADUbB3xTBBCSoQ8v2BYTRKhAF72fyRgJDkKpU2wsIDMzPvarIV2qK6mCkDoZOr05MmVB19Tl4x6czV40vr7yD6Toa5U2ZCAgmZmAHpCBcRAtLg8AUQHDP+Qb7GTYzggbP0AQ5P6qQGhTp8cVOQQppCsJUYMIUVyN3uoiiszBqwKCZh3Dd+4vB8tPaMqSdyJEiPiglU1ym+aUOtghuRmk6/NH7prRYCo1U2ngPkyrlYQC0zlLgJF2ACvXG/BFqDe6j0BVAeJGsesUr5Ka3V5L3Pb723M/jhbNU6Ope8cCaJg+D/TFvNXWl1yXAbyPerUXfwfjlwYDoZwxS1vdhu+n3MWGtqq1F36fJqvFm1dgrhB9z+A3FM83tZXANrQb0nWecf+LZJ+uWmlo7j4/B7FnHyI3vgVwBfIJCyqSJIm+VSWGoI1Tb0izLqXLwnwFZiOxPlWR3V1QoM6W9gXf+40BB5Oh8U0nO8+3nzXlu016/XoT4B7H73A716OUoAAAAAElFTkSuQmCC">
            <vector name="origin" x="16" y="34"/>
            <vector name="lt" x="-16" y="-34"/>
            <vector name="rb" x="19" y="0"/>
            <vector name="head" x="-4" y="-34"/>
            <int name="delay" value="120"/>
        </canvas>
        <canvas name="1" width="37" height="34" basedata="iVBORw0KGgoAAAANSUhEUgAAACUAAAAiCAYAAADYmxC7AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAA8lJREFUWEetmAG1szAMhfckYAELWJiFZwELWMACFrCABSxgAQv8uWmSpqVl8P7tnJ4xBunXm5uU7ef1nddRCPPzndDPowDm2Nfl2Nb5WOfRBs7LeB41u0MD5e+lwAyjY1umBGqZ+mPo3/8NFibYaNVLWDUCT8OvB/RwRYWCWgPfNw5vf/9jxXgCL/88/lpgBMdw6SDw6ZQyXYguRu8b48JugyUwCDyPPUOUhnrFL0CPoc704b67Pqv56ASlqQQ0hjNzOG4aO9c0LwM0C/zOx6u957NDXwi8rutpMvWHS6Fds++7HVsgOWgIsqGYGAwNKB5TzaeW3gTKr97DPjnv4Tb60DRtBkVg/RJGAC6+TmD5qieK7tOTA+fX6+edDvjeRClVjKCgXAWMb6y9LGhYDwe5ul7jrERUB1Iweu/MnyfFbDIE8sO3Ag7wHvnapbIQqDPTd/MmflMvvclLuBcxdOh3F2k0JU6VpSp1A0luXkjgCwshCAKBsTG5AsUtyJn/2l9Z104qJanMfa1/9wI8Rk/VrGpAHZge54Ytxmpp1/hg+jyvzmpIzHZ0XScbsUAxgKTkDSXhF1QXTc5QdIzzUGjYj3aktPYEhaGqAfJpDwtkMNFGW9LEwwKqz5AeVYWBaCJMhnMAJ4BuokpkSLqWUytpw3X4/MlbUaIAE6FmhkJz5HSwz1w1sUo0MFEGxaAMScpCGQ8VU1prXS+XthSKHiWiWg2lMofStHko7UceCgtiEFqcXnunmXqFkmN6xIFabVtQSozcTeQdVcqgxPhYCBYEIBidr7vV4TOFXApTtQhMyx6TCxQdxskMSrq49S7ylle01t1rXkqUcilscrXET1AqAWN1sAAHpkC452rL8ZVWTZ+DMtNb9Uk7oAmpoI63KqZGRtqsMKQotI1cK3WROmsNoQrZW6hEMzxWHasPUBjmMcCh+pKKrbeDmLlECYro/aTHfI2A0eMx95i8eWp6Su/eV1ebcqDaebL0GaqgnIeCYgpmDVS7uvQr84/0Kt4PaTEXQLwZ501SwWreMqUkjQzGZpatJkmRb7CnDfqqYX72UlqFq/mK/UVQQTHyWA3IP7582FZOSlUrL/fXXgMjj8H8nCK3afPmLRt0VZ/4RdnQJZNXGqlWo6qWbNq834UnjMrzWhHxb1AA9GpJChUQv5gVAj9U0zHw5xtPB099Bai4SbOv1Pj0vslP+WUCQIDIxzMomgwTXvkrSZkz+7bIvzAEsl7DVH9mJY/BeXsoPSGcYESdABNAAoyqE1Vynrph9fSSmim/cb4K8w+yf0VeQWgS9QAAAABJRU5ErkJggg==">
            <vector name="origin" x="15" y="34"/>
            <vector name="lt" x="-13" y="-34"/>
            <vector name="rb" x="24" y="0"/>
            <vector name="head" x="-3" y="-34"/>
            <int name="delay" value="120"/>
        </canvas>
        <canvas name="2" width="39" height="34" basedata="iVBORw0KGgoAAAANSUhEUgAAACcAAAAiCAYAAADcbsCGAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAA+FJREFUWEetmA21gzAMhfckYAELs4CFWcACFrCABSxgAQtYwAIvN2na9JdtZzunB8ag/Xpzk5b9PX7zuQrd/P2m6+97AdR17tt17Ou1r7NvuO7a970nT2qH6bE0AENpO7YlgtuW8ZrG4WeAMtBBKmyiAgZYppcFtZBFxUS9iZ+bp8E+/7WCPJANyzq//AAYBM2EiSawZKHUCemk9Lk5nmDJn1XwCAoDrPPIMKWmXrIT0XOotbSeG5brMcy1SBQBaz7L4DTEgEczppfzrvPXuu7hQb01ntP1eK3S+vf8eOkHA+z7ng2q/jGh9fec5+nPfUfupCPYjvpEY3gLx5Ck5E1WR3BWDQv9yXULedCXrusrcAQ4btIEshzaFCRVYaFRXNjQQTah9H79ftIJP4vBNaTZkeBwrQLIHdQ+vvMwr+b92s9OZPdgzoOAe3ofZwoyOTpLW2FGfO9WmRDUWum39XB+RIZatTRrAaNNf2+El0NWaVEB1ntKkzFKhyQYKdEUALBBpSTkbf8lq0CUURH4udd/48zU7ASYhQMYkgTXpiP02dNqdJMcabyNFRGwg1YTgTppsfclgmEQJtQy+t2HEdmocHQ+0O+IznRe/UxhHwkOTSMG2E9roBDCZAIXqaYqpd4CIIPRgBiUTS9wz4Uy+AVYCjE8iHOGpvvw/c57cfYKmMCtOVwJDAMiTBgwgWNgzVAoZeFCqGulL9QyhfLHM1GvCKaqOV8pnNYzCwf/MRAtfzqRd4pyBubUo21JUI9nbuqVnjvDPxfyVgbnshdh7p4ChoTg+95aMUIom+ph5jW/0WDEGgb1yrlVwZYXG/7aahG89h5c39Oss0XdrZs0IJSLAFktmhAUUjgFg0dbS5nNzGpYje+QudiB5KF1ZYQGpgS8BlVQDY9wRiVHYethdcI1VEtKCuB6wGWhxWAhWwGH5j0ISNTGyK/1MuLKBR0iZahHTQRzlJIiZYXV6+E9W4CRJEE9n4kaQusxAMbLWr74C8QZqr+r3MXwcsYGOC7MnBwJIO/ZTDH2/nK1jsHomcauxO3TXDiP/bronQBN9m/lMKtq9iiAZktujV8qOTeKqYQBgsIKoBYYAyeJEZY2ZHDqp6QWKtSNYjlcRam698R3kYIorLCFJgqHTjcIupdzG4HqQmV2uNXS0YKFyucewOidNobEmxmFGisJVMJKoO8VH/xtUfXWLbSzQZogGaTZzOLlW5vZ4DY1/B6QPWgUTMJ8bPIXh7TJnGeQrd2IyUwO2U1BriRF5EEKtQCVoRIF2+o1s9TtSEplhK/hHycP0oYBVPLO8kZqyC21l51fXy8C/QMvLbd0nf0CnwAAAABJRU5ErkJggg==">
            <vector name="origin" x="14" y="34"/>
            <vector name="lt" x="-10" y="-34"/>
            <vector name="rb" x="29" y="0"/>
            <vector name="head" x="-2" y="-34"/>
            <int name="delay" value="120"/>
        </canvas>
        <canvas name="3" width="41" height="34" basedata="iVBORw0KGgoAAAANSUhEUgAAACkAAAAiCAYAAADCp/A1AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAA+dJREFUWEetmA21gzAMhfckYGEWsDALs4AFLGABC1jAAhawgIW+3DRp09KWcbad0wNj0H65+Sv7e/zm4wrT/P1m6u9nAZw7ttXt2+K2ZQoD12V8v0o2g06cH0sLMZyOfZ0TyHUe3Di8fg7qF9xJldWrgoXm8W2BLWxRQa/myM9N48s+/7WivKB11zK9w0JYDMO4jwyZTy5Ww9Q4fW5KDa0Z3TQigcNCyzQwVGlorFmD9Bzqza3nhs09MN6re7ymW7C1ODxBquthBIZJDn/edeFa1z0CcAgZgL2XdDw/i1unHyy0bWRpzEw+1/gyLg/3HMcRzsNEctIRdEfPY/Cc/UgKzmfQN127qAYJpAW08HeuW9idvnTdM0LmSur3gUIAw8MWPyfQXJWZVhN3YoLL+/WGg074WSz+IiVrkHydIHGsgPJEtU9YJNrXvF/n2YgwApJLi67OYhSQfYj3k6I+/gg2HxXL3FoxDOot9NuyS7xyLBaSBtC4DigdqnTD7ezKysitqhpllJdkMYBcgkQ9BbRrhnBox2fSVfb9nO1qxLElWZkaB/VyBUOdFEioh6TC9XGPzz+py10k0UmxGKtw5O76vpeNhQS5AtkjVEpiENlrizkZAQXHwz0nCouBIDFUVUDfraGA0wEFsesJE+ZwqHt5FjMgLYzFOTk8ZD9T5msHYqPEzbgP369iM812C7lQr5+p/kmHCa4tFWopLXAfFs4gGVwzGspZyBgCtdIZa6FVkc+PnSFDTGonqZUYdbOF1HpoIRGfDEbG672fFPcToLqdtnQRkhKgVQMlMfqZYk+VDJCS7TC0Q6wTIBKH7/uoA0UXX6pZqoOh5fnspa9x8QApXcaWJat4rfvEWLwBCSVafZkWhpIJKKtHLtZ2iOcVEDHcapEesgGYxeVBG2DOwmpflvJDABQV7qWKamLAzbaIK2DD3SLkBSSBavIEyKrLoUrMbkBihBgFLAp7YmS9/BAgCjYNk8EH1cSSsrjOg5T8CFQ7i7o0P5bb5XmToZB5y2tCohxZ0Oae0RT1EH9SK/EcqkRjFyT7RN/6SCLn6JX0ePvtfTFGpQxZt7fjM8vk3Jh0w9Eq4AIJ0Hl09PJch+S49N2nCNpMJrOPtNu1izYoSqYJ86TWd5XpCai4PXF/DssuxS7J7COll1flMz9cApXdvhXVVNAQAuGFzMCl+9dPGCuxd1UzbTkySWQha8D4I0GH2Wxfwt5XMylXMdNLkPuKv29GAcNRz0+wTdAUkgBQM1txmSROS0lJMIBuBbiCqm3QatmB6/PSY7PbQO7484phxnC0ILXzO25vvZRV/5ppvMjdeSZR8B8AASWuNHv+lQAAAABJRU5ErkJggg==">
            <vector name="origin" x="13" y="34"/>
            <vector name="lt" x="-7" y="-34"/>
            <vector name="rb" x="34" y="0"/>
            <vector name="head" x="-1" y="-34"/>
            <int name="delay" value="120"/>
        </canvas>
    </imgdir>
If anyone can please help or show me how to interpret these values (And many others) and transform them into locations for images to create a animated sequence of images then this would speed up production by a hell of a lot and I'd be able to make more games such as "A Pirate's Fury" within a month! (But better!). Understanding the relationships between the variables 'origin', 'lt', 'rb' & 'head' and what they are for is what I'm looking for. Numerous other variables concerning the character sprites will be needed too.

Cheers,

-Montycarlo
Reply
#2
<vector name="origin" x="16" y="34"/>
<vector name="lt" x="-16" y="-34"/>
<vector name="rb" x="19" y="0"/>
lt is left, top.
rb is right, bottom.
Origin is the 'Cartesian' coordinate (0, 0), though the y axis is inverted.
x is horizontal.
y is vertical.
Negative is left and up.
Positive is right and down.
Reply
#3
Thanks, but just a clarification; You said the y-axis was inverted, so The scale I should be using is what you said, "Negative is left and up.
Positive is right and down.", or is the y-axis flipped from that?

Code:
<imgdir name="0">
            <canvas name="body" width="21" height="31" basedata="iVBORw0KGgoAAAANSUhEUgAAABUAAAAfCAYAAAAIjIbwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAdxJREFUSEutlQ11wzAMhINlFEahFEqhFEphFEIhFEIhFEIhFFydfmzLdty4Xd/8uvY1X07S6TJN468QtjnQZThfvQzC72H7c59HyQI5tnRIJaBh+Q1h/uH3EWggEv3tHprfYF+tFZe5DGWlDM/U2v8Mja14C/bA/4JKL6n0HnCX/l51QlZ2q6dU9r7QAfT5CfSkl4CuTz6XlYajM3kMaBDanzgmb1AqndWSX3tqY+PP/Wn9pPKxBDgdqHhRpym+JEDpTx6QArWnulXVZol11D5sJzW2TDlTx0AtGyrXh62qgzogyo77DgB2nMuEfXTvoRBgnOXeLF+gUKMluxCxdnB43GQw1ktWSd9JqBRKOTQATVZxLdCLGKB9Z/BJ6QiBNAxsCI4aOgLoYlWSRSDi7xaOuVZpySIwBkpJ8Wboo37WHye1/vtmSpVprhcD6tTI97xRj3BcAOd3Sxe3lFpvG0PqBWumCNY5UTuoNA1R/ZrZRm84lvxpgFn/KmhsgQz27fPETdpWttUCuGO9fwBlRWcukBachUqpvn7e91yQFsRxKp+mYJHne7YEfsMsbAonFLlZ5CgbXfoW85UDCFmBTUSa1cHiodnzh6MN8WehYm5Q5QbLf+M2yELjy/fpBdLnmklHD3o1AAAAAElFTkSuQmCC">
                <vector name="origin" x="16" y="31"/>
                <imgdir name="map">
                    <vector name="neck" x="-4" y="-32"/>
                    <vector name="navel" x="-8" y="-21"/>
                </imgdir>
                <string name="z" value="body"/>
                <string name="group" value="skin"/>
            </canvas>
            <canvas name="arm" width="10" height="19" basedata="iVBORw0KGgoAAAANSUhEUgAAAAoAAAATCAYAAACp65zuAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAALdJREFUOE+NkgERhDAMBNHyFrDwFl4LFt5CLdQCFmqhFmLhPte00M9ACzMZhmG53l1YFrtQpz7e3JAjsG9zGJIA2R/BCiqcw1yVHpFVNc1hA+k3vIbKFaTqOJiC9EnVoKrrRLWEYgOfB8cTvgnVvobEt1WVvkD8V4XQm+RuTNGHMgU/DOTWauYPkKlZkR7N6Tq1kkst3RRwc2BczROP4zQ1BnNbOl82SP1drfIEtWgCo30fXV798T8cUTERs67MDwAAAABJRU5ErkJggg==">
                <vector name="origin" x="5" y="9"/>
                <imgdir name="map">
                    <vector name="navel" x="-13" y="-1"/>
                    <vector name="hand" x="-1" y="5"/>
                </imgdir>
                <string name="z" value="arm"/>
                <string name="group" value="skin"/>
            </canvas>
            <short name="face" value="1"/>
            <int name="delay" value="500"/>
        </imgdir>
Alright, so I'm merely trying to position both the body sprite and the arm sprite of stand1 (Frame 0) by using the values I've obtained.
How do you think the values go together here? I've already tried by to no avail.
Reply
#4
Montycarlo Wrote:Thanks, but just a clarification; You said the y-axis was inverted, so The scale I should be using is what you said, "Negative is left and up.
Positive is right and down.", or is the y-axis flipped from that?

Code:
<imgdir name="0">
            <canvas name="body" width="21" height="31" basedata="iVBORw0KGgoAAAANSUhEUgAAABUAAAAfCAYAAAAIjIbwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAdxJREFUSEutlQ11wzAMhINlFEahFEqhFEphFEIhFEIhFEIhFFydfmzLdty4Xd/8uvY1X07S6TJN468QtjnQZThfvQzC72H7c59HyQI5tnRIJaBh+Q1h/uH3EWggEv3tHprfYF+tFZe5DGWlDM/U2v8Mja14C/bA/4JKL6n0HnCX/l51QlZ2q6dU9r7QAfT5CfSkl4CuTz6XlYajM3kMaBDanzgmb1AqndWSX3tqY+PP/Wn9pPKxBDgdqHhRpym+JEDpTx6QArWnulXVZol11D5sJzW2TDlTx0AtGyrXh62qgzogyo77DgB2nMuEfXTvoRBgnOXeLF+gUKMluxCxdnB43GQw1ktWSd9JqBRKOTQATVZxLdCLGKB9Z/BJ6QiBNAxsCI4aOgLoYlWSRSDi7xaOuVZpySIwBkpJ8Wboo37WHye1/vtmSpVprhcD6tTI97xRj3BcAOd3Sxe3lFpvG0PqBWumCNY5UTuoNA1R/ZrZRm84lvxpgFn/KmhsgQz27fPETdpWttUCuGO9fwBlRWcukBachUqpvn7e91yQFsRxKp+mYJHne7YEfsMsbAonFLlZ5CgbXfoW85UDCFmBTUSa1cHiodnzh6MN8WehYm5Q5QbLf+M2yELjy/fpBdLnmklHD3o1AAAAAElFTkSuQmCC">
                <vector name="origin" x="16" y="31"/>
                <imgdir name="map">
                    <vector name="neck" x="-4" y="-32"/>
                    <vector name="navel" x="-8" y="-21"/>
                </imgdir>
                <string name="z" value="body"/>
                <string name="group" value="skin"/>
            </canvas>
            <canvas name="arm" width="10" height="19" basedata="iVBORw0KGgoAAAANSUhEUgAAAAoAAAATCAYAAACp65zuAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAALdJREFUOE+NkgERhDAMBNHyFrDwFl4LFt5CLdQCFmqhFmLhPte00M9ACzMZhmG53l1YFrtQpz7e3JAjsG9zGJIA2R/BCiqcw1yVHpFVNc1hA+k3vIbKFaTqOJiC9EnVoKrrRLWEYgOfB8cTvgnVvobEt1WVvkD8V4XQm+RuTNGHMgU/DOTWauYPkKlZkR7N6Tq1kkst3RRwc2BczROP4zQ1BnNbOl82SP1drfIEtWgCo30fXV798T8cUTERs67MDwAAAABJRU5ErkJggg==">
                <vector name="origin" x="5" y="9"/>
                <imgdir name="map">
                    <vector name="navel" x="-13" y="-1"/>
                    <vector name="hand" x="-1" y="5"/>
                </imgdir>
                <string name="z" value="arm"/>
                <string name="group" value="skin"/>
            </canvas>
            <short name="face" value="1"/>
            <int name="delay" value="500"/>
        </imgdir>
Alright, so I'm merely trying to position both the body sprite and the arm sprite of stand1 (Frame 0) by using the values I've obtained.
How do you think the values go together here? I've already tried by to no avail.

usually y is positive up and negative down. he said its inverted, and positive is down. also, werent lt and rb used just to determine the image size? (for example so the game can know how big a monster is and from where u can hit it)

AFAIK origin is some sort of image shifting, it tells u the number of pixels you need to shift the image (but i dont know to which direction Tongue)

also, its funny to see someone actually use my xml exporter. Lol.
Reply
#5
Lmao, thank-you, it's quite handy.

As for the lt & rb, it could be used to determine the image sizes like you claim, but your XML dump also shows the width and height parameters of the said object (See the canvas tags). I'm aware origin is a shifting point, but where is the registration point of each image? Top-left? Bottom right? Center?

I think it's somewhere on the bottom. Look at this:
Code:
<canvas name="body" width="21" height="31" basedata="iVBORw0KGgoAAAANSUhEUgAAABUAAAAfCAYAAAAIjIbwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAdxJREFUSEutlQ11wzAMhINlFEahFEqhFEphFEIhFEIhFEIhFFydfmzLdty4Xd/8uvY1X07S6TJN468QtjnQZThfvQzC72H7c59HyQI5tnRIJaBh+Q1h/uH3EWggEv3tHprfYF+tFZe5DGWlDM/U2v8Mja14C/bA/4JKL6n0HnCX/l51QlZ2q6dU9r7QAfT5CfSkl4CuTz6XlYajM3kMaBDanzgmb1AqndWSX3tqY+PP/Wn9pPKxBDgdqHhRpym+JEDpTx6QArWnulXVZol11D5sJzW2TDlTx0AtGyrXh62qgzogyo77DgB2nMuEfXTvoRBgnOXeLF+gUKMluxCxdnB43GQw1ktWSd9JqBRKOTQATVZxLdCLGKB9Z/BJ6QiBNAxsCI4aOgLoYlWSRSDi7xaOuVZpySIwBkpJ8Wboo37WHye1/vtmSpVprhcD6tTI97xRj3BcAOd3Sxe3lFpvG0PqBWumCNY5UTuoNA1R/ZrZRm84lvxpgFn/KmhsgQz27fPETdpWttUCuGO9fwBlRWcukBachUqpvn7e91yQFsRxKp+mYJHne7YEfsMsbAonFLlZ5CgbXfoW85UDCFmBTUSa1cHiodnzh6MN8WehYm5Q5QbLf+M2yELjy/fpBdLnmklHD3o1AAAAAElFTkSuQmCC">
                <vector name="origin" x="16" y="31"/>
                <imgdir name="map">
                    <vector name="neck" x="-4" y="-32"/>
                    <vector name="navel" x="-8" y="-21"/>
                </imgdir>
                <string name="z" value="body"/>
                <string name="group" value="skin"/>
            </canvas>
Notice the "neck" location. It's y value is 32 pixels above and 4 pixels to the left. It would be silly to have the neck 32 pixels above the top of the player, there would be a noticeable gap between the head and the body. The height of the body is 31 pixels, so the neck is (really) one pixel above the image. I'm still experimenting with these values, if anyone else knows anything, please let me know.
Reply
#6
Montycarlo Wrote:I'm aware origin is a shifting point, but where is the registration point of each image? Top-left? Bottom right? Center?

I dunno if it's wise to talk about this in public anymore. But my experience with working with maps (which are really just collections of images arranged in a specified fashion) before sp.net's database got shut down tells me that the origin is based on where the center of the image is. There's a good reason for this too in fact: some map objects rotate in a circular fashion, such as the sun-like symbols at Gate Keeper's map, and the spinning sail on the boat going between Victoria and Orbis.

How the origin is exactly interpreted with even/odd coordinates, I have no idea. The difference is only 1 pixel though, if that matters.
Reply


Forum Jump:


Users browsing this thread: