aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/kr/syeyoung/dungeonsguide/utils/ShortUtils.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/kr/syeyoung/dungeonsguide/utils/ShortUtils.java')
-rw-r--r--src/main/java/kr/syeyoung/dungeonsguide/utils/ShortUtils.java29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/utils/ShortUtils.java b/src/main/java/kr/syeyoung/dungeonsguide/utils/ShortUtils.java
new file mode 100644
index 00000000..d7ce60c5
--- /dev/null
+++ b/src/main/java/kr/syeyoung/dungeonsguide/utils/ShortUtils.java
@@ -0,0 +1,29 @@
+package kr.syeyoung.dungeonsguide.utils;
+
+public class ShortUtils {
+ public static short rotateClockwise(short integer) {
+ int res = 0;
+ for(int i=0; i<16; i++){
+ int x = i % 4;
+ int y = i / 4;
+ res |= (integer >> i & 0x1) << (x*4 + y);
+ }
+ return (short) (res & 0xFFFF);
+ }
+ public static short rotateCounterClockwise(short integer) {
+ int res = 0;
+ for(int i=0; i<16; i++){
+ int x = i % 4;
+ int y = i / 4;
+ res |= (integer >> i & 0x1) << ((4-x-1) *4 +(4 - y - 1));
+ }
+ return (short) (res & 0xFFFF);
+ }
+
+ public static short topLeftifyInt(short integer) {
+ int it = integer & 0xFFFF;
+ while ((it & (0x1111)) == 0) it >>= 1;
+ while ((it & (0xF)) == 0) it >>= 4;
+ return (short) (it & 0xFFFF);
+ }
+}