Let me know if you need help.
I wish great success with not drowning in code!
Having the network interaction as a separate library would also help us to implement TLS encryption later on. (ATM the login password is transmitted in cleartext for example).
When separating the network library becomes a success we could think about splitting up a higher level game logic backend library that contains the logic game stuff except for UI, keyboard events, UI settings, renderer.
Some pseudo code to hopefully give an idea what I'm dreaming about:
Code: Select all
getCharacters():Array<Character> selectCharacter(character) getInventory(page, searchquery):Array<Item> Chat.sendMessage(channel, message) Chat.getMessages(channel) Player.attack(entity) Player.move(direction) Player.moveTo(coordinates)
I don't know how m+ or the network protocols actually work so take my post here with a grain of salt.
For anyone trying to compile the Source Of Tales client on Windows you will need to change a couple of files in order to be able to compile it.
LIBS += -L../src/debug/ -lmana -lz -lwsock32 -lws2_32 -lwinmm
It was fun trying to compile it, I learnt a lot and I was amazed to find that the server of this game is still working.
Does anyone know how to build manaplus on and for Windows?