[PlusEMU] Emulator Development [UPDATED]

Status
Not open for further replies.

Sledmore

Chaturbate Livestreamer
Staff member
FindRetros Moderator
Jul 24, 2010
5,199
3,934
Ball should be fixed too

Will look into the ball soon.

--

This weekend I'll be putting a fair bit of time into the emulator, going to put my re-coded trading in there & a bunch of other recoded components (bans, rights etc).

Will get onto features soon, for now it's all about fixing this up. Features are enjoyable, but a fixed & stable hotel is even more enjoyable.
 

LeChris

https://habbo.codes/
Sep 30, 2013
2,786
1,395
Will look into the ball soon.

--

This weekend I'll be putting a fair bit of time into the emulator, going to put my re-coded trading in there & a bunch of other recoded components (bans, rights etc).

Will get onto features soon, for now it's all about fixing this up. Features are enjoyable, but a fixed & stable hotel is even more enjoyable.
A cleaned up database would be pretty nice too, without additional tables, columns, etc :D
 

Bjork

Member
Feb 7, 2012
73
29
Glad to contribute to this project
Pathfinder needs fixes (A recode maybe) can be glitchy sometimes when users collide, try to walk in the same square and can make randomly dead square which can be re-generated by the regenmap command or unloading the room.
 

Sledmore

Chaturbate Livestreamer
Staff member
FindRetros Moderator
Jul 24, 2010
5,199
3,934
Agreed with everyone mentioning pathfinding - however I am temporarily ignoring this, as I'm aware of other issues surrounding pathfinder (gamemap, rooms etc).

I should be able to contribute some good hours this weekend, and you'll see what I mean from my commits.
 

Chenaho

Member
Feb 9, 2016
45
9
Issue 1) Private messages are glitched, sometimes when someone leaves you a message if you're offline it'll come up as a notification but when you click on it, nothing comes up. 2) Floorplan editor, when you make the room bigger, the outer row of tiles become useless and you can't place anything on them; so you have to add +1 row to drop furni, then remove that last row in order to get furniture to place.
 

Sledmore

Chaturbate Livestreamer
Staff member
FindRetros Moderator
Jul 24, 2010
5,199
3,934
Issue 1) Private messages are glitched, sometimes when someone leaves you a message if you're offline it'll come up as a notification but when you click on it, nothing comes up. 2) Floorplan editor, when you make the room bigger, the outer row of tiles become useless and you can't place anything on them; so you have to add +1 row to drop furni, then remove that last row in order to get furniture to place.

Will keep this in mind, cheers!

--

A lot planned today, I'll keep this thread updated throughout the day, working on the moderation tool atm, mainly refactoring (... we currently have the new moderation manager and the old one implemented at the time, the new one was coded by me some 2 year ago, but I never got round to fully removing it).
 

Sledmore

Chaturbate Livestreamer
Staff member
FindRetros Moderator
Jul 24, 2010
5,199
3,934
Hey,

Moderation tickets currently do not save, I'm going to finish that off later - by this I mean they do not go to the database yet. I wasn't sure if I should do that or not, but I decided I will.

Expect a release in a couple more hours, however current files have been pushed to the Git.


Been working on a fair bit today, so far..
  • Refactored a fair bit (slow & steady), corrected namespaces etc.
  • Removed the old support ticket stuff (Support folder)
  • Fixed the sometimes occurring overflow on tickets.
  • The user is now shown the proper option when submitting more than one ticket.
  • Re-coded ignoring/muting users (Ignore Component now exists). Previoulsy ignored users would be un-ignored on reload, packets also now exist for this.
  • Re-done all of the badge saving, renamed/refactored the badge classes, we now only have 'GroupBadgeParts' and 'GroupColours' classes. I also added a 'GroupBadgeUtility' class.
  • Following the above, the purchase group event, manage group composer & update group badge composer are now a lot cleaner.
  • Fixed a big issue with bots speech, a dbClient would load per new line.
Pictures:
Links:







Not really updates.
  • Began organising the packets in ClientPacketHeader.cs & ServerPacketHeader.cs.
 

Chenaho

Member
Feb 9, 2016
45
9
Here's some suggestions, I was trying to think of more but my brain farted...
 
Adding onto what I previously said; I think there's a slight issue with when users get off the client. I noticed that there would be a few users who's online status would stay set as "1" in the users table, but when you search that user in the client they're offline. Since my user count is being created from the amount of users that has their online status from the users table, since when someone floods the TCP port; it counts as online users.
 

Sledmore

Chaturbate Livestreamer
Staff member
FindRetros Moderator
Jul 24, 2010
5,199
3,934
Will be making some more progressed base on what others have posted later on. I'll go through some of the lists submitted by people

Props to @Core and @Bjork for committing changes recently.

Cheers.
 

Sledmore

Chaturbate Livestreamer
Staff member
FindRetros Moderator
Jul 24, 2010
5,199
3,934
Hey there, still haven't done the changes I want to - just lately in a loop of going to bed late, up early, go to work, come home - die.

So as usual, will try and make some progress tonight!
 

Meap

Don't need glasses if you C#
Nov 7, 2010
1,045
296
Hey there, still haven't done the changes I want to - just lately in a loop of going to bed late, up early, go to work, come home - die.

So as usual, will try and make some progress tonight!
I know the feeling, no rush, quality over quantity :)
 

Sledmore

Chaturbate Livestreamer
Staff member
FindRetros Moderator
Jul 24, 2010
5,199
3,934
Howdy,

Still haven't made progress, I've just updated some of the issues.



Will look into MUS, however I have the other things to finish first. If anyone else wants to look into MUS, feel free to commit changes.

Will get to it, just the following are on my list atm:
  • Finish moderation tool (almost finished, improved the support tickets a lot, this is already in the development branch).
  • Re-coding room trading.
  • Re-code room banning.
  • Re-code room rights.
If @Shorty doesn't distract me with Overwatch tonight then I may get some progress done. :) But as I said before, this will mainly be active during the weekends.
 

Sledmore

Chaturbate Livestreamer
Staff member
FindRetros Moderator
Jul 24, 2010
5,199
3,934
Hey,

Bit annoyed... I added in a bans component but forgot to sync it... This doesn't mean it's lost, just means it isn't up there yet. So tonight I'll push through the new room banning, its a lot more appealing to the idea, freshly packet logged (sending through the right server packets on ban and statuses 100%).

I actually did something last night! I was mainly refactoring, some of it just following code analysis (though I do disable certain configurations on mine, such as the thousands of warnings you get asking you to use var, remove this, remove base yadayada).



The aim of that commit was to just remove some objects that were being sent through but never used.

And then this next commit, I basically just went over the disposing methods, I've noticed some areas where we're not disposing correctly (haven't fixed this yet, I don't know how to without actually debugging properly, so this is a weeekend job).




Also in that commit above, I did some 'petty' changes, e.g. RemoveBuddyEvent.cs will now only open up one dbClient connection, also changed the Linq query, as we were checking for where and then count before.

I also noticed that the teams never used to dispose in games, they should clear now. I've also tidied up the Room Dispose() method, most of the saving bits are now in their actual classes (e.g. RoomUserManager).

I have started to re-code trading, I just haven't synced it as I have a bit more to do. I changed up the statuses methods as we had a duplicate method there. But the trading will now also be a Room Component, likewise with room banning.

Again, I will get to more pressing bugs & issues soon, and even proper performance issues - just trying to structure things up to have a nicer playground to play on.

So far though, going through this route is allowing me to find more and more issues.

 
Just added $100 to the hosting account, chance I forget. Should be good for another 3 month.

(Git & downloads are separate instances).
 
Following on.. I'm aiming to release the next 'stable' release on Saturday, just if anyone else is wanting to contribute. :)
  • Will be 100% releasing a badge_definitions.sql file and badge folder (Habbo's only).
  • Will possibly update the revision, so this will be a separate download if I do, just to prevent releasing a full SWF pack each time.
 

Sledmore

Chaturbate Livestreamer
Staff member
FindRetros Moderator
Jul 24, 2010
5,199
3,934
Please dont update to the new Revision.
We need fixes and not updates!

Thanks.

Plenty of 'behind the scene' fixes/improvements have already been put into the Git, the more visual will come soon. If I run my updater on the headers it'll probably miss 3-5 headers, if I run it on the source in 2 months time it could miss 15-35, or more. If it's easy to stay up to date, I'll probably take that route.

It takes 15 minutes to update regardless! But I respect your thoughts.
 
Okay, hi. Did a little more.

RELEASE IS COMING LATE SATURDAY, INCLUDES SQL CHANGES THAT WILL BE COMPATIBLE WITH THE ORIGINAL DATABASE, E.G. UPDATING YOUR EXCHANGEABLE FURNITURE DATA & PETS.

Done:

  • Room banning have been re-coded.
  • Trading has been re-worked for the most part.
  • Changed how exchangeable furni works, no longer goes by item name - goes by 'exchange' furni interaction type, and uses the column 'behaviour_data'
  • New column 'behaviour_data' added to the furniture table, will be used for.. special behaviour for the said furni, saves additional columns. (Props to Mango).
  • Got rid of those stupid interaction types that the pets have, there is only one interaction type for pets, which is 'pet', the race ID is defined by the 'beavhour_data' column.
  • Re-factored a few bits guided by the IDE.
  • I've moved most of the Quest logic out of the QuestManager and into the Quest packets.
  • Master Room.cs class is now a lot cleaer (not gone through method by method, but with the new room banning & trading in place, they're no longer in there).
TODO:
  • Add configurable option for auto exchanging credits (emu config).
  • Add configurable option for changing pet food.
  • Finish moderation tool.
Again, let me finish doing these current improvements, and we'll get onto features soon. I promise you we'll make this emulator have the bits that everyone cries about, it just takes time.

After this release, I'll try and release quicker - e.g, not go stupid on changes like these. I still want to refactor more, but it will cause massive conflicts, I'm just going to change some of the naming conventions of the packets.
 
Almost forgot, notable changes:



Just doing some quick code analysis suggestions given by the IDE atm before I go to bed, so I apologise for the Git spam.
 
Another one to add to my pile.. Going to re-code marketplace tomorrow, I ripped that from Phoenix back in the day. Just gone over the code and urgh.

So my final list before release is...
  • Add configurable option for auto exchanging credits (emu config).
  • Add configurable option for changing pet food.
  • Finish moderation tool.
  • Re-code marketplace.
  • Debug all of the changes, ensure that we are fine.
  • Make additional SQL scripts for previous build upgrades & a new DB for fresh installation,
Cheers!
 

Meap

Don't need glasses if you C#
Nov 7, 2010
1,045
296
sounds good, pet thing is good too, Damien recoded how they work also the other week and gave me the code for it and it just fetches the pet race from their furniture table name
 

Paylee

Member
Feb 8, 2017
41
13
Great work to everyone who has contributed to this project. This will really save the retro community. I am so thankful for what you all have done, I've nothing else to say than keep up the good work.


Sent from my iPhone using Tapatalk
 

Meap

Don't need glasses if you C#
Nov 7, 2010
1,045
296
If you're adding the changes from development repo you should be able to understand how it all works considering it's all development and you shouldn't use it unless you know what it does because any of it could change that's why it's in the development and hasn't been pushed to master @Wulles
 
Status
Not open for further replies.

Users who are viewing this thread

Top