SRL Archive - Reflection Development

NEW: Open Source Reflection Updater


Iamadam

2011-02-02 23:29:43

Update: A bunch more classes & fields have been found. Haven't updated source for a while because no one seems interested.
Running on a much better framework.

TODO: (red = todo, blue = new, green = done)
Animable: x, y, plane.
Player: level, name, team, playerdef.
Character: hitDamages, animation, motion, walkX/Y, height, loopCycle, hpRatio, interacting, orientation
AnimableNode: animable, next
AnimableEntity: X1, X2, Y1, Y2
PlayerDef: equipment, name
NPC: NPC_Def
NPCDef: actions, name, level, id
NPCNode: NPC
GroundTile
Plane

Interactable
Toolkit
Viewport
SDViewport: xx, xy, xz, yx, yy, yz, zx, zy, zz, xOff, yOff, zOff

SDToolkit: viewport, xMin, xMax, yMin, yMax, zMin, zMax, xScale, yScale
SDPlane: tileHeights
SDModel: Indices1, Indices2, Indices3, pointsX, pointsY, pointsZ
NodeListCache: nodeList
NodeList: current, head

Node: next, previous, id
MenuGroupNode: NodeSubListItems
NodeSubList: getHead
NodeSub: next
Menu: option, action

ObjectInterface: x, y, width, height, text, id, stack, textColor, textureID, name, modelID, zoom, children, parentID, isHidden, actions, vScrollBar, vScrollMax, vScrollMin, hScroll, hScrollMax, hScrollMin, modelRotationX, modelRotationY, modelRotationZ, itemIndex
NodeCache: nodes
Item: id, stack
ItemDefLoader: mruNodes
ItemDef: loader, groundActions, actions
MRUNodes: nodeCache
settingArray: data
ObjectDefLoader: MRUNodes
Ground: animableList, wallObj1, wallObj2, wallDecoration1, wallDecoration2, floorDecoration
WallObjectData: id, model, orientation
FloorDecorationData: id, model, orientation
InteractiveObject: id, model, orientation
InteractiveObject2 objectData
SecondLevelObject : id, model, orientation
WallObjectSub2: composite
WallDecorationSub2: composite
FloorDecorationSub2 composite


Hey

As a few of you may know, I started work on an updater for reflection (should pyroryan ever disappear/stop maintaining his).
It is intended to be a COMMUNITY based project - just like everything else on SRL.

I will give commit access to people who have proven their ability in java. You can do this in one of two ways:
1. Be a member that I know from the old days (e.g. benland)
2. Write a search that works on all versions of RS from 629 –> current.
(You can get old versions of the client from http://www.moparisthebest.com/rs/bin/).


Everyone else has read-only access.

https://code.google.com/p/simba-reflection-updater/

If you need to ask how to use it, you are in over your head and probably shouldn't be trying.


For interests sake, here is a read out of the updater log from the latest revision:
#-----------------Log version 03 02-----------------
#---------------Classes (18)--------------#
Interactible : cca
Character : kba
Animable : mb
Animable_sub : rq
NPC : dv
Player : lea
Stream : tn
NPCNode : tw
Node : ns
AnimableNode : of
PlayerDef : vea
ObjectInterface : gaa
SDViewport : cl
Viewport : wc
NPCDef : at
SDToolkit : cg
Toolkit : ha
SDModel : hfa
#--------------Methods(0)---------------#
#---------------Fields(55)---------------#
Camera Pos Z: wq.h
Camera Pos Y: kfa.g
Camera Pos X: qn.x
Camera Curve X: gt.q
Camera Curve Y: ke.t
Stream_buffer: L
Stream_bufferOffset: ob
myPlayer: mc.b
npc: k
nodeID: i
nodePrev: e
nodeNext: g
npcNodeArray: rea.m
AnimableNode_getAnimable: a
AnimableNode_getNext: f
Player_PlayerDef: nd
Player_name: Md
PlayerDef_equipment: t
Player_combatLevel: Yd
NPC_combatLevel: cb
MenuOptionCount: pu.w
InterfaceArray: bja.a
InterfaceArray: dc.l
ObjectInterface_children: ac
ObjectInterface_actions: ed
menuX: lr.D
menuY: pia.f
menuWidth: up.s
menuHeight: tq.d
Canvas: vp.A
SDViewport_xX: B
SDViewport_xY: A
SDViewport_xZ: l
SDViewport_yX: H
SDViewport_yy: u
SDViewport_yZ: J
SDViewport_zX: Q
SDViewport_zY: L
SDViewport_zZ: K
SDViewport_yOff: R
SDViewport_xOff: x
SDViewport_zOff: G
NPCDefInstance: qd
npc_name: i
npc_actions: n
loginIndex: uo.l
baseX: qb.p
baseY: eia.l
Animable_plane: k
Animable_pixelX: v
Animable_pixelY: p
StaticToolkit: bp.j
loadedPlane: to.ob
character_walkQueueX: bd
character_walkQueueY: Sc

A few of the searches are ugly but I don't care :)

That's all.


Edit:
This WILL die if no one gets involved, so if you are capable please give it a go.

pyroryan

2011-02-02 23:33:22

Congratulations on the release!

kitchenrange

2011-02-02 23:42:16

Wow this is the first Open Source reflection updater I have ever heard of.

Thanks for your work.

pyroryan

2011-02-02 23:44:26

From: kitchenrange
Wow this is the first Open Source reflection updater I have ever heard of.

Thanks for your work.


I believe there are at least 5 in existence. Just an FYI.

Method

2011-02-02 23:57:38

Stream -> Buffer please :(

Also, some decent names for the "Viewport" class's fields would be nice.

Iamadam

2011-02-03 00:09:50

From: Method
Stream -> Buffer please :(

Also, some decent names for the "Viewport" class's fields would be nice.


The output hasn't been standardized so that it works with the reflection include yet, but when it is, it will be done in the same manner as the hooks file in reflection. That is why viewport fields are ugly - it matches hooks.simba.

pyroryan

2011-02-03 00:27:38

From: Iamadam
The output hasn't been standardized so that it works with the reflection include yet, but when it is, it will be done in the same manner as the hooks file in reflection. That is why viewport fields are ugly - it matches hooks.simba.


Please don't match it to the hooks.simba. I've been dying to rename a few hooks. Use your judgment and fix the names :)

Nava2

2011-02-03 01:08:24

Perhaps some better documentation in the code would help us follow whats going on ;)

Iamadam

2011-02-03 02:00:31

It's pretty self-explanatory, but I'll have a look through and document it a little better.

Nava2

2011-02-03 02:22:55

:P I would love to help but I'm finding it confusing. I think I need to learn more about the client before I touch this.

Iamadam

2011-02-03 02:29:30

Learning about the client is useful, yeah - but really, its just learning how to use BCEL well (and understanding bytecode & java) that will make a difference.

lordsaturn

2011-02-03 05:35:41

Cool :) What community are you most active in, Iamadam?

Wizzup?

2011-02-03 06:42:09

Nice! :)

Camaro'

2011-02-03 07:37:48

Congratulations on the release, rep +!

Iamadam

2011-02-03 18:51:58

From: lordsaturn
Cool :) What community are you most active in, Iamadam?


Been away for about 3 years, but used to be active at moparisthebest (and rs-resources, where by some miracle we developed the first injection based bot). Now I'm pretty much just here, and log in to check CM section at MITB every now and then.

Iamadam

2011-03-03 08:01:09

I'm going to bump this in the hopes that someone is keen to work on it.
I won't do it alone, but if one or two join in I will help out.

Anybody?

Echo_

2011-03-03 09:11:52

I could try to help, I know how to use BCEL and have some basic knowledge of the client. Here's an example. Learned it all at MITB :) Plus I could just pm Speljohan about a few things, I talk to him on RS sometimes.

Iamadam

2011-03-03 18:42:02

Great, I'll PM you with access details.
Also, get eclipse and the SVN plugin for it :)

Echo_

2011-03-03 20:29:19

Alright, cool. I will start looking through the source and see what I can contribute ;)

Iamadam

2011-03-03 20:31:13

Changed the way a bunch of things work.
Slower, but more elegant I hope.

Going to write a todo list.

Camaro'

2011-03-03 22:09:39

Edit:

Working on a few fields right now :)

Iamadam

2011-03-03 23:05:59

Great, if you want commit access pm me with your google email address.

New: Interface x,y, width, height

Harry

2011-03-03 23:07:25

From: Iamadam
Great, if you want commit access pm me with your google email address.

Or you could host it on Github, people fork it, then send you pull requests. Much easier I think :D

Iamadam

2011-03-03 23:18:10

Considered it, but the effort of porting to Git = :( I have eclipse set up nicely for SVN lol

Echo_

2011-03-04 08:20:06

Yeah Subclipse is pretty sick, especially for Java projects like this. Writing the search functions for AnimableEntity at the moment.

Iamadam

2011-03-16 03:20:19

Echo_, any progress?

To all: Working with a much better updater base now. Can now ID ~600 classes (have only named the ones used for smart and a few others).
I expect this to be finished relatively soon.

Wizzup?

2011-03-16 04:50:05

Very nice… :)

Echo_

2011-03-16 10:14:46

From: Iamadam
Echo_, any progress?

To all: Working with a much better updater base now. Can now ID ~600 classes (have only named the ones used for smart and a few others).
I expect this to be finished relatively soon.


Haven't had much time to work on it, I have read through the source though and have a main idea of its structure. Hopefully I can contribute something soon.