Jump to content
Act of Valor

Unity Client In Progress | RSPS Project

Recommended Posts

You can follow all of RSPS updates on our forums.

Forums: http://resolute-ps.xyz/forums/
d6757b75e93c10f0447fd1fd862925e9.png.7e5

 


THE GOAL
The goal of this project is to provide accurate emulation of a 317 client. This includes providing support for existing file formats, and the networking protocol used in revision 317. Along with this, higher revision content may be back ported from hd+ revisions for graphical fidelity.


MEDIA


ecb7ea1ab6596fc8277d029551b8e45c.png
d7cde861a148a0edfa75859fc7649d2b.png
a36b79ddf5623584622744a8ada9ca51.png
8be2655884672f2f20ed331e3aaef57a.png
ad8863b6d972870e616d80e089064252.png
d465d177630edf526f36412f2ffb6dbb.png
b7672d74c85550fda4fb78d831c45c30.gif
2bf915aa4e5ae6383f859da31a7977ab.png
https://dl.dropboxusercontent.com/u/83439509/media/particles.webm

 

ALL UPDATES:


[07/13/2016] The client now waits for a player update packet after a region load packet to load the scene (fix for really weird loading issue when changing planes)
[07/13/2016] Scene is now recreated when plane changes
[07/13/2016] Buffers are now reset on logout, to prevent malformed packet issues on relogin
[07/13/2016] Tabs are no longer released on relogins, fixing the NPE disconnect on login
[07/13/2016] Widget descriptors are no longer freed on new region load, fixing an issue causing inventories to not update when changing regions
[07/12/2016] Added support for "using" inventory items
[07/12/2016] Added support for dragging inventory items
[07/12/2016] Added support for the examine item option
[07/12/2016] Added support for the examine actor option
[07/12/2016] Added support for item on actor
[07/12/2016] Added support for item on item
[07/12/2016] Clicking a ground item now shows the proper cross
[07/12/2016] Fixed an issue causing cached widget strings to not be released
[07/12/2016] You can now zoom in and out via the scroll wheen
[07/12/2016] Ripped vertex normal calculation from 550 client
[07/12/2016] Tooltips now display in the top left corner
[07/12/2016] Added support for selecting widgets
[07/12/2016] Added support for the widget on actor packet
[07/12/2016] Fixed projectile simulation
[07/11/2016] Movement flag is now rendered on the minimap when moving
[07/11/2016] You can now interact with ground decoration objects
[07/11/2016] You can now interact with wall decoration objects
[07/11/2016] You can now interact with animated interactive objects
[07/11/2016] Player models no longer receive shadows
[07/11/2016] Added support for prayer head icons
[07/11/2016] Ground items are now rebased when changing regions
[07/11/2016] Updating is no longer tied to framerate
[07/11/2016] Fixed issue causing ground items to duplicate
[07/11/2016] Fixed an issue causing cached widgets to not be released when changing a tab widget
[07/11/2016] Added support for widget buttons with the option type of 1 (e.g. logout button)
[07/11/2016] Fixed a bug causing an NPE during ground item removal
[07/10/2016] Increased performance on loading screen
[07/10/2016] Wrote client loader & php backend for client stuff
[07/10/2016] Entity stack hiding now works for actors
[07/10/2016] Fixed a bug related to software rendering and lighting
[07/10/2016] All entities in a stack will now have their menu options added
[07/10/2016] Implemented animation interpolation
[07/10/2016] Hitpoint bars are now positioned via model bounds
[07/10/2016] Hit marks are now positioned via model bounds
[07/09/2016] Added support for rank icons in chat
[07/09/2016] Added projectile support (need to tweak movement code)
[07/09/2016] Fixed a bug causing special objects on higher planes to not load (walls in canifis buildings, walls on boats, etc.)
[07/09/2016] Increased load time drastically, and decreased memory usage by ~400mb ~800mb
[07/09/2016] Fixed a memory leak with ground items 
[07/09/2016] Fixed a memory leak with projectiles
[07/09/2016] Players can no longer send empty chat message
[07/07/2016] Added ground item support
[07/07/2016] Ground items now display on the minimap
[07/07/2016] Fixed minimap dots of remote entities being slightly offset incorrectly
[07/07/2016] Noted items now display the item on top of the note..
[07/07/2016] Noted items now have their amounts displayed in widgets
[07/07/2016] Fixed a signing issue with my buffer implementation (C# uses unsigned bytes by default, and signed everything else for some fucking reason)
[07/07/2016] Fixed order of operation issue when decoding models causing half of my models to break randomly
[07/07/2016] Fixed vertex data not being pushed to GPU @ animated objects 
[07/06/2016] Packed straight 667 data
[07/05/2016] Fixed a huge bug with appearance updating for players
[07/05/2016] Asterisk now renders beside input in chat
[07/05/2016] Fixed first message offset for chat rendering
[07/05/2016] Fixed a bug with widget item texture caching
[07/05/2016] Added support for actor facing
[07/05/2016] Added support for actor overlays (hp, hits, etc.)
[07/05/2016] Actor interactions now display a red cross when firing
[07/05/2016] Items now have examine option
[07/05/2016] Implemented animated scene objects
[07/05/2016] Implemented security measures against CE. Commonly tampered with memory values can no longer be tampered with (such as the open widget.)
[07/05/2016] Switched to OSRS chat box & buttons
[07/05/2016] Implemented chat button rendering & functionality
[07/05/2016] The right click menu is now forced into the game bounds
[07/05/2016] Implemented map dots for actors
[07/05/2016] Fixed model attachment rebasing when combining multiple models with attachments
[07/05/2016] Applied cheap fix that should fix a majority of z buffer fighting issues..
[07/05/2016] Fixed resource leak with object loading
[07/04/2016] Fixed clipping, and therefore local path finding
[07/04/2016] Fixed minimap colors (need to implement texture average still)
[07/04/2016] Implemented tile color bleeding
[07/04/2016] Widgets are now instanced on demand
[07/04/2016] Corrected tab icon alignment
[07/04/2016] Converted widget format to something easier to work with
[07/04/2016] Fixed a rotation issue with straight wall decoration objects
[07/04/2016] You can no longer right click objects that have "no" options
[07/04/2016] Packed mapfunction, and mapscene sprites for minimap stuff
[07/04/2016] Implemented mapscene sprites for objects that use them (should really bake these into the landscape image.. done)
[07/04/2016] Extended object bit masks to a long to prevent id overflowing the mask
[07/04/2016] Fixed a typo causing npc rendering to break
[07/04/2016] Implemented proper interaction for npcs
[07/04/2016] Fixed clip bounds on chat box
[07/04/2016] Implemented support for col tags in strings
[07/04/2016] Implemented support for img tags in strings, with support for loading variable images from the cache, with specified offsets, and optional predefined positions (top/bottom/center)
[07/03/2016] Implemented (mostly?) full support for the widget scripting system
[07/03/2016] Improved scene loading speeds significantly
[07/03/2016] Added support for the command packet
[07/03/2016] Fixed a bug allowing the local player to interact with themselves
[07/03/2016] Implemented change small setting packet handler
[07/03/2016] Implemented change big setting packet handler
[07/03/2016] Implemented init login packet handler
[07/03/2016] Implemented update social status packet handler
[07/03/2016] Added support for other entities facing the local entity
[07/02/2016] Added minimap and compass..
[07/02/2016] Removed the color blending on tiles, that causes colors to bleed into surrounding tiles.. might need to add that back.
[07/02/2016] Figured out how diagonal wall decorations worked, and implemented their rotations/offsets correctly.
[07/02/2016] Fixed a transparency issue on models with non-transparent textures.
[07/02/2016] Implemented vertex based lighting for when you need those spooky dark dungeons.
[07/02/2016] Fixed model opacity levels

PROGRESS

  • Rendering
  • UV mapping (models & overlay/underlay tiles)
  • Vertex based particles
  • Vertex based lighting
  • Tile texture blending (see todo list)
  • Model animation
  • Minimap
  • Backwards compatibility for software rendering

 

  • Data
  • 667 items
  • 667 textures
  • 667 underlay
  • 667 overlay
  • 667 models
  • 525 maps
  • 525 objects
  • 667 animations
  • 667 actors

 

  • Widgets
  • Item displaying
  • Text displaying
  • Sprite displaying
  • Model displaying
  • Clipping
  • Interaction

 

  • Networking
  • Player updating
  • Entity updating
  • Random misc packets

 

  • Chat
  • Graphics
  • Projectiles
  • Animated objects
  • Ground items
  • Resizable
  • Animation interpolation

TO DO LIST

  • Proper loading of the hd+ revision texture format
  • A 550 client has 39 texture implementations, each with their own format potentially, so this might be awhile.. I believe this is the key to 'proper' blending of tile textures though
  • Add support for the files in index 26 in 508+ clients, which contains various information about how a texture is rendered, including shader information, minimap color, etc
  • Convert networking to use fancy OOP packet objects for writing
  • Multi thread networking, along with keep alive sending so we don't d/c if loading takes too long
  • Need some kind of component based UI system, and possibly a bridge between the 317 widget system, and mineMISC INFO
    This connects to any server with an unmodified 317 protocol, and RSA enabled. The cache format has been changed to a custom one, because the existing one is a pain in the ass imo, and I don't plan to have an update server.

  • CREDITS
    Dane (On Rune-Server) for his subpar 317 refactor (fuck your naming) that I'm using as a partial reference
    Leanbow (On Rune-Server) for saving me some time with his partial 550 refactor that I'm using as a reference for back porting higher rev content

 

  • This is a project that my friend and I are working on. You may have seen this thread on Rune-Server, but I decided to show this off to a few more sites in his behalf.
Edited by Astute

Share this post


Link to post
Share on other sites

When I post a picture, it's meant to show what I've done (e.g. levels on interfaces via client scripts.)
d7cde861a148a0edfa75859fc7649d2b.png
a36b79ddf5623584622744a8ada9ca51.png
26dda4a4645e2ea80ac235b0afd72097.png

  • Fixed clipping, and therefore local path finding
  • Fixed minimap colors (need to implement texture average still)
  • Implemented tile color bleeding
  • Widgets are now instanced on demand
  • Corrected tab icon alignment
  • Converted widget format to something easier to work with
  • Fixed a rotation issue with straight wall decoration objects
  • You can no longer right click objects that have "no" options
  • Packed mapfunction, and mapscene sprites for minimap stuff
  • Implemented mapscene sprites for objects that use them (should really bake these into the landscape image.. done)
  • Extended object bit masks to a long to prevent id overflowing the mask
  • Fixed a typo causing npc rendering to break
  • Implemented proper interaction for npcs
  • Fixed clip bounds on chat box
  • Implemented support for col tags in strings
  • Implemented support for img tags in strings, with support for loading variable images from the cache, with specified offsets, and optional predefined positions (top/bottom/center)

Share this post


Link to post
Share on other sites

1fd968b90ee6cc8fcca0547a91389e68.png

  • Fixed a huge bug with appearance updating for players
  • Asterik now renders beside input in chat
  • Fixed first message offset for chat rendering
  • Fixed a bug with widget item texture caching

Share this post


Link to post
Share on other sites

I'm not an expert in RS nor RSPS, but this sounds good and as a serious project! Keep it up!

Share this post


Link to post
Share on other sites

This looks cool!  You say it's from "scratch" made in Unity?  That will take a while, but it seems like you're already getting closer to completion :D

Share this post


Link to post
Share on other sites

Holy crap, not bad mate keep it up :)

Share this post


Link to post
Share on other sites

This looks cool!  You say it's from "scratch" made in Unity?  That will take a while, but it seems like you're already getting closer to completion :D

Yes, completely from scratch for the most part. Anything that was used was given credits for. It is going to take awhile, we want to first make it functional, add content, and then release the sever. We'll continue to work of graphics and content as we go along.

Holy crap, not bad mate keep it up :)

Thank you dude! 

 

b4fe345d4f3191ba7a9191e5eb573489.png

  • Implemented map dots for actors
  • Fixed model attachment rebasing when combining multiple models with attachments
  • Applied cheap fix that should fix a majority of z buffer fighting issues..
  • Fixed resource leak with object loading

Share this post


Link to post
Share on other sites

Updates

71e584a18c46c50cc002e702a2ea4a99.png
9835b3e5f0ba183c0e370f19c1fcac56.png

  • Added ground item support
  • Ground items now display on the minimap
  • Fixed minimap dots of remote entities being slightly offset incorrectly
  • Noted items now display the item on top of the note..
  • Noted items now have their amounts displayed in widgets
  • Fixed a signing issue with my buffer implementation (C# uses unsigned bytes by default, and signed everything else for some reason)
  • Fixed order of operation issue when decoding models causing half of my models to break randomly
  • Fixed vertex data not being pushed to GPU @ animated objects [1]
  • Fixed input for non-alphabetical/numerical characters from being processed
  • Added support for the set region target packet
  • Added support for all ground item packets

[1] Note the waterfall rotation, compare to picture up above.
62e52f23270c3bf417cd294626915e1a.png

Share this post


Link to post
Share on other sites

Although I am very dispassionate about the newer model whips, I think this is a server worth keeping an eye on.

Share this post


Link to post
Share on other sites

https://www.youtube.com/watch?v=LyHqniQPlzs
ecb7ea1ab6596fc8277d029551b8e45c.png
fbb422d350cff6e100ddd30dd5ef6116.png

  • Increased performance on loading screen
  • Wrote client loader & php backend for client stuff
  • Entity stack hiding now works for actors
  • Fixed a bug related to software rendering and lighting
  • All entities in a stack will now have their menu options added
  • Implemented animation interpolation
  • Hitpoint bars are now positioned based on model bounds
  • Hit marks are now positioned based on model bounds
  • Added support for the open chat underlay packet
  • Added support for the open chat overlay packet
  • Added support for underlay chat widgets
  • Added support for overlay chat widgets
  • Added support for tab overlay widgets
  • Fixed a bug causing the "Close" menu option to not show sometimes
  • Tab icons no longer draw if a tab overlay widget is active
  • Can now interact with widgets regardless of their area
  • Widget text is no longer always shadowed

Share this post


Link to post
Share on other sites

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

×