New BU client!

classic Classic list List threaded Threaded
74 messages Options
12345
Reply | Threaded
Open this post in threaded view
|

Re: New BU client!

insomniac
Ok my internet is paid for and will be setup tomorrow and for sure Ill be up and running monday!  :D

Insomniac/Nathan
Reply | Threaded
Open this post in threaded view
|

Re: New BU client!

Soren
how bout that new client tho
Reply | Threaded
Open this post in threaded view
|

Re: New BU client!

insomniac
In reply to this post by insomniac
Well first off I would like to apoligize for such a large break in the production of the client.

A brief rundown on why its takeing so long well life has thrown many curve balls at me I had a son, moved back to California :D and then my mother died ) :. When I first started the client I had alot of spare time and dedicated 100's of hours into the client and not so much the past year "family comes first" and I  had also came to point working on the client where everything is tedious and time consumeing and requires alot of descusion and persicion. I've also had many backed up projects and decided to add HTML,CSS,JavaScript, and PHP to my knowledge bank and have dedicated my spare time in the last 6 months to that.

I recently decided to dedicate atleast 10-20 hours a week on the client. Within the next month I would like to complete the following.

#1 The switch byte/packet seq: This is basicly a server generated sequence that the client must respond back with the correct sequence or else it is detected as invalid.
#2 Login/account creation: I am going to try and come up with all the possible scenerios and error messages pre PlayingMode such as invalid username/password combo not a valid email client out of date ect ect.
#3 GUI decisions: Basicly just need to figure out if we want everything as close to the original client as possible or if I should change anything "paperdoll,inventory,ect ect.

I will keep you all posted and hope every one has done alright over the past year and look forward to chopping away at another huge portion of the client.

Thank you all Insomniac/Nathan :D
Reply | Threaded
Open this post in threaded view
|

Re: New BU client!

insomniac
Hello to follow up on my last post I got the packet sequence worked out and worked a bit on account creation.I decided to back track clean up code and get memory leaks 100% worked out.I also decided to keep the egf files instead of dumping the files as .BMP's in seperate folders...."WHY" the staff is used to the editing process even if its time consumeing its a little more secure and a detourant for people to steal BU's art. I also couldnt find anyone to dump the bmp's in a valid order..meaning some sets have missing frames and when you dump them it just names them in order 1 2 3.bmp so the sequence was invalid. I am looking over some current methods to protect the art might be as simple as a password protected zip bu_client/data/.zip/.egf .

Today I wrote a function to extract the bitmap info from the egf resource files.. "was a pain in the a$$" but I am now able to load the files :D. Tomorrow I will  replace the old graphics loading precedures and rewrite the client to use the egf files enstead.

As far as functionality goes I am logged into BU right now I can chat walk attack make emotes see my inventory play songs and sounds use the minimap warp get drops and more.. its starting to come together very nice.

Thank you all Nathan/Insomniac
Reply | Threaded
Open this post in threaded view
|

Re: New BU client!

insomniac
In the last couple days I've got a quie a bit done mostly replaceing the gfx to read from egf files. I also organized most of the clients files.. packet handlers to their designated places Handlers/Talk,Walk,Init,ect here is a list of currently handled packets:

void attack(void *world_void,PacketReader reader);

void bank_reply(void *my_void,PacketReader reader);//take and add gold /bank??
void bank_open(void *my_void,PacketReader reader);//take and add gold /bank??

void character_delete_request(void *my_void,PacketReader reader);
void character_request(void *my_void,PacketReader reader);

void clothes_remove(void *world_void,PacketReader reader);
void clothes_admin(void *my_void,PacketReader reader);
void clothes_reply(void *my_void,PacketReader reader);

void face(void *my_void,PacketReader reader);

void handle_ping(void *my_void,PacketReader reader);

//items
void item_get(void *my_void, PacketReader reader);
void item_junk(void *my_void, PacketReader reader);
void item_drop(void *my_void, PacketReader reader);
void item_use(void *my_void, PacketReader reader);

//npc shit
void npc_act(void *my_void,PacketReader reader);
void npc_appear(void *my_void,PacketReader reader);
void npc_damage(void *my_void,PacketReader reader);
void npc_die(void *my_void,PacketReader reader);
void npc_level_up(void *my_void,PacketReader reader);

//talk crap
void guild_chat(void *my_void,PacketReader reader);
void party_chat(void *my_void,PacketReader reader);
void glb_chat(void *my_void,PacketReader reader);
void private_chat(void *my_void,PacketReader reader);
void public_chat(void *my_void,PacketReader reader);
void admin_chat(void *my_void,PacketReader reader);
void announce_chat(void *my_void,PacketReader reader);
void server_chat(void *my_void,PacketReader reader);

void player_agree(void *my_void,PacketReader reader);
void player_remove(void *my_void,PacketReader reader);
void player_accept(void *my_void,PacketReader reader);
void player_list_request(void *my_void,PacketReader reader);
void recover_reply(void *my_void,PacketReader reader);
void recover_player(void *my_void,PacketReader reader);
//refresh stuff
void refresh_reply(void *my_void,PacketReader reader);

void sit_remove(void *my_void,PacketReader reader);
void sit_player(void *my_void,PacketReader reader);
void sit_close(void *my_void,PacketReader reader);

void spell_cast_accept(void *my_void,PacketReader reader);
void spell_cast_reply(void *my_void,PacketReader reader);
void spell_cast_spec(void *my_void,PacketReader reader);
void spell_expgroup(void *my_void,PacketReader reader);
void spell_target(void *my_void,PacketReader reader);
void spell_request(void *my_void,PacketReader reader);
void spell_self(void *my_void,PacketReader reader);

void statskill_junk(void *my_void,PacketReader reader);
void statskill_accept(void *my_void,PacketReader reader);
void statskill_player(void *my_void,PacketReader reader);
void statskill_remove(void *my_void,PacketReader reader);
void statskill_take(void *my_void,PacketReader reader);
void statskill_open(void *my_void,PacketReader reader);

//walk
void walk_player(void *my_void,PacketReader reader);
void walk_reply(void *my_void,PacketReader reader);

void warp_request(void *my_void,PacketReader reader);
void warp_accept(void *my_void,PacketReader reader);
void warp_take(void *my_void,PacketReader reader);

void init_all(void *my_void,PacketReader reader);

ALOT most more than "60%" of EO packets are currently handled at near 100% accurracy but there are some things that will change ex: the current walk warp packets can mostly be replaced the Refresh packet lol Vult-R over complicated alot of things.

I worked on chat functions adding server messages includeing white text color and transparency values for different text types. Also changed the font family to match the original client MS-Sans Serif.

I fixed a bug haveing to do with the init packet sent to update files and playerlist. it wa basicly was decodeing the init packet after init which is just a raw string ect ect.
Reply | Threaded
Open this post in threaded view
|

Re: New BU client!

insomniac
Back with more progress!!

 I am  rendering character helms and weps and adjusting some character gfx a pixel or 2. I fixed a bug where the client was drawing the alpha layer if it was a 32bpp bmp file with transperancy also fixed a bug with the animated map tiles showing a dotted outline was just -1 y pixel off. I fixed the walk timer so the characters speed is real close to the original. I now have all images being loaded from the egf files/ I added support for reading and translateing edf files I also added a configuration file writer so we wont need an external program to change ports and what not a new form  will most likely replace the credits button/feature. Text is same size and style as the original allthough I am adding a nice font and text class so we can have different styles in differnt places "underlines bold italics ect. After I finish mostly finish the character rendering I am going to work on the paperdoll and inventory.

 I will have so screen shots next update!!!

Thanks for reading Nathan/Insomniac :D
Reply | Threaded
Open this post in threaded view
|

Re: New BU client!

scarecrow
I am curious to see the end project, thanks for all the hard work though
Real men hug naked while rolling on the floor -looks into the sky with a sparkle in my eye-
Reply | Threaded
Open this post in threaded view
|

Re: New BU client!

Ambivalent Hero
In reply to this post by insomniac
This is pretty cool. Give Cascade (Owner of EOR) a run for his money. Great work though.
Youtube Channel: Hero & Princess Play Games
https://m.youtube.com/channel/UC5b6N55U_k-PQqx8xV13ELA

Twitch Channel: www.twitch.tv/HeroAndPrincessPlayGames

(Veteran EO Mapper) IGN: Ambivalent
Reply | Threaded
Open this post in threaded view
|

Re: New BU client!

insomniac
I'm takeing a little break prolly just a few more days I put down alot of code Jan-Feb and I got backed up with my other projects and was loseing to much sleep trying to maintain 2 jobs 2 kids and this project. I will continue shortly.

Thank you for your interest! Nathan/Insomniac.
Reply | Threaded
Open this post in threaded view
|

Re: New BU client!

insomniac
Hello I am back to work with another PUSH toward my objective. After long delay I have started codeing again. Here are some screen shots.minmap chillen :D

My first day back code played on BU for a bit to see what needs the most work.
I figured out what I am going to do this run and that is enhance and complete main game features character and npc some important dialogs/text rendering.I formated finished the stats tab I removed the "Do you want to train dialog box"  and made it to where you can hold the L-mouse button down on the stat you wish to train and it will keep adding points so you can add stats fast.Also added text rendering to the Element slot :D.
stats menu working
I fixed NPC animations I was loading their base gfx incorrectly (Data()->gfx-1)*40+2 when its just (Data()->gfx-1)*40  had to correct their Action frame gfx ect.
 fixed npc rendering
I Found a network Error and addressed it if the Server/Net Dc's the client kept running while(recieve) is now while(recieve > 0)   it wasnt catching -1 which is the return for dropped connection ect.

In the next day or 2 I would like to finish the paperdoll its current state renders nothing no text? "thought i finished this but i guess not".will add text rendering to the job slot :D!
empty doll 

Be backsoon with more updates..
Thanx for reading Insomniac/Nathan :D
Reply | Threaded
Open this post in threaded view
|

Re: New BU client!

insomniac
In reply to this post by insomniac
It has been a productive last couple days here is a list with descriptions.

NPC's: I pretty well have NPC rendering and movement complete I adjusted their action timers
npc animations and drops

Warps: I corrected and finished warp packet handling including the map file updates and changed a bunch of functions that have to do with the updating the character containers.

Chat: I Got most chat channels and packets being processed scr,glb,grp,sys.I also added functionality and txt to the chat tabs. Still needs some work.chat

Character's: Initialized all the variables because of a rendering issue caused from an uninitialized variable walk_x,walk_y which tracks position on the tiles while walking.Also adjusted the walk timer to 0.048 ms which I think is same on EO.

Paper Doll: Added gfx rendering and strings to the paperdoll.I added button support but I will not get this fully functional for a bit. paperdoll

Mini Map: Fixed a minor bug and set transperancy.

FPS: I set up an FPS "frames per second" system that I have set to 60 fps and the client is running very smooth. I have tested low as 30 and high as 60. I will make this configurable at somepoint. fps

Next on my list I should prolly work on character gfx armor,weps ect. Im not 100 % sure what is next on the list but I am satisified with my production this last week. I will have more updates in the next couple days-week.

Thanx for reading...Insomniac/Nathan :D
Reply | Threaded
Open this post in threaded view
|

Re: New BU client!

insomniac
In reply to this post by insomniac
Updates!Updates!Updates!
I have been writing alot of code since my last update I decided to go ahead and work on character equipment gfx. I have added the rest of the equipment.

The helms were actualy pretty hard to figure out but after long discussions with the bu team we have it pretty well figured out. Helm gfx are seperated in a few categories normal:  helms/hoods scarfs/masks
The normal helms/hoods cover all hair and use the normal transparency color(0,0,0). The normal scarfs/masks which the hair appreas to be drawn over. There is another transparency color 8,0,0 used for clipping hair. Im still confused about some circumstances but have wrote all the functions to make these kind of pixel manipulations and draws possible.

The Shields were not as hard to understand but some of the same concepts may apply although I dont think we are going to follow the old clients protocols with clipping and such.As far as the graphical aspect the shields are seperated into shields/wings-arrows.

The weapons are done basic draw and positions were used i didnt have to do any extra work on these gfx.

We discussed future plans to remove the hard coded gfx ids by sending an identifier byte in a refresh type packet and or attack packet depending on the item type. Also discussed plans to replace the credits button with a setup button so we can get rid of the BU Config.exe and build it into the client..will have credits roll if idle time reaches a certain time.

Fixed a few minor bugs with map rendering characters and npc's were drawn before map objects!

a few pics :D

shows charcters equipment

paperdoll

credits


Reply | Threaded
Open this post in threaded view
|

Re: New BU client!

Pingiwin
Lemme know if you need anymore help with some stuff! Always here to help!

Great work team!!
Reply | Threaded
Open this post in threaded view
|

Re: New BU client!

insomniac
Will do thank you!
Reply | Threaded
Open this post in threaded view
|

Re: New BU client!

insomniac
I've got alot done in the last couple weeks here is a rundown.

Inventory/Paperdoll: I am basicly done with the inventory system give or take a few minor adjustments with the item interactions. The inventory system is pretty close to the original client allthough I added an auto arrange and if your inventory is not at maxweight but you dont have space the items will attempt to stack any any available slot. If there are no open slots the client wont handle them untill there is space.I have the interactions drop junk equip unequip swap and move items done-ish/+95% functional and dialogs/sliders. junk/drop inventory

Chat/News/player list: I added correct icons created the WordWrap() function needed to make chat/news and other dialogs function correctly. I added a DrawOptimizedText() function so the text surfaces get optimized to the same configuration as the window.  before getting drawn. I also alphabetized the player listnews

Quests: I added in  the Quest family packets and a few other quest involved packets Item_Stock ect... This is a weird beast the quest system is :D will get back to it soon!

Spells/Effects: Iadded the spell handler spell class and HARDCODED EVERYTHING lol up to gfx 201, then we can add new gfx with standard rules ect! I also added the effect family packets and added a basic version of  the earth quake effect.Its pretty close to the original but needs a little adjustment.

Theres prlly more I can recall at the moment. Next on the list  finish spells its basicly down to the group_heal and pk attack spell and then shops!

Thanx for reading Insomniac/Nathan :D
12345