Page 15 of 49

Posted: 27 Apr 2007, 11:19
by AF
oops, I made a mistake with a variable being an Integer and not being initialized, thus making a null pointer excption parsing battle data. I'll just fix that now....

Posted: 27 Apr 2007, 11:37
by AF
alpha23a

- Fixed the Integer null pointer bug
- Changed the default team colour from white to blue
- Changed a few other variables in anticipation of the above bug reocurring
- The start button in the battle window is now disabled if you're not the host
- Some more fixes for bad fonts in the battle window
- The mapname is now bold in the battle window

Posted: 27 Apr 2007, 12:10
by Relative
Joining battle lobby works again, but channels are still borked (lockup). Player and Battle list still don't load unless I logout and then login again in the same session. Doing this also causes unitsync error window to come up:

Error window:
Unsatisfied link error Make sure you have a JNI aware UnitSync library in the same folder as AFLobby, and that it is compiled correctly using the latest java bindings. AFlobby needs the unitsync library to be able to use spring. Linux users need libjavaunitsync.so Windows users need javaunitsync.dll Apple Mac users need libjavaunitsync.dylib (Mac is not entirely supported and upto date mac builds of unitsync arent included due to time restrictions) path variable = /usr/share/games/spring library path = .

Posted: 27 Apr 2007, 12:55
by AF
alpha23b

- Added an attempt at fixing the logging out and logging in unitsync error. I cant reproduce this error though so I aint sure if I fixed it or not.
- Fixed channels locking up due to battle list being empty
- Fixed battle list being empty.

pfft anticipating bugs can cause them too wtf.

Posted: 27 Apr 2007, 15:12
by kujeger
AF wrote:alpha23b

- Added an attempt at fixing the logging out and logging in unitsync error. I cant reproduce this error though so I aint sure if I fixed it or not.
- Fixed channels locking up due to battle list being empty
- Fixed battle list being empty.

pfft anticipating bugs can cause them too wtf.
MISSION ACCOMPLISHED

Posted: 27 Apr 2007, 15:31
by AF
its all working good?! (holepunching not included)

Whats left for beta 1 is setting up starting positions, holepunching, AIs, and lobby moderation commands like !kick

Posted: 27 Apr 2007, 15:55
by Slamoid
Don't forget a single-player offline option :-)

Posted: 27 Apr 2007, 16:00
by AF
yah, my aim atm though is to replicate tasclients featurelist. Once thats done AFLobbys other features will make it a far better client. One step closer to the "Betalord:Go implement the battle protocol in full, then we can talk about the protocol AF: okies".

Posted: 27 Apr 2007, 19:46
by Relative
I had some errors from while was testing out spring through the lobby.

Code: Select all

Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: -1
        at java.util.ArrayList.get(ArrayList.java:324)
        at aflobby.JBattleTableModel.GetBattleAt(JBattleTableModel.java:150)
        at aflobby.JChannelView.jButton8MouseReleased(JChannelView.java:1038)
        at aflobby.JChannelView.access$1900(JChannelView.java:37)
        at aflobby.JChannelView$20.mouseReleased(JChannelView.java:744)
        at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:273)
        at java.awt.Component.processMouseEvent(Component.java:6038)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)
        at java.awt.Component.processEvent(Component.java:5803)
        at java.awt.Container.processEvent(Container.java:2058)
        at java.awt.Component.dispatchEventImpl(Component.java:4410)
        at java.awt.Container.dispatchEventImpl(Container.java:2116)
        at java.awt.Component.dispatchEvent(Component.java:4240)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
        at java.awt.Container.dispatchEventImpl(Container.java:2102)
        at java.awt.Window.dispatchEventImpl(Window.java:2429)
        at java.awt.Component.dispatchEvent(Component.java:4240)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)

Posted: 29 Apr 2007, 05:20
by AF
I have found a method of making relatives lockup happen regularly for me.

The issue isnt quite any particular piece of code I have and attempts to debug keep pointing all over the place as to where the lockup cocurs.

However the issue is with the tab control in the main view. In time I need to rid myself of that control or find a fix.

Posted: 30 Apr 2007, 20:50
by AF
edit aflobby.sh to add the parameter -verbose tot he java command. It will become obvious that the lockup si nto a lockup at all btu rather:

Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space

This is confusing as I have 2GB of ram and its clearly obvious from task manager and netbeans that memory is not being used up.

Posted: 30 Apr 2007, 21:04
by Kloot
That's because the JVM reserves only 64MB by default and prefers to crash rather than request more when it runs out. What you want is to set the heapsize to something roomier on startup, like this:

Code: Select all

java -Xms128m -Xmx512m -jar aflobby.jar

Posted: 08 May 2007, 01:34
by AF
I and Hellcom/relative had an issue with logging in so I've replaced the current login progress panel (a label saying "hashed map: (xof n)") for a fancy new progress bar, along with a new logging in and connection mechanism.

Image

Relative has also helped me fix a new set of lockup bugs, and I've found a few more myself. Including autoscrolling bugs, channel tab issues, and a few small issues with random things. I also removed a lot of unnecesary panel controls and got rid of a lot of unnecessary threads. The whole UI should run a lot smoother now. There's also a new help tab now with a wiki:

Image

There's also a new smileys feature:

Image

They're fully animated smileys (courtesy of smoths forum), and they're defined using :smileyname: so in tasclient you'd see :cesure: or :afro: or :asdf:. The entire list of smileys is in the above screenshot.

Users now also autojoin #aflobby at startup. This channel cant be reached by tasclient users. There's also a slew of new warning windows to try and catch possible errors. The warnign window itself has been redesigned too:

Image

Some people also mentiond the window border and how it might look strange when on a white background so borders have been added:

Image


As always, feedback is welcome!

In the meantime here are a few pictures of tasclient UI mess ups:

ImageImage

Posted: 08 May 2007, 18:10
by jcnossen
Quite lame to post tasclient bugs as an attempt to make your stuff more popular tbh.

Posted: 08 May 2007, 18:24
by iamacup
why on earth do you need to safe guard against 128 mb mem usage?? lol

surely it will never reach that much? (and if it does you need to start again)

Posted: 08 May 2007, 23:11
by AF
128MB was a test build safeguard, I chose that value based on what I was testing with not what was optimum. The default is 64MB, and the warning now mentions 64MB not 128MB too. AFLobby shouldnt exceed this normally but its there just in case, a pre-emptive warning.

In the mean time I'll be glad to see your restart of 'spring client v1', tasclient and its forks have been known to breach the 128MB barrier under the right conditions.

Posted: 09 May 2007, 18:36
by LordMatt
iamacup wrote:why on earth do you need to safe guard against 128 mb mem usage?? lol

surely it will never reach that much? (and if it does you need to start again)
Yeah I never saw that either, and I have tonnes of maps too.

Posted: 09 May 2007, 20:17
by AF
With 222 maps, and fully logged in, tasclient is 49MB, and a debug build of AFLobby with verbose VM loggign turned on is 35MB.

Posted: 11 May 2007, 23:34
by Relative
Not sure if I gave this to you, but I sometimes get this just after I login.

Code: Select all

Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: No such child: 3
        at java.awt.Container.getComponent(Container.java:281)
        at javax.swing.JComponent.rectangleIsObscured(JComponent.java:4319)
        at javax.swing.JComponent.paint(JComponent.java:1020)
        at javax.swing.JComponent._paintImmediately(JComponent.java:5064)
        at javax.swing.JComponent.paintImmediately(JComponent.java:4862)
        at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:727)
        at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:683)
        at javax.swing.RepaintManager.seqPaintDirtyRegions(RepaintManager.java:663)
        at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:128)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)

Posted: 11 May 2007, 23:41
by AF
That can be ignored, it has no effect on AFLobbys functionality or rendering.