Method
2008-09-18 10:00:27
Can anyone test these out for me, please? I don't have time in the morning, and I'm sure you guys want to go and continue using reflection as soon as possible. If you don't understand where a hook should go because of the naming schema, Widget, LeeLokHin, or somebody else familiar with reflection (if they're on in the daytime today) should be able to help over IRC. Some of these hooks aren't included in Hooks.scar, which is fine, just add the ones that are. Also, the three chat arrays haven't been hooked yet, so don't worry about those. Anyways, here are the hooks:
Runescape Build #510
Hooking RSString
* sb implements interface updater.hook.RSString
* getHash() added to class sb gets FIELD int sb.e
* getLength() added to class sb gets FIELD int sb.v
* getBytes() added to class sb gets FIELD byte[] sb.ib
* isEditable() added to class sb gets FIELD boolean sb.mb
Hooking NPC
* getNPCIndexArray() added to class client gets STATIC int[] se.z
* getNPCArray() added to class client gets STATIC ne[] sf.db
* ne implements interface updater.hook.NPC
* getNPCDef() added to class ne gets FIELD ak ne.Qb
* getNPCCount() added to class client gets STATIC int of.N
Hooking NPCDef
* ak implements interface updater.hook.NPCDef
* getActions() added to class ak gets FIELD sb[] ak.i
* getName() added to class ak gets FIELD sb ak.bb
* getType() added to class ak gets FIELD int ak.d
Hooking Player
* getPlayerIndexArray() added to class client gets STATIC int[] jh.d
* getPlayerArray() added to class client gets STATIC nd[] we.i
* nd implements interface updater.hook.Player
* getPlayerCount() added to class client gets STATIC int kd.B
Hooking PlayerDef
* getName() added to class nd gets FIELD sb nd.Tb
* na implements interface updater.hook.Model
* getModel() added to class nd gets FIELD na nd.uc
* sc implements interface updater.hook.Animable
* lj implements interface updater.hook.Stream
* getCurrentOffset() added to class lj gets FIELD int lj.yb
* getPkHeadIcon() added to class nd gets FIELD short nd.vc
* getPrayerHeadIcon() added to class nd gets FIELD short nd.nc
* getTeam() added to class nd gets FIELD short nd.nc
* getLevel() added to class nd gets FIELD int nd.Ub
Hooking Position
* getMyPlayer() added to class client gets STATIC nd wi.T
* getLocationY() added to class ki gets FIELD int[] ki.lb
* getBaseX() added to class client gets STATIC int j.s
* getLocationX() added to class ki gets FIELD int[] ki.bb
* getBaseY() added to class client gets STATIC int fd.Y
Hooking Character
* ki implements interface updater.hook.Character
* getMessage() added to class ki gets FIELD sb ki.Kb
* getAnimation() added to class ki gets FIELD int ki.nb
* isMoving() added to class ki gets FIELD int ki.gb
* getY() added to class ki gets FIELD int ki.C
* getX() added to class ki gets FIELD int ki.cb
Hooking Entity
* getHeight() added to class ki gets FIELD int ki.N
* getPublicChatMode() added to class client gets STATIC int uf.W
* getHPRatio() added to class ki gets FIELD int ki.U
* getLoopCycleStatus() added to class ki gets FIELD int ki.jb
* getLoopCycle() added to class client gets STATIC int fj.a
Hooking InteractingEntity
* getInteracting() added to class ki gets FIELD int ki.A
* getSelfInteracting() added to class client gets STATIC int mj.I
* getTurnDirection() added to class ki gets FIELD int ki.Q
Hooking GroundIntArray
* getGroundIntArray() added to class client gets STATIC int[][][] ec.N
Hooking GroundByteArray
* getGroundByteArray() added to class client gets STATIC byte[][][] je.C
Hooking Camera
* getPlane() added to class client gets STATIC int f.E
* getCamPosX() added to class client gets STATIC int n.a
* getCamPosY() added to class client gets STATIC int ha.T
* getCamPosZ() added to class client gets STATIC int rb.h
Hooking CameraCurves
* getCameraCurveY() added to class client gets STATIC int mh.A
* getCameraCurveX() added to class client gets STATIC int ig.cb
Hooking Interface
* q implements interface updater.hook.Interface
* getCache() added to class q gets FIELD q q.I
* getValueIndexArray() added to class q gets FIELD int[][] q.sb
* getType() added to class q gets FIELD int q.yb
* getActionType() added to class q gets STATIC int q.yc
* getWidth() added to class q gets FIELD int q.T
* getHeight() added to class q gets FIELD int q.Cb
* getActions() added to class q gets FIELD sb[] q.Gc
* isInventoryInterface() added to class q gets FIELD boolean q.sc
* getText() added to class q gets FIELD sb q.c
* getTextColour() added to class q gets FIELD int q.Rc
* getBackgroundColour() added to class q gets FIELD int q.V
* getInvSpritePadX() added to class q gets FIELD int q.H
* getInvSpritePadY() added to class q gets FIELD int q.lb
* getSelectedActionName() added to class q gets FIELD sb q.h
* getSpellName() added to class q gets FIELD sb q.ec
* getToolTip() added to class q gets FIELD sb q.jd
* getInterfaceSelectedModelType() added to class q gets FIELD int q.Vc
* getInterfaceSelectedModelId() added to class q gets FIELD int q.m
* getNotInterfaceSelectedModelID() added to class q gets FIELD int q.ub
* getNotInterfaceSelectedModelType() added to class q gets FIELD int q.Fc
* getInventory() added to class q gets FIELD int[] q.R
* getInventoryStackSizes() added to class q gets FIELD int[] q.x
Hooking Signlink
* getCurrentPassword() added to class client gets STATIC sb fk.B
* getCurrentUsername() added to class client gets STATIC sb fk.J
* getEventQueue() added to class kh gets FIELD java.awt.EventQueue kh.c
* getGameApplet() added to class kh gets FIELD java.applet.Applet kh.o
Hooking Client
* client implements interface updater.hook.Client
* getMouse() added to class client gets STATIC cd p.t
* getKeyboard() added to class client gets STATIC kf si.c
Hooking Mouse
* getMouseX() added to class client gets STATIC int tf.w
* getMouseY() added to class client gets STATIC int sb.E
* getMousePressX() added to class client gets STATIC int cd.y
* getMousePressY() added to class client gets STATIC int bf.q
* getMousePressButton() added to class client gets STATIC int hb.W
* getMousePressLastButton() added to class client gets STATIC int ng.t
* getMousePressTime() added to class client gets STATIC long da.g
Hooking LoginIndex
* getLoginIndex() added to class client gets STATIC int cj.a
Hooking SettingArray
* getSettingArray() added to class client gets STATIC int[] dj.eb
Hooking Item
* nc implements interface updater.hook.Item
* getID() added to class nc gets FIELD int nc.s
* getStackSize() added to class nc gets FIELD int nc.t
Hooking WorldController
* getGroundArray() added to class client gets STATIC p[][][] eg.e
* p implements interface updater.hook.Ground
* ld implements interface updater.hook.ObjectDefinition
* getUID3() added to class ld gets FIELD long ld.f
* v implements interface updater.hook.ObjectDefinition
* getUID4() added to class v gets FIELD long v.s
* be implements interface updater.hook.ObjectDefinition
* getUID5() added to class be gets FIELD long be.g
* jk implements interface updater.hook.ObjectDefinition
* getUID1() added to class jk gets FIELD long jk.b
* id implements interface updater.hook.ObjectDefinition
* getUID2() added to class id gets FIELD long id.f
* getObject3() added to class p gets FIELD ld p.w
* getObject4() added to class p gets FIELD v p.x
* getObject5Array() added to class p gets FIELD be[] p.E
* getObject1() added to class p gets FIELD jk p.F
* getObject2() added to class p gets FIELD id p.W
Hooking SkillExperiencesMax
* getSkillExperiencesMax() added to class client gets STATIC int[] bc.c
Hooking Skills
* getSkillLevelMaxes() added to class client gets STATIC int[] bi.d
* getSkillLevels() added to class client gets STATIC int[] of.t
* getSkillExperiences() added to class client gets STATIC int[] wc.T
Hooking Minimap
* getMinimapInt3() added to class client gets STATIC int ad.f
* getCurveCos() added to class client gets STATIC int[] qg.d
* getCurveSin() added to class client gets STATIC int[] qg.g
* getMapOffsetAngle() added to class client gets STATIC int ee.mb
* getCompassAngle() added to class client gets STATIC int sg.hb
Hooking Node
* hj implements interface updater.hook.NodeSub
* pb implements interface updater.hook.Node
* getID() added to class pb gets FIELD long pb.j
* getPrevious() added to class pb gets FIELD pb pb.p
* getNext() added to class pb gets FIELD pb pb.r
Hooking NodeList
* getNodeListArray() added to class client gets STATIC vf[][][] jg.d
* vf implements interface updater.hook.NodeList
* getHead() added to class vf gets FIELD pb vf.n
* getCurrent() added to class vf gets FIELD pb vf.q
Hooking CachedItem
* gh implements interface updater.hook.CachedItem
* getItem() added to class gh gets FIELD nc gh.O
Hooking Flagged
* getSignlink() added to class client gets STATIC kh sc.o
* isFlagged() added to class client gets STATIC boolean mh.B
Hooking DrawMinimap
* kb implements interface updater.hook.Sprite
* getDestinationX() added to class client gets STATIC int oa.u
* getDestinationY() added to class client gets STATIC int ja.e
Hooking Sprite
* getPixels() added to class kb gets FIELD int[] kb.eb
* getWidth() added to class kb gets FIELD int nj.cb
* getHeight() added to class kb gets FIELD int nj.bb
-----------------------------------
Hooked 120 / 120 fields!
Defined 22 / 22 classes!
This took 2828ms!
About 23ms per hook!
-----------------------------------