Commit 97de196eea75cd0b4afee61664b61485038adf38
1 parent
b3097a72
minor refactoring and logging output changes
Showing
5 changed files
with
60 additions
and
19 deletions
java/client/com/mumfrey/liteloader/client/gui/GuiPanelLiteLoaderLog.java
... | ... | @@ -23,7 +23,7 @@ import com.mumfrey.liteloader.util.net.LiteLoaderLogUpload; |
23 | 23 | */ |
24 | 24 | class GuiPanelLiteLoaderLog extends GuiPanel implements ScrollPanelContent |
25 | 25 | { |
26 | - private static boolean useNativeRes = false; | |
26 | + private static boolean useNativeRes = true; | |
27 | 27 | |
28 | 28 | /** |
29 | 29 | * Scroll pane |
... | ... | @@ -226,7 +226,7 @@ class GuiPanelLiteLoaderLog extends GuiPanel implements ScrollPanelContent |
226 | 226 | { |
227 | 227 | if (yPos > scrollAmount - 10 && yPos <= scrollAmount + height) |
228 | 228 | { |
229 | - this.mc.fontRendererObj.drawString(logLine, 0, yPos, this.getMessageColour(logLine.toLowerCase())); | |
229 | + this.mc.fontRendererObj.drawString(logLine, 0, yPos, this.getMessageColour(logLine.toLowerCase().substring(11))); | |
230 | 230 | } |
231 | 231 | yPos += 10; |
232 | 232 | } |
... | ... | @@ -259,6 +259,14 @@ class GuiPanelLiteLoaderLog extends GuiPanel implements ScrollPanelContent |
259 | 259 | if (logLine.startsWith("calling late")) return 0x00AAAA; |
260 | 260 | if (logLine.startsWith("dependency check")) return 0xFFAA00; |
261 | 261 | if (logLine.startsWith("dependency")) return 0xFF5500; |
262 | + if (logLine.startsWith("mod name collision")) return 0xAA0000; | |
263 | + if (logLine.startsWith("registering discovery module")) return 0x55FF55; | |
264 | + if (logLine.startsWith("registering interface provider")) return 0xFFAA00; | |
265 | + if (logLine.startsWith("mod file '")) return 0xFFAA00; | |
266 | + if (logLine.startsWith("classtransformer '")) return 0x5555FF; | |
267 | + if (logLine.startsWith("tweakClass '")) return 0x5555FF; | |
268 | + if (logLine.startsWith("baking listener list")) return 0x00AAAA; | |
269 | + if (logLine.startsWith("generating new event handler")) return 0xFFFF55; | |
262 | 270 | |
263 | 271 | return 0xCCCCCC; |
264 | 272 | } | ... | ... |
java/common/com/mumfrey/liteloader/core/LiteLoaderEnumerator.java
... | ... | @@ -453,15 +453,28 @@ public class LiteLoaderEnumerator implements LoaderEnumerator |
453 | 453 | |
454 | 454 | if (container != null) |
455 | 455 | { |
456 | - if (container.isEnabled(this.environment) && this.checkDependencies(container) && this.checkAPIRequirements(container)) | |
456 | + if (!container.isEnabled(this.environment)) | |
457 | 457 | { |
458 | - this.registerEnabledContainer(container); | |
458 | + LiteLoaderLogger.info("Container %s is disabled", container.getLocation()); | |
459 | + this.registerDisabledContainer(container); | |
460 | + return false; | |
459 | 461 | } |
460 | - else | |
462 | + | |
463 | + if (!this.checkDependencies(container)) | |
461 | 464 | { |
465 | + LiteLoaderLogger.info("Container %s is missing one or more dependencies", container.getLocation()); | |
462 | 466 | this.registerDisabledContainer(container); |
463 | 467 | return false; |
464 | 468 | } |
469 | + | |
470 | + if (!this.checkAPIRequirements(container)) | |
471 | + { | |
472 | + LiteLoaderLogger.info("Container %s is missing one or more required APIs", container.getLocation()); | |
473 | + this.registerDisabledContainer(container); | |
474 | + return false; | |
475 | + } | |
476 | + | |
477 | + this.registerEnabledContainer(container); | |
465 | 478 | } |
466 | 479 | |
467 | 480 | return true; | ... | ... |
java/common/com/mumfrey/liteloader/core/api/EnumeratorModuleFolder.java
... | ... | @@ -36,20 +36,20 @@ public class EnumeratorModuleFolder implements FilenameFilter, EnumeratorModule |
36 | 36 | /** |
37 | 37 | * Ordered sets used to sort mods by version/revision |
38 | 38 | */ |
39 | - private final Map<String, TreeSet<LoadableMod<File>>> versionOrderingSets = new HashMap<String, TreeSet<LoadableMod<File>>>(); | |
39 | + protected final Map<String, TreeSet<LoadableMod<File>>> versionOrderingSets = new HashMap<String, TreeSet<LoadableMod<File>>>(); | |
40 | 40 | |
41 | 41 | /** |
42 | 42 | * Mods to add once init is completed |
43 | 43 | */ |
44 | - private final List<LoadableMod<File>> loadableMods = new ArrayList<LoadableMod<File>>(); | |
44 | + protected final List<LoadableMod<File>> loadableMods = new ArrayList<LoadableMod<File>>(); | |
45 | 45 | |
46 | - private LiteLoaderCoreAPI coreAPI; | |
46 | + protected LiteLoaderCoreAPI coreAPI; | |
47 | 47 | |
48 | - private File directory; | |
48 | + protected File directory; | |
49 | 49 | |
50 | - private boolean readZipFiles; | |
51 | - private boolean readJarFiles; | |
52 | - private boolean loadTweaks; | |
50 | + protected boolean readZipFiles; | |
51 | + protected boolean readJarFiles; | |
52 | + protected boolean loadTweaks; | |
53 | 53 | |
54 | 54 | /** |
55 | 55 | * True if this is a general, unversioned folder and the enumerator should only add files which have valid version metadata |
... | ... | @@ -211,6 +211,16 @@ public class EnumeratorModuleFolder implements FilenameFilter, EnumeratorModule |
211 | 211 | } |
212 | 212 | |
213 | 213 | /** |
214 | + * @param modFile | |
215 | + * @return | |
216 | + */ | |
217 | + protected boolean isFileSupported(LoadableModFile modFile) | |
218 | + { | |
219 | + // Stub for subclasses | |
220 | + return LiteLoaderVersion.CURRENT.isVersionSupported(modFile.getTargetVersion()); | |
221 | + } | |
222 | + | |
223 | + /** | |
214 | 224 | * @param candidateFile |
215 | 225 | * @param strVersion |
216 | 226 | */ |
... | ... | @@ -222,7 +232,7 @@ public class EnumeratorModuleFolder implements FilenameFilter, EnumeratorModule |
222 | 232 | { |
223 | 233 | // Only add the mod if the version matches, we add candidates to the versionOrderingSets in |
224 | 234 | // order to determine the most recent version available. |
225 | - if (LiteLoaderVersion.CURRENT.isVersionSupported(modFile.getTargetVersion())) | |
235 | + if (this.isFileSupported(modFile)) | |
226 | 236 | { |
227 | 237 | if (!this.versionOrderingSets.containsKey(modFile.getName())) |
228 | 238 | { | ... | ... |
java/common/com/mumfrey/liteloader/transformers/event/EventInjectionTransformer.java
... | ... | @@ -261,7 +261,7 @@ public abstract class EventInjectionTransformer extends ClassTransformer |
261 | 261 | Event head = events.iterator().next(); |
262 | 262 | MethodNode handler = head.inject(injectionPoint, cancellable, this.globalEventID); |
263 | 263 | |
264 | - LiteLoaderLogger.info("Injecting event %s with %d handlers in method %s in class %s", head.getName(), events.size(), method.name, classNode.name.replace('/', '.')); | |
264 | + LiteLoaderLogger.info("Injecting %s[x%d] in %s in %s", head.getName(), events.size(), method.name, getSimpleClassName(classNode)); | |
265 | 265 | |
266 | 266 | for (Event event : events) |
267 | 267 | { |
... | ... | @@ -270,4 +270,11 @@ public abstract class EventInjectionTransformer extends ClassTransformer |
270 | 270 | |
271 | 271 | this.globalEventID++; |
272 | 272 | } |
273 | + | |
274 | + private static String getSimpleClassName(ClassNode classNode) | |
275 | + { | |
276 | + String className = classNode.name.replace('/', '.'); | |
277 | + int dotPos = className.lastIndexOf('.'); | |
278 | + return dotPos == -1 ? className : className.substring(dotPos + 1); | |
279 | + } | |
273 | 280 | } |
274 | 281 | \ No newline at end of file | ... | ... |
java/common/com/mumfrey/liteloader/util/log/LiteLoaderLogger.java
... | ... | @@ -4,6 +4,7 @@ import java.io.IOException; |
4 | 4 | import java.io.PrintWriter; |
5 | 5 | import java.io.StringWriter; |
6 | 6 | import java.util.ArrayList; |
7 | +import java.util.Date; | |
7 | 8 | import java.util.LinkedList; |
8 | 9 | import java.util.List; |
9 | 10 | import java.util.MissingFormatArgumentException; |
... | ... | @@ -51,11 +52,11 @@ public class LiteLoaderLogger extends AbstractAppender |
51 | 52 | synchronized (LiteLoaderLogger.logTail) |
52 | 53 | { |
53 | 54 | LiteLoaderLogger.logIndex++; |
54 | - this.append(event.getMessage().getFormattedMessage()); | |
55 | + this.append(event.getMillis(), event.getMessage().getFormattedMessage()); | |
55 | 56 | Throwable thrown = event.getThrown(); |
56 | 57 | if (thrown != null) |
57 | 58 | { |
58 | - this.append(String.format("\2474%s: \2476%s", thrown.getClass().getSimpleName(), thrown.getMessage())); | |
59 | + this.append(event.getMillis(), String.format("\2474%s: \2476%s", thrown.getClass().getSimpleName(), thrown.getMessage())); | |
59 | 60 | } |
60 | 61 | } |
61 | 62 | } |
... | ... | @@ -63,16 +64,18 @@ public class LiteLoaderLogger extends AbstractAppender |
63 | 64 | /** |
64 | 65 | * @param message |
65 | 66 | */ |
66 | - private void append(String message) | |
67 | + private void append(long timestamp, String message) | |
67 | 68 | { |
69 | + String date = new java.text.SimpleDateFormat("[HH:mm:ss] ").format(new Date(timestamp)); | |
70 | + | |
68 | 71 | while (message.indexOf('\n') > -1) |
69 | 72 | { |
70 | 73 | int LF = message.indexOf('\n'); |
71 | - this.appendLine(message.substring(0, LF)); | |
74 | + this.appendLine(date + message.substring(0, LF)); | |
72 | 75 | message = message.substring(LF + 1); |
73 | 76 | } |
74 | 77 | |
75 | - this.appendLine(message); | |
78 | + this.appendLine(date + message); | |
76 | 79 | } |
77 | 80 | |
78 | 81 | /** | ... | ... |