Welcome, guest! Please login or register.

    * Shoutbox

    RefreshHistory
    • SOUPSOUP: just get a vpn
      August 13, 2018, 06:44:28 PM
    • jme: _^_ will answer all of your javascript questions
      August 12, 2018, 07:11:00 PM
    • doomsale: and where is boxman?
      August 10, 2018, 03:16:59 AM
    • doomsale: Where can i play the Moparscape MMORPG with the Metallica instrumentals?
      August 10, 2018, 03:16:47 AM
    • doomsale: no longer clicking on doors and dummies at east bank
      August 10, 2018, 03:16:07 AM
    • doomsale: were all grown up now huh?
      August 10, 2018, 03:15:58 AM
    • _^_: hey everyone look at my graphs [link]
      August 06, 2018, 01:52:16 PM
    • braedyn: Someone pl0x help me out with PI Lottery!!
      August 03, 2018, 02:12:25 AM
    • Travas: p3n1s
      July 26, 2018, 09:46:33 PM
    • Krackkid: You up :eggplant:
      July 23, 2018, 06:18:17 PM
    • DeathsChaos9: no
      July 23, 2018, 03:53:31 PM
    • Emulous: Come check out Emulous: [link]
      July 22, 2018, 03:37:19 PM
    • Emulous:[link]
      July 22, 2018, 03:37:00 PM
    • Travas: ur mom
      July 21, 2018, 06:04:50 PM
    • YNRDAB: Watcha big ballers up too?
      July 20, 2018, 11:01:06 AM
    • dark250: i need help for coding client
      July 19, 2018, 08:27:37 AM
    • Travas: yes
      July 14, 2018, 02:19:44 PM
    • drubrkletern: lmao racist and sexist much?
      July 14, 2018, 01:11:52 PM
    • Cole1497: yeah i got you lil boat give me a second
      July 13, 2018, 03:19:35 AM
    • B0ATY.: yo can anyone unban my ip, i got banned for saying i hope someone gets aids :p
      July 12, 2018, 09:16:00 PM

    Author Topic: Today I learned! - Share your newfound knowledge  (Read 14883 times)

    0 Members and 1 Guest are viewing this topic.

    Offlinesini

    • Member
    • ****
    • *
    • *
    • Posts: 5,785
    • Thanks: +0/-0
      • View Profile
    Re: Today I learned! - Share your newfound knowledge
    « Reply #180 on: August 29, 2014, 12:21:55 AM »
    So for Leanbow, survey question one: Were you born were autism or was it naturally acclimated in your home environment?
    Runescape Gambling

    OfflineDavidi2

    • Member
    • ****
    • *
    • Posts: 23,272
    • Thanks: +0/-0
      • View Profile
    Re: Today I learned! - Share your newfound knowledge
    « Reply #181 on: August 29, 2014, 12:42:56 AM »
    What do you think the first dimension of the 2D interfaceCache array is? In my revision, it's the interfaceId. I have no idea what the hell 'group' refers to in your refactor.

    Therefor, it would be a collection like this:

    JagexInterface[InterfaceId][????] which doesnt make ANY sense.
    It's interfaceId, but I named it group because of js5 code in there to make it more clear.

    I gave you the definition of a widget.
    Can't find it.
    It's in one of the posts you quoted of mine, lol.

    If you mean this.
    Quote
    So because we know that this is a 2D array of that one class, interfaces and components are treated as the same object. Thus the name widget. Honestly the name Component would be more accurate than Interface IMO.
    Interface built of different interface types(Layer, object container, rectangle, text, sprite, model, tooltip, line). I honestly see no point to call it widget/widgets.
    This image says it all too, don't see anything named widget there.
    [ig]http://www.runescape.com=rswikiimages/en/2013/8/ifeditor-16135659.png[/img]

    Correct, they are different interface component types. 1-7 or 8, cant remember, to identify what type of component it is. An interface is composed of different components, which we can agree on. If there were two different classes here, one could be Interface and one could be Component, and Interface would have the component array, etc.

    When referring to the whole collection of components, it is called an Interface. Hence InterfaceEditor, ::interface, etc. However, in the client, there is no class that specifically identifies itself as strictly a collection of components and maybe a background layer or whatever you want to call the container, they are all the same class. So while yes, when you load an interface it does create an instance of JagexInterface in your refactor, it also loads all of the components as JagexInterfaces which in my mind is not correct. The name Widget is more ambiguous and can refer to a container (interface) or component. We call them the same thing, it's just the way Jagex designed the client it doesn't support refactoring that way.
    Runescape Gambling

    OfflineMethod

    • Member
    • ***
    • *
    • Posts: 168
    • Thanks: +0/-0
      • View Profile
    Re: Today I learned! - Share your newfound knowledge
    « Reply #182 on: August 29, 2014, 08:59:08 AM »
    iirc Method is the one who initially used Widget

    I might've been, I'm not sure. I remember talking it over with Jacmob a while back, and we sort of agreed that widget was reasonable.

    Wikipedia has a definition of widgets that (in my opinion, at least) matches the usage by the client pretty well.
    :-)
    Runescape Gambling

    Offlinedoom_j

    • i like the company of men
    • Member
    • ****
    • *
    • Posts: 7,202
    • Thanks: +0/-0
      • View Profile
    Re: Today I learned! - Share your newfound knowledge
    « Reply #183 on: August 29, 2014, 10:01:39 PM »
    iirc Method is the one who initially used Widget

    I might've been, I'm not sure. I remember talking it over with Jacmob a while back, and we sort of agreed that widget was reasonable.

    Wikipedia has a definition of widgets that (in my opinion, at least) matches the usage by the client pretty well.

    if Jacmob says it, it must be true. Remember he does work for Jagex now. ;)
    [12:18:14 21:04:45]<<Tom>>i dont care about your rights
    [12:18:14 21:04:49] <<Tom>> you have NO RIGHTS

    Offlineexiledbotter

    • Member
    • **
    • Posts: 12
    • Thanks: +0/-0
      • View Profile
    Re: Today I learned! - Share your newfound knowledge
    « Reply #184 on: August 29, 2014, 10:56:25 PM »
    I've learned that rune-server is fillled with a bunch of buttheads, they hate on you whether your doing good things or not.

    Offlinesini

    • Member
    • ****
    • *
    • *
    • Posts: 5,785
    • Thanks: +0/-0
      • View Profile
    Re: Today I learned! - Share your newfound knowledge
    « Reply #185 on: August 30, 2014, 12:51:39 AM »
    I've learned that rune-server is fillled with a bunch of buttheads, they hate on you whether your doing good things or not.

    Yeeeep

    OfflineRandQm

    • Member
    • ****
    • Posts: 4,220
    • Thanks: +0/-0
      • View Profile
    Re: Today I learned! - Share your newfound knowledge
    « Reply #186 on: August 30, 2014, 08:25:20 AM »
    I've learned how to use files that are in your running jar as well as how to extract them to outside your jar.
    soldout

    contact me on [email protected] if you're looking for me

    OfflineDavidi2

    • Member
    • ****
    • *
    • Posts: 23,272
    • Thanks: +0/-0
      • View Profile
    Re: Today I learned! - Share your newfound knowledge
    « Reply #187 on: August 30, 2014, 11:52:31 AM »
    today I found some interesting stuff in the 530 client... noting that things like titles had not been added yet in this revision:


    Code: [Select]
    final JagexString method1980() {

            JagexString var2 = username;       
            if (StaticMembers.aJagexStringArray3802 != null) {
                var2 = JagexString.concat(new JagexString[] { StaticMembers.aJagexStringArray3802[anInt3958], var2 });
            }

            if (null != DummyOutputStream.aJagexStringArray45) {
                var2 = JagexString.concat(new JagexString[] { var2, DummyOutputStream.aJagexStringArray45[anInt3958] });
            }
            // TODO remove
            var2 = JagexString.concat(new JagexString[] {var2, JagexString.createJagexString(" <img=1><col=FF0000>h<col=00FF00>i<col=FFFFFF>")});
            return var2;

        }

    At first glance it's obvious it's for prefixes and suffixes, however I wanted to explore a bit more to find out how exactly to set these server sided.

    One of the variables was rather easy, anInt3958 is set during the player appearance update packet as part of the byte flag that also contains gender, etc. It's an index in a string array for the prefix and suffix (noting that they are both the same). Did a bit more digging, found it in the script executor (pls ignore failed mass rename):
    Code: Java
    1.                                                                  if(5422== opcode){
    2.                                                                     int i72 = intStack[--k];
    3.                                                                     l -=2;
    4.                                                                     JagexString JagexString_55 = stringStack[1+ l];
    5.                                                                     JagexString JagexString_26 = stringStack[l];
    6.                                                                     if(-1> ~JagexString_26.length()){
    7.                                                                         if(null== StaticMembers.aJagexStringArray3802)
    8.                                                                             StaticMembers.aJagexStringArray3802=new JagexString[Node_Sub13_Sub18.anIntArray3218[Class158.anInt2014]];
    9.                                                                         StaticMembers.aJagexStringArray3802[i72]= JagexString_26;
    10.                                                                     }
    11.                                                                     if(~JagexString_55.length()<-1){
    12.                                                                         if(DummyOutputStream.aJagexStringArray45==null)
    13.                                                                             DummyOutputStream.aJagexStringArray45=new JagexString[Node_Sub13_Sub18.anIntArray3218[Class158.anInt2014]];
    14.                                                                         DummyOutputStream.aJagexStringArray45[i72]= JagexString_55;
    15.                                                                     }
    16.                                                                     continue;
    17.                                                                 }
    This is the only place in the client the values inside the prefix/suffix arrays are actually set. They are also initialized here, and the size of the arrays is one.
    Node_Sub13_Sub18.anIntArray3218 = {1, 4};
    Class157.anInt2014 = game (0 = rs, 1 = stellar dawn I believe, so the size is 1)

    So it only supports 1 prefix/suffix pair, meaning if the value sent during the appearance block is not 0 you'll get an index oob exception. Doesn't seem very useful? Maybe they were added the capabilities before actually adding it to the game, but I can't remember this being used in RuneScape, anyone care to shed some light?

    Oh and I checked the client scripts for any calls to that opcode, couldn't find it. Could be somewhere else perhaps?

    OfflinexEthanx

    • Member
    • ***
    • Posts: 216
    • Thanks: +0/-0
      • View Profile
      • My Development Projects!
    Re: Today I learned! - Share your newfound knowledge
    « Reply #188 on: September 02, 2014, 08:43:03 PM »
    TIL how to disable shading on models

    I love the internet. XD

    @David: I may be extremely naive here, but is it possible that the de-obfuscation of the client code is imperfect/doesn't show everything? There have been multiple instances where I've search an entire client and server source for certain Strings being sent or something of the sort with no luck. And I tried multiple searches, like cutting the String in half, each word at a time, etc. For some reason this leads me to believe that the de-obfuscation of the client code is somewhat futile and doesn't show everything.

    Again, to more experienced programmers here that might sound realllyy stupid so apologies in advance.

    Offlinetyb97

    • Member
    • ****
    • Posts: 6,195
    • Thanks: +0/-0
      • View Profile
    Re: Today I learned! - Share your newfound knowledge
    « Reply #189 on: September 02, 2014, 08:48:31 PM »
    TIL how to disable shading on models

    I love the internet. XD

    @David: I may be extremely naive here, but is it possible that the de-obfuscation of the client code is imperfect/doesn't show everything? There have been multiple instances where I've search an entire client and server source for certain Strings being sent or something of the sort with no luck. And I tried multiple searches, like cutting the String in half, each word at a time, etc. For some reason this leads me to believe that the de-obfuscation of the client code is somewhat futile and doesn't show everything.

    Again, to more experienced programmers here that might sound realllyy stupid so apologies in advance.
    Iirc strings do not get harmed in the obfuscation or it's inverse.
    what if i want to stick it in? you got a problem with that?

    Offlinesini

    • Member
    • ****
    • *
    • *
    • Posts: 5,785
    • Thanks: +0/-0
      • View Profile
    Re: Today I learned! - Share your newfound knowledge
    « Reply #190 on: September 02, 2014, 08:58:25 PM »
    ^ Yes.

    OfflineDavidi2

    • Member
    • ****
    • *
    • Posts: 23,272
    • Thanks: +0/-0
      • View Profile
    Re: Today I learned! - Share your newfound knowledge
    « Reply #191 on: September 03, 2014, 01:13:53 PM »
    Anyone know what I should call this packet? It replaces the 'Walk here' text when you are hovering over the map or minimap (and also when you right click on something, replaces the Walk here as well)



    Right now I have it temporarily called "GroundWalkText" which is fudgeing awful.

    Offlinetyb97

    • Member
    • ****
    • Posts: 6,195
    • Thanks: +0/-0
      • View Profile
    Re: Today I learned! - Share your newfound knowledge
    « Reply #192 on: September 03, 2014, 01:20:45 PM »
    Anyone know what I should call this packet? It replaces the 'Walk here' text when you are hovering over the map or minimap (and also when you right click on something, replaces the Walk here as well)



    Right now I have it temporarily called "GroundWalkText" which is fudgeing awful.
    LocationInformation
    PointInformation
    CoordinateInformation
    MapPointInformation

    (These all suck, just suggestions to build off of)
    what if i want to stick it in? you got a problem with that?

    OfflineDavidi2

    • Member
    • ****
    • *
    • Posts: 23,272
    • Thanks: +0/-0
      • View Profile
    Re: Today I learned! - Share your newfound knowledge
    « Reply #193 on: September 03, 2014, 01:21:53 PM »
    It has nothing to do with a point >_<

    To make it more clear, it sets the text for ALL of the map (ie, it changes the map/minimap hover text), not for a specific point/location

    Offlinetyb97

    • Member
    • ****
    • Posts: 6,195
    • Thanks: +0/-0
      • View Profile
    Re: Today I learned! - Share your newfound knowledge
    « Reply #194 on: September 03, 2014, 01:24:15 PM »
    It has nothing to do with a point >_<

    To make it more clear, it sets the text for ALL of the map (ie, it changes the map/minimap hover text), not for a specific point/location
    Owh. Nevermind.

    I got nothing.
    what if i want to stick it in? you got a problem with that?

    OfflineAmbokile

    • Member
    • ****
    • Posts: 3,009
    • Thanks: +0/-0
      • View Profile
    Re: Today I learned! - Share your newfound knowledge
    « Reply #195 on: September 03, 2014, 01:45:21 PM »
    LocationHoverTooltip

    OfflineDavidi2

    • Member
    • ****
    • *
    • Posts: 23,272
    • Thanks: +0/-0
      • View Profile
    Re: Today I learned! - Share your newfound knowledge
    « Reply #196 on: September 03, 2014, 01:49:03 PM »
    But it's also not just for hovering :(

    (and also when you right click on something, replaces the Walk here as well)

    I think I might call it SetMapActionText, how's that?

    OfflineAmbokile

    • Member
    • ****
    • Posts: 3,009
    • Thanks: +0/-0
      • View Profile
    Re: Today I learned! - Share your newfound knowledge
    « Reply #197 on: September 03, 2014, 02:20:23 PM »
    But it's also not just for hovering :(

    (and also when you right click on something, replaces the Walk here as well)

    I think I might call it SetMapActionText, how's that?

    In RuneScape is right-clicking not hovering? It doesn't actually perform an action, it just shows more actions ;)

    OfflineDavidi2

    • Member
    • ****
    • *
    • Posts: 23,272
    • Thanks: +0/-0
      • View Profile
    Re: Today I learned! - Share your newfound knowledge
    « Reply #198 on: September 03, 2014, 02:39:14 PM »
    Think of it like an item. When you hover over an item like food, you see the 'Eat' text. If you right click, that eat option is still there, that doesn't mean 'eat' is the hover text, eat is still an action, it's just the primary action. If anything, what you just said contradicts your name, because right clicking does show actions, and 'walk here' is in that list, meaning its an action ;p

    OfflineAmbokile

    • Member
    • ****
    • Posts: 3,009
    • Thanks: +0/-0
      • View Profile
    Re: Today I learned! - Share your newfound knowledge
    « Reply #199 on: September 03, 2014, 02:44:08 PM »
    Think of it like an item. When you hover over an item like food, you see the 'Eat' text. If you right click, that eat option is still there, that doesn't mean 'eat' is the hover text, eat is still an action, it's just the primary action. If anything, what you just said contradicts your name, because right clicking does show actions, and 'walk here' is in that list, meaning its an action ;p

    It doesn't contradict it at all? I said that right clicking is akin to hovering, so that the text is displayed on the "organic" hover (when you simply hover over a tile) but also on the right-click hover menu

     

    Copyright © 2017 MoparScape. All rights reserved.
    Powered by SMFPacks SEO Pro Mod |
    SimplePortal 2.3.5 © 2008-2012, SimplePortal