Markus, mathematicans could disagree with me but for me angle starts from zero on clocks and grows as hours or minutes...
with angle() method i get exactly what i want. tell me please more wrong methods and classes.
Actually, I can't find anything else that's outright wrong, so I apologize for implying there are more errors. Sorry.
About atan2: If it works for your project, then it's great. I myself also use Math.atan2(x, y) in my projects, but I also always get sin and cos mixed up.
I just meant for a library, it's probably a good idea to pay very close attention to the standards. =)
Some minor feedback:
You should move all packages from m.* to com.btrgame.*. It's not insanely important, but if several people make libraries in the m.* package, things will get confusing, that's why there's a package name standard.
Catching compile time errors and throwing runtime errors instead is.. well.. Some people think it's valid style, but I strongly disagree. It's much better than empty catch blocks, though.
What's worse, often you catch Exception and just return false or null.. that will lead to bugs as it forces the people who use your code to do manual error checking, or just get silent failures. Failures should be LOUD.
m.util.File77.copy(String, String) is very, very slow as it reads and writes a single byte at a time.
byte buffer = new byte[BUFFER_SIZE];
int bytesRead= 0;
out.write(buffer, 0, bytesRead);
m.util.File77.delete(String) is dangerous as all hell.
m.util.U77.repeat(String, int) is very slow. "res += s" is the same as "StringBuffer tmp = new StringBuffer(res); tmp.append(s); res = tmp.toString();"
This probably will never matter in your game, but if someone writes something that relies on it, I'm sure they'd appreciate it if it was faster:
StringBuffer res=new StringBuffer();
for (int i=0; i<count; i++) res.append(s);