zeruth / Meteor

Refactored Java client code, including a functional TeaVM webclient (transpiled Java to JavaScript).

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Meteor-225

A Kotlin/Compose client built around Lost-City/Client

image

Enhancements are nice, but I intend to respect the experience, and the developers of Lost-City.

Forbidden features (unless otherwise permitted by Lost-City):  
    artificial input of any kind  
    pvp context-aware content (ie. effect timers, hiding friends, etc)
    camera zoom / middle mouse rotate  
    menu entry swapping (including changing menu entry text)
    overlays alerting when to move / pray etc

    Per Pazaz:
    "in general: don’t give yourself an advantage that forces a new meta on the community.
        The original experience should be a viable option for people to play with"
Improved RuneLite Injector  
    Inject to deob instead of vanilla, great for debugging
Kotlin/Compose framework:
    client module is entirely Kotlin, and entirely Compose - No Java / Swing in the frontend
    Many systems improved / modernized to benefit from this
Compose only UI/Overlays:
    Overlays are native resolution regardless of rs stretching
    Overlays are rendered on compose UI thread, client thread won't starve because of drawing

Depends on the following sub-projects:
Annotations runelite deobfuscation/mixin annotations
Eventbus kotlin coroutines based eventbus
Injector packs api/api-rs/mixins into rs2
Logger pretty logger

  • /api restricted-level interfaces to client members
  • /api-rs unrestricted-level interfaces to client members
  • /client pure kotlin / compose 3pc
  • /mixins code to be packed/modified in rs2
  • /rs2 aka deob aka 2004Scape Client aka Client1 aka vanilla

The injector has a handful of improvements over RuneLite/OpenOSRSs releases.

-targets rs2 instead of mapping against vanilla jar  
  (changes made in rs2 are injected on build)
  (rs2 is debuggable with breakpoints etc after injection)  
-can handle targets with packages  
-various bytecode fixes  
-virtually annotate members 
  (no need to annotate anything in rs2)  

2004Scape Client

Status: Completely renamed! There's no obfuscation or unnamed classes/methods/fields/variables left.

The TeaVM webclient is in the webclient branch until it can be made compatible with this new branch: see https://github.com/2004scape/Client/tree/webclient

Sources

Thanks to these individuals' projects for shedding light on some things - this would've taken a lot longer to complete without their efforts.

About

Refactored Java client code, including a functional TeaVM webclient (transpiled Java to JavaScript).


Languages

Language:Java 92.3%Language:Kotlin 7.7%