Here is the work I have done so far on the fullscreen hack. The values used in a lot of the injections are for a screen resolution of 1920x1080. So for those of you who don't run at this resolution, it will take some toying around. Things won't align the way they do in the pic's below. Also take note that this hack is very system intensive so you'll need a speedy computer to get reasonable framerates (especially at 1920x1080).
The instructions are vague, I know. I put it up here more as a challenge/reward for those who have been working through the code that has been posted on these forums the past few days. For those of you who manage to get this thing going right off, please exercise some restraint on releasing the client. I would like the people who do take the time and effort to do the hack to have a few days with it before its release and then re-release by DanZ.
There are still bugs found in this hack that need to be worked out. Mainly ui issues like minimap teleportation (can't do the right click teleport) and other player's avatars.
EDIT1: Fixed Minimap teleportation. Updated code how to section to include the fix.
EDIT2: Fixed avatar issue. Updated code to (Rank), (Guild), (Fame/Gold). If you already made the fullscreen client, you'll have to undo the changes you've made to (Rank), (Guild), and (Fame/Gold) or start from scratch again. (Fame/Gold) isn't necessary but if I or anyone feels like updating this so that the starting menu looks right in fullscreen mode, the change will need to be done.
Code:
Fullscreen Hack
No Scaling -
Search for the string EXACT_FIT in WebMain. Replace with NO_SCALE.
Expanding your Horizon (Part 1)-
com.company.assembleegameclient.engine3d:Face3D.draw
Replace pushtrue with pushfalse that follows the x, y, right, bottom strings in the parameter column.
Expanding your Horizon (Part 2)-
com.company.assembleegameclient.map:_-09k._-bJ
From the end (returnvoid) scan up for the instuction "pushbyte 1". Replace with a larger number. This is one of those variables that need to be optimized depending on desired resolution one wants to play at. (16 seems to be good for 1920x1080)
Removal of black gradient by side bar -
com.company.util:_-cr._-B2
Insert on last instruction (returnvalue)
pop
pushnull
Romoval of ugly Nexus background (what some call the blue screen) -
_-l6:NexusBackground.draw
Insert on first instuction: returnvoid
Minimap teleportation fix (Part 1) -
_-mF:Menu.position
Scroll down to bottom and delete the last 3 lines before returnvoid.
Minimap teleportation fix (Part 2) -
_-kN::_-RG.position
Scroll down to bottom and delete the last 3 lines before returnvoid.
Reposition and scaling of UI elements (Needs RABCDasm) -
(Side Bar)
com.company.assembleegameclient.ui:_-05a.draw
Insert this code just after getlocal0, pushscope.
findproperty QName(PackageNamespace(""), "scaleX")
pushdouble 1.8
initproperty QName(PackageNamespace(""), "scaleX")
findproperty QName(PackageNamespace(""), "scaleY")
pushdouble 1.8
initproperty QName(PackageNamespace(""), "scaleY")
findproperty QName(PackageNamespace(""), "x")
pushint 1000
initproperty QName(PackageNamespace(""), "x")
findproperty QName(PackageNamespace(""), "y")
pushint -240
initproperty QName(PackageNamespace(""), "y")
(Rank)
com.company.assembleegameclient.game:GameSprite.onEnterFrame
Insert this code just after the first "getproperty QName(PackageNamespace(""), "_-h-")".
dup
dup
dup
dup
pushdouble 1.8
setproperty QName(PackageNamespace(""), "scaleX")
pushdouble 1.8
setproperty QName(PackageNamespace(""), "scaleY")
pushint -541
setproperty QName(PackageNamespace(""), "x")
pushint -229
setproperty QName(PackageNamespace(""), "y")
(Guild)
com.company.assembleegameclient.game:GameSprite.onEnterFrame
Insert this code just after the first "getproperty QName(PackageNamespace(""), "_-DT")".
dup
dup
dup
dup
pushdouble 1.8
setproperty QName(PackageNamespace(""), "scaleX")
pushdouble 1.8
setproperty QName(PackageNamespace(""), "scaleY")
pushint -441
setproperty QName(PackageNamespace(""), "x")
pushint -225
setproperty QName(PackageNamespace(""), "y")
(Gold/Fame)
com.company.assembleegameclient.game:GameSprite.onEnterFrame
Insert this code just after the first "getproperty QName(PackageNamespace(""), "_-4a")".
dup
dup
dup
dup
pushdouble 1.8
setproperty QName(PackageNamespace(""), "scaleX")
pushdouble 1.8
setproperty QName(PackageNamespace(""), "scaleY")
pushint 1000
initproperty QName(PackageNamespace(""), "x")
pushint -240
initproperty QName(PackageNamespace(""), "y")
(Text Box)
com.company.assembleegameclient.ui:_-UI.iinit
Insert this code just after getlocal0, pushscope.
findproperty QName(PackageNamespace(""), "scaleX")
pushdouble 1.8
initproperty QName(PackageNamespace(""), "scaleX")
findproperty QName(PackageNamespace(""), "scaleY")
pushdouble 1.8
initproperty QName(PackageNamespace(""), "scaleY")
findproperty QName(PackageNamespace(""), "x")
pushint -555
initproperty QName(PackageNamespace(""), "x")
findproperty QName(PackageNamespace(""), "y")
pushint -245
initproperty QName(PackageNamespace(""), "y")
(Loading Screen)
_-bP:_-UZ._-xl
Insert this code just after getlocal0, pushscope.
findproperty QName(PackageNamespace(""), "width")
pushint 1920
initproperty QName(PackageNamespace(""), "width")
findproperty QName(PackageNamespace(""), "height")
pushint 1080
initproperty QName(PackageNamespace(""), "height")
findproperty QName(PackageNamespace(""), "x")
pushint -560
initproperty QName(PackageNamespace(""), "x")
findproperty QName(PackageNamespace(""), "y")
pushint -240
initproperty QName(PackageNamespace(""), "y")
