aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/jake2/util/Lib.java74
1 files changed, 56 insertions, 18 deletions
diff --git a/src/jake2/util/Lib.java b/src/jake2/util/Lib.java
index 29829d4..6b4f107 100644
--- a/src/jake2/util/Lib.java
+++ b/src/jake2/util/Lib.java
@@ -19,7 +19,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
// Created on 09.12.2003 by RST.
-// $Id: Lib.java,v 1.14 2005-12-12 21:50:02 salomo Exp $
+// $Id: Lib.java,v 1.15 2005-12-13 00:03:41 salomo Exp $
package jake2.util;
@@ -33,41 +33,47 @@ import java.nio.*;
public class Lib {
- /*
- =============
- VectorToString
-
- This is just a convenience function
- for printing vectors
- =============
- */
+ /** Converts a vector to a string. */
public static String vtos(float[] v) {
return (int) v[0] + " " + (int) v[1] + " " + (int) v[2];
}
+
+ /** Converts a vector to a string. */
public static String vtofs(float[] v) {
return v[0] + " " + v[1] + " " + v[2];
}
+
+ /** Converts a vector to a beatiful string. */
public static String vtofsbeaty(float[] v) {
return Com.sprintf("%8.2f %8.2f %8.2f", new Vargs().add(v[0]).add(v[1]).add(v[2]));
}
+
+ /** Like in libc. */
public static short rand() {
- //return (short) (Math.random() * 0x8000);
return (short)Globals.rnd.nextInt(Short.MAX_VALUE+1);
}
+
+ /** Like in libc. */
public static float crandom() {
return (Globals.rnd.nextFloat() - 0.5f) * 2.0f;
- //return (float) (Math.random() - 0.5) * 2.0f;
}
+
+ /** Like in libc. */
public static float random() {
return Globals.rnd.nextFloat();
}
+
+ /** Like in libc. */
public static float crand() {
return (Globals.rnd.nextFloat() - 0.5f) * 2.0f;
}
+
+ /** Like in libc. */
public static int strcmp(String in1, String in2) {
return in1.compareTo(in2);
}
+ /** Like in libc. */
public static float atof(String in) {
float res = 0;
@@ -79,11 +85,13 @@ public class Lib {
return res;
}
+
+ /** Like in quake2. */
public static int Q_stricmp(String in1, String in2) {
return in1.compareToIgnoreCase(in2);
}
- // =================================================================================
+ /** Like in libc. */
public static int atoi(String in) {
try {
return Integer.parseInt(in);
@@ -97,6 +105,7 @@ public class Lib {
}
}
+ /** Converts a string to a vector. Needs improvement. */
public static float[] atov(String v) {
float[] res = { 0, 0, 0 };
String strres[] = v.split(" ");
@@ -107,6 +116,7 @@ public class Lib {
return res;
}
+ /** Like in libc. */
public static int strlen(char in[]) {
for (int i = 0; i < in.length; i++)
if (in[i] == 0)
@@ -114,6 +124,7 @@ public class Lib {
return in.length;
}
+ /** Like in libc. */
public static int strlen(byte in[]) {
for (int i = 0; i < in.length; i++)
if (in[i] == 0)
@@ -121,6 +132,7 @@ public class Lib {
return in.length;
}
+ /** Converts memory to a memory dump string. */
public static String hexdumpfile(ByteBuffer bb, int len) throws IOException {
ByteBuffer bb1 = bb.slice();
@@ -132,7 +144,7 @@ public class Lib {
return hexDump(buf, len, false);
}
- // dump data as hexstring
+ /** Converts memory to a memory dump string. */
public static String hexDump(byte data1[], int len, boolean showAddress) {
StringBuffer result = new StringBuffer();
StringBuffer charfield = new StringBuffer();
@@ -166,23 +178,31 @@ public class Lib {
}
return result.toString();
}
- //formats an hex byte
+
+ /** Formats an hex byte. */
public static String hex2(int i) {
String val = Integer.toHexString(i & 0xff);
- return ("00".substring(0, 2 - val.length()) + val).toUpperCase();
+ return ("00".substring(0, 2 - val.length()) + val).toUpperCase();
}
+
+ /** Returns true if the char is alphanumeric. */
public static char readableChar(int i) {
if ((i < 0x20) || (i > 0x7f))
return '.';
else
return (char) i;
}
+
+ /** Prints a vector to the quake console. */
public static void printv(String in, float arr[]) {
for (int n = 0; n < arr.length; n++) {
Com.Println(in + "[" + n + "]: " + arr[n]);
}
}
+
static final byte nullfiller[] = new byte[8192];
+
+ /** Like in libc. */
public static void fwriteString(String s, int len, RandomAccessFile f) throws IOException {
if (s == null)
return;
@@ -195,6 +215,8 @@ public class Lib {
else
f.write(s.getBytes(), 0, len);
}
+
+ /** Like in libc */
public static RandomAccessFile fopen(String name, String mode) {
try {
return new RandomAccessFile(name, mode);
@@ -204,6 +226,8 @@ public class Lib {
return null;
}
}
+
+ /** Like in libc */
public static void fclose(RandomAccessFile f) {
try {
f.close();
@@ -211,12 +235,16 @@ public class Lib {
catch (Exception e) {
}
}
+
+ /** Like in libc */
public static String freadString(RandomAccessFile f, int len) {
byte buffer[] = new byte[len];
FS.Read(buffer, len, f);
return Lib.CtoJava(buffer);
}
+
+ /** Returns the right part of the string from the last occruence of c. */
public static String rightFrom(String in, char c) {
int pos = in.lastIndexOf(c);
if (pos == -1)
@@ -225,6 +253,8 @@ public class Lib {
return in.substring(pos + 1, in.length());
return "";
}
+
+ /** Returns the left part of the string from the last occruence of c. */
public static String leftFrom(String in, char c) {
int pos = in.lastIndexOf(c);
if (pos == -1)
@@ -234,6 +264,7 @@ public class Lib {
return "";
}
+ /** Renames a file. */
public static int rename(String oldn, String newn) {
try {
File f1 = new File(oldn);
@@ -245,6 +276,8 @@ public class Lib {
return 1;
}
}
+
+ /** Converts an int to 4 bytes java representation. */
public static byte[] getIntBytes(int c) {
byte b[] = new byte[4];
b[0] = (byte) ((c & 0xff));
@@ -253,9 +286,13 @@ public class Lib {
b[3] = (byte) ((c >>> 24) & 0xff);
return b;
}
+
+ /** Converts an 4 bytes java int representation to an int. */
public static int getInt(byte b[]) {
return (b[0] & 0xff) | ((b[1] & 0xff) << 8) | ((b[2] & 0xff) << 16) | ((b[3] & 0xff) << 24);
}
+
+ /** Duplicates a float array. */
public static float[] clone(float in[]) {
float out[] = new float[in.length];
@@ -265,16 +302,19 @@ public class Lib {
return out;
}
+ /** Helper method that savely handles the null termination of old C String data. */
public static String CtoJava(String old) {
int index = old.indexOf('\0');
if (index == 0) return "";
return (index > 0) ? old.substring(0, index) : old;
}
+ /** Helper method that savely handles the null termination of old C String data. */
public static String CtoJava(byte[] old) {
return CtoJava(old, 0, old.length);
}
+ /** Helper method that savely handles the null termination of old C String data. */
public static String CtoJava(byte[] old, int offset, int maxLenght) {
if (old.length == 0 || old[0] == 0) return "";
int i;
@@ -283,9 +323,7 @@ public class Lib {
}
- /*
- * java.nio.* Buffer util functions
- */
+ /* java.nio.* Buffer util functions */
public static final int SIZEOF_FLOAT = 4;
public static final int SIZEOF_INT = 4;