aboutsummaryrefslogtreecommitdiff
path: root/Pseudocode/GameCartesianToIsometricPos.c
diff options
context:
space:
mode:
authorXavier Del Campo <xavi.dcr@gmail.com>2017-02-04 14:49:08 +0100
committerXavier Del Campo <xavi.dcr@gmail.com>2017-02-04 14:49:08 +0100
commit189ecf754d0c8131464bfdff98fb56e7752556b1 (patch)
tree89e7d02128bbc7b2d3f5c19a3da14ec14291982a /Pseudocode/GameCartesianToIsometricPos.c
downloadairport-189ecf754d0c8131464bfdff98fb56e7752556b1.tar.gz
Initial commit
Diffstat (limited to 'Pseudocode/GameCartesianToIsometricPos.c')
-rwxr-xr-xPseudocode/GameCartesianToIsometricPos.c41
1 files changed, 41 insertions, 0 deletions
diff --git a/Pseudocode/GameCartesianToIsometricPos.c b/Pseudocode/GameCartesianToIsometricPos.c
new file mode 100755
index 0000000..c1dd050
--- /dev/null
+++ b/Pseudocode/GameCartesianToIsometricPos.c
@@ -0,0 +1,41 @@
+#define TILE_WIDTH 64
+#define TILE_WIDTH_HALF 32
+#define TILE_HEIGHT 64
+#define TILE_HEIGHT_HALF 32
+
+struct t_CartToIso
+{
+ u8 u8TileX;
+ u8 u8TileY;
+ s16 s16IsoX;
+ s16 s16IsoY;
+}
+
+/* ******************************************************
+ * void GameCartesianToIsometricPosition(TYPE_CartToIso * CTI)
+ *
+ * BRIEF:
+ * * Transforms (X,Y,Z) position buffer to Isometric position
+ *
+ * PARAMETERS:
+ * * TYPE_GXYZTOISO * t_GXYZTOISO
+ *
+ * RETURNS:
+ *
+ * * void
+ *
+ * DATE:
+ * 1/January/2016
+ *
+ * ******************************************************* */
+
+/*
+ * screen.x = map.x * TILE_WIDTH_HALF - map.y * TILE_WIDTH_HALF;
+ screen.y = map.x * TILE_HEIGHT_HALF + map.y * TILE_HEIGHT_HALF;
+* */
+
+void GameCartesianToIsometricPosition(TYPE_CartToIso * CTI)
+{
+ CTI->u16IsoX = (CTI->u8TileX * TILE_WIDTH_HALF) - (CTI->u8TileY * TILE_WIDTH_HALF);
+ CTI->u16IsoY = (CTI->u8TileX * TILE_HEIGHT_HALF) - (CTI->u8TileY * TILE_HEIGHT_HALF)
+}