Preparations..

Let’s not derail it anymore than the previous thread.

Riven,

LOL! You don’t want to share your secrets?! ;D

Edit: For some reason, it is currently showing “Riven” on your image and it says “Hi Riven!” on your Compile-And-Shrink service at this time (for me only of course).

Not in public (again). PM me if you wish.

[quote]Not in public (again). PM me if you wish.
[/quote]
Thanks, but I’ll hold off for now.

Could you consider documenting how Compile-And-Shrink works?

You can browse the previous thread for that info too.

Riven,

Thanks a lot for all your help. And, thanks again for creating and maintaining Compile-And-Shrink.

I tried an applet with a private inner class (not anonymous) and it didn’t work.

entered work queue
sourcecode
OK
javac

Note: /home/indiespot/http-files/4k/GameApplet.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

OK
jar
OK
proguard

ProGuard, version 4.4
Reading program jar [/home/indiespot/http-files/4k/GameApplet.normal.jar]
Reading library jar [/root/jdk1.6.0_18/jre/lib/rt.jar]

Warning: GameApplet: can't find referenced class GameApplet$Quad
Warning: GameApplet: can't find referenced class GameApplet$Quad
Warning: GameApplet: can't find referenced class GameApplet$Quad
Warning: GameApplet: can't find referenced class GameApplet$Quad
Warning: GameApplet: can't find referenced class GameApplet$Quad
Warning: GameApplet: can't find referenced class GameApplet$Quad
Warning: GameApplet: can't find referenced class GameApplet$Quad
Warning: GameApplet: can't find referenced class GameApplet$Quad
Warning: there were 8 unresolved references to classes or interfaces.
         You may need to specify additional library jars (using '-libraryjars'),
         or perhaps the '-dontskipnonpubliclibraryclasses' option.
Error: Please correct the above warnings first.

Exit value: 1

I think the instructions are pretty clear:

// your class MUST NOT define any (anonymous) inner classes

Which, would be read as:
// 1. your class MUST NOT define any inner classes
// 2. your class MUST NOT define any anonymous inner classes

Riven,

For Compile-And-Shrink, could you make it possible to download the normal (non-pack200, non-optimized) jar as well?

Appel,

Can you make it possible to upload the pack200 gz and the normal jar as per the discussion above?

Thanks for the clarification, I read that as must not define any anonymous inner classes.

What’s the verdict on JDK 1.6 support? Are we staying with JDK 1.5 as the base platform?

There’s always the problem with Mac Os X having 1.5.

The latest Mac OS X version has Java 6. It would be interesting to see how rapidly it gets adopted.

Pretty much everyone should have it now, as it is auto-updated with system update.

Probably auto-uninstalled soon. :slight_smile:

I’m willing to raise the bar to Java 6 if everyone agree that’s the consensus.

:slight_smile:

While I have Java 6 on my PC, my old powerpc powerbook g4 only has java 5, so I can either compile for java 6 but not test on the mac, or compile for java 5. I know from past experience that a few tweaks are usually required to get the mac version working. So the question is “are there any improvements in java 6 that give better gaming performance (due to compilation, not runtime), or smaller executables?”

What are the stats? According to http://www.statowl.com/java.php 6% of users are on 5. This is big enough to stick with 5 imo, if this is accurate.

Java 5 is losing market share at almost 1% a month according to those stats, by the time the contest is done next year some time it’ll be pretty small :slight_smile:

But then again don’t see any killer reason to support 1.6 over 1.5.

Maybe next year we can do plugin2 only :slight_smile:

Does the java4k site collect any stats on the versions of java used? IMO better to look at what the target audience for java4k has and decide on that.

Also really crap thing about the java plugin is that if jars are compiled for a newer version of java the plugin just blows up with an exception, unlike flash which gives you a nice message to update your flash install.

I agree - from these stats 69% are 1.6, 8% are 1.5 and 21% are undetected - that means over 10% of detected JVMs are 1.5.
Are the advantages of 1.6 a good enough reason to say goodbye to 10% of our audience?