• entries
    169
  • comments
    54
  • views
    130843

Newsletter #37 - SAO 1.2.2

Sign in to follow this  

237 views



News

Stick Adventures Online version 1.2.2 has been released!
  • Unused parts of the GUI have been removed.
  • Pressing the enter key twice while on the login screen should no longer disconnect you.
  • The random disconnect bug should now be fixed.
  • The repeating character bug while typing should be fixed.
  • Creating a character with a symbol in it's name should no longer kick you.

From the Programmer
Written by Invisible

This week I decided to fix some glitches in SAO that have been bugging the community for a while. One of them was quite difficult to figure out and was causing players to be disconnected at random. After many tests, I finally figured out what the problem was: Threading and non-blocking sockets do not mix well unless you handle WSAEWOULDBLOCK from each Winsock function including send(). Due to various reasons, send() would sometimes return a non-fatal error such as WSAEWOULDBLOCK which just means that the packet needs to be sent again at a later time. Unfortunately, my networking code was not doing so.

Due to the bug fixing I have been doing on SAO, I have not had a whole lot of time to work on that new input system. However, I think I have the design finished. Callbacks can be registered with the input core for the events KEY_DOWN, KEY_UP, KEY_REPEAT, CHAR_ENTERED, MOUSE_MOVE, MOUSE_BUTTON_DOWN and MOUSE_BUTTON_UP. I will expand this list of events when I require input from a different device, such as a joystick or gamepad. When one of these events occurs, the event is triggered and all registered callbacks for that event are called. The CHAR_ENTERED event is triggered when a specific character is entered, rather than a key pressed/released. The KEY_REPEAT event will handle repeating a key press (the exact timing of each press is figured out by the input core and depends on the API it uses as well as the operating system). A callback registered to handle a KEY_REPEAT will most likely want to copy the code used in KEY_DOWN, however the two events are made separate so that if key repeating is not required, it doesn't have to be handled. The callback is able to check the current state of all the keys/mouse buttons/mouse position/etc, not just the one it was created to handle.


Artist's Easel
Written by GreyKnight

The bank is finally finished! The only light sources are the two braziers (unless you count the door), so I gave everything a slight orange tint.

This is the end of the Artist's Easel for now. If I am working on a large background or something similar, I might start this section up again. However, it is getting difficult to show what I am working on without giving too much away.

Bank
Part #5



Drawn with:
MS Paint


Community Spotlight

Sorry, there isn't a community spotlight article this week.
Sign in to follow this  


1 Comment


Recommended Comments

Wow the bank is looking really nice!! Although the open chest filled with gold near the bottom right looks really odd, kind of like its facing the wrong way and open yet closed...not sure if thats just me but just letting you know what I see.

Great work, keep it up!

Share this comment


Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now