aboutsummaryrefslogtreecommitdiff
path: root/Pseudocode
diff options
context:
space:
mode:
Diffstat (limited to 'Pseudocode')
-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)
+}