-
Posts
52 -
Joined
-
Last visited
-
Days Won
12
trees last won the day on March 1 2020
trees had the most liked content!
Personal Information
-
Sex
Male
-
Location
Boston
Recent Profile Visitors
996 profile views
-
Scape Editor - Pre-400 all in one cache tool
trees replied to acesucks's topic in RSPS Tools Downloads
Nice upload ace the editors are useful if its pre 400. -
trees changed their profile photo
-
FuryPS Base (Frontier) Source & Client Download
trees replied to Oak Tree's topic in Other (377-742)
Correct! Read your inbox to see what happens to people who spam. -
Thanks for the upload sir ?
-
tutorial Getting started with Displee's Model Editor (1.4.1)
trees replied to gabenlovesshrek's topic in Other
Like soooo... Remove the X's [X hide] image here [X/hide] -
Remember to give credits to @Technotik who has worked tremendously hard on this and myself, if using this for a project or anything of that sort.
-
tutorial Getting started with Displee's Model Editor (1.4.1)
trees replied to gabenlovesshrek's topic in Other
Nice format, nice guide. Good job. Maybe use hide/spoiler tags for images, so we can see the instructions little better. [Hidden Content] -
An OSRS Emulation The tales of old school in high definition has been played with time and time again, with a few success stories behind the idea. Me and my partner Technotik have combined efforts in attempt to bring together another great server for us all to enjoy, which of course needed some full high definition features! Our engine is a highly updated hyperion with update server and cross world features, hyperion is a game server suite server which was aimed to provide an excellent, stable, quality base with advanced features. With these components and the complete updating for oldschool data, we feel this is a very competitive and elaborate game environment. What is the smite client protocol? The client is originally a 530 client which was converted by leanbow to use the 464 packet structure and read the 464 cache. Smite's team uses tools to overwrite the data of that cache with everything from inside the oldshool cache, which allows us to update our oldschool cache, then smite cache painlessly with a few clicks. We do not use any data other than oldschool. In a nut shell its an osrs replica with all added benfits of opengl. People can't ever keep things safe, I sold it off to cheap. Smite #170 is now a public repository. Project made by @Technotik and @trees [Hidden Content] [Hidden Content] [Hidden Content]
- 183 replies
-
214
-
elon musk can't drive his truck very well
-
I have not tested this yet. feel free to leave some notes if using. Step 1: WorldController (or Scene) Tiles; Add the following... private final int TILE_DRAW_DISTANCE = 300; Search for the following, where its defined. aBooleanArrayArrayArrayArray491 Adjust it to the following aBooleanArrayArrayArrayArray491 = new boolean[8][32][(TILE_DRAW_DISTANCE * 2) + 1][(TILE_DRAW_DISTANCE * 2) + 1]; Search for the following, where its defined. aflag[][][][] Adjust it to the following aflag[][][][] = new boolean[9][32][(TILE_DRAW_DISTANCE * 2) + 3][(TILE_DRAW_DISTANCE * 2) + 3]; Finally, the op stated to find all the "25" in WorldController, replace it with TILE_DRAW_DISTANCE Step 2: Model class; Add the following... private final int MODEL_DRAW_DISTANCE = 30000; k2 is a standard variable in most clients so should be able to find, replace the following model draw distance new final draw distance. Like below. k2 >= MODEL_DRAW_DISTANCE
-
Welcome to the community, Al Ahmadi Basi Al Turki Kurdi Lion Hearted Turki. If you have any questions feel free the join our discord also. Discord Invitation
-
Welcome to the community, if you have any questions feel free the join our discord also. Discord Invitation
-
A better guide for runesuite This will add anti-aliasing feature to any 317 client, the naming may be different, thats up to you to sort. Step 1: Mouse Click Area Fix Search for 'l == 519' in client.java int y; int x; if (!this.menuOpen) { x = this.saveClickX - 4; y = this.saveClickY - 4; } else { x = j - 4; y = k - 4; } if (Configuration.anti_aliasing == true) { x <<= 1; y <<= 1; } this.worldController.method312(y, x); Step 2: Anti Aliasing Rendering 1/2 (example image 1) (example image 2) Search for 'method146'; Directly under 'int [] offsets = null'; Add the following int[] offsets = null; if (Configuration.anti_aliasing == true) { Model.currentCursorX <<= 1; Model.currentCursorY <<= 1; WorldController.focalLength <<= 1; pixels = Rasterizer.pixels; Rasterizer.pixels = antialiasingPixels; offsets = Rasterizer.anIntArray1472; Rasterizer.anIntArray1472 = antialiasingOffsets; Rasterizer.bottomX <<= 1; Rasterizer.bottomY <<= 1; DrawingArea.width <<= 1; DrawingArea.height <<= 1; DrawingArea.centerX <<= 1; DrawingArea.centerY <<= 1; DrawingArea.anInt1387 <<= 1; Rasterizer.textureInt1 <<= 1; Rasterizer.textureInt2 <<= 1; } Step 3: Anti Aliasing Render 2/2 Directly under 'worldController.method313'; Add the following; Note if you have fog rendering, the fog rendering should be just above this new code your adding and under 'method313' DrawingArea.setAllPixelsToZero(); worldController.method313(xCameraPos, yCameraPos, xCameraCurve, zCameraPos, j, yCameraCurve); if (Configuration.anti_aliasing == true) { Model.currentCursorX >>= 1; Model.currentCursorY >>= 1; WorldController.focalLength >>= 1; Rasterizer.pixels = pixels; Rasterizer.anIntArray1472 = offsets; Rasterizer.bottomX >>= 1; Rasterizer.bottomY >>= 1; DrawingArea.width >>= 1; DrawingArea.height >>= 1; DrawingArea.centerX >>= 1; DrawingArea.centerY >>= 1; DrawingArea.anInt1387 >>= 1; Rasterizer.textureInt1 >>= 1; Rasterizer.textureInt2 >>= 1; int w = DrawingArea.width; int h = DrawingArea.height; for (int x = 0; x < w; x++) { for (int y = 0; y < h; y++) { int x2 = x << 1; int y2 = y << 1; int w2 = w << 1; int c1 = antialiasingPixels[(x2 + y2 * w2)]; int c2 = antialiasingPixels[(x2 + 1 + y2 * w2)]; int c3 = antialiasingPixels[(x2 + (y2 + 1) * w2)]; int c4 = antialiasingPixels[(x2 + 1 + (y2 + 1) * w2)]; int r = (c1 >> 16 & 0xFF) + (c2 >> 16 & 0xFF) + (c3 >> 16 & 0xFF) + (c4 >> 16 & 0xFF) >> 2; int g = (c1 >> 8 & 0xFF) + (c2 >> 8 & 0xFF) + (c3 >> 8 & 0xFF) + (c4 >> 8 & 0xFF) >> 2; int b = (c1 & 0xFF) + (c2 & 0xFF) + (c3 & 0xFF) + (c4 & 0xFF) >> 2; DrawingArea.pixels[(x + y * DrawingArea.width)] = (r << 16 | g << 8 | b); } } } this code should all be followed with something that looks similar to the following, if you have done all that, congratulations! Make the 'Configuration.anti_aliasing' any boolean you please and test it out and continue below. worldController.clearObj5Cache(); updateEntities(); drawHeadIcon(); method37(k2); draw3dScreen(); aGraphicsBuffer_1165.drawGraphics(4, super.graphics, 4); xCameraPos = l; zCameraPos = i1; yCameraPos = j1; yCameraCurve = k1; xCameraCurve = l1; Grab a redbull, you'll need it. Step 4: The world controller / game scene Open your 'WorldController.java' (or 'Scene.java') Add and declare the following focalLength declarations anywhere (find below) and replace '>> 9' with the 'WorldController.focalLength' in the following methods; method311, method315, method 316; public static int focalLength = 512; static { focalLength = 512; } The following will be my methods using the focalLength, which may vary from yours. private static boolean method311(int i, int j, int k) { int l = j * anInt460 + k * anInt461 >> 16; int i1 = j * anInt461 - k * anInt460 >> 16; int j1 = i * anInt458 + i1 * anInt459 >> 16; int k1 = i * anInt459 - i1 * anInt458 >> 16; if (j1 < 50 || j1 > 3500) return false; int l1 = anInt493 + (l * WorldController.focalLength) / j1; int i2 = anInt494 + (k1 * WorldController.focalLength) / j1; return l1 >= anInt495 && l1 <= anInt497 && i2 >= anInt496 && i2 <= anInt498; } private void method315(Class43 class43, int i, int j, int k, int l, int i1, int j1, int k1) { int l1; int i2 = l1 = (j1 << 7) - anInt455; int j2; int k2 = j2 = (k1 << 7) - anInt457; int l2; int i3 = l2 = i2 + 128; int j3; int k3 = j3 = k2 + 128; int l3 = anIntArrayArrayArray440[i][j1][k1] - anInt456; int i4 = anIntArrayArrayArray440[i][j1 + 1][k1] - anInt456; int j4 = anIntArrayArrayArray440[i][j1 + 1][k1 + 1] - anInt456; int k4 = anIntArrayArrayArray440[i][j1][k1 + 1] - anInt456; int l4 = k2 * l + i2 * i1 >> 16; k2 = k2 * i1 - i2 * l >> 16; i2 = l4; l4 = l3 * k - k2 * j >> 16; k2 = l3 * j + k2 * k >> 16; l3 = l4; if (k2 < 50) return; l4 = j2 * l + i3 * i1 >> 16; j2 = j2 * i1 - i3 * l >> 16; i3 = l4; l4 = i4 * k - j2 * j >> 16; j2 = i4 * j + j2 * k >> 16; i4 = l4; if (j2 < 50) return; l4 = k3 * l + l2 * i1 >> 16; k3 = k3 * i1 - l2 * l >> 16; l2 = l4; l4 = j4 * k - k3 * j >> 16; k3 = j4 * j + k3 * k >> 16; j4 = l4; if (k3 < 50) return; l4 = j3 * l + l1 * i1 >> 16; j3 = j3 * i1 - l1 * l >> 16; l1 = l4; l4 = k4 * k - j3 * j >> 16; j3 = k4 * j + j3 * k >> 16; k4 = l4; if (j3 < 50) return; int i5 = Rasterizer.textureInt1 + (i2 * WorldController.focalLength) / k2; int j5 = Rasterizer.textureInt2 + (l3 * WorldController.focalLength) / k2; int k5 = Rasterizer.textureInt1 + (i3 * WorldController.focalLength) / j2; int l5 = Rasterizer.textureInt2 + (i4 * WorldController.focalLength) / j2; int i6 = Rasterizer.textureInt1 + (l2 * WorldController.focalLength) / k3; int j6 = Rasterizer.textureInt2 + (j4 * WorldController.focalLength) / k3; int k6 = Rasterizer.textureInt1 + (l1 * WorldController.focalLength) / j3; int l6 = Rasterizer.textureInt2 + (k4 * WorldController.focalLength) / j3; Rasterizer.anInt1465 = 0; if ((i6 - k6) * (l5 - l6) - (j6 - l6) * (k5 - k6) > 0) { private void method316(int i, int j, int k, ShapedTile shapedTile, int l, int i1, int j1) { int k1 = shapedTile.origVertexX.length; for (int l1 = 0; l1 < k1; l1++) { int i2 = shapedTile.origVertexX[l1] - anInt455; int k2 = shapedTile.origVertexY[l1] - anInt456; int i3 = shapedTile.origVertexZ[l1] - anInt457; int k3 = i3 * k + i2 * j1 >> 16; i3 = i3 * j1 - i2 * k >> 16; i2 = k3; k3 = k2 * l - i3 * j >> 16; i3 = k2 * j + i3 * l >> 16; k2 = k3; if (i3 < 50) return; if (Configuration.enableHDTextures || shapedTile.triangleTexture != null) { shapedTile.viewSpaceX[l1] = i2; shapedTile.viewSpaceY[l1] = k2; shapedTile.viewSpaceZ[l1] = i3; } shapedTile.screenX[l1] = Rasterizer.textureInt1 + (i2 * WorldController.focalLength) / i3; shapedTile.screenY[l1] = Rasterizer.textureInt2 + (k2 * WorldController.focalLength) / i3; shapedTile.viewSpaceZ[l1] = i3; shapedTile.viewSpaceZ[l1] = i3; } Rasterizer.anInt1465 = 0; k1 = shapedTile.triangleA.length; Step 5: Some model fixes Open 'Model.java' search for 'method443' (or 'renderAtPoint') and look around for some more of those '>> 9' and replace like we did before in 'method443' The following will be my methods using the focalLength, which may vary from yours. @Override public final void method443(int i, int j, int k, int l, int i1, int j1, int k1, int l1, int i2) { int j2 = l1 * i1 - j1 * l >> 16; int k2 = k1 * j + j2 * k >> 16; int l2 = anInt1650 * k >> 16; int i3 = k2 + l2; if (i3 <= 50 || k2 >= 3500) return; int j3 = l1 * l + j1 * i1 >> 16; int k3 = (j3 - anInt1650) * WorldController.focalLength; if (k3 / i3 >= DrawingArea.centerY) return; int l3 = (j3 + anInt1650) * WorldController.focalLength; if (l3 / i3 <= -DrawingArea.centerY) return; int i4 = k1 * k - j2 * j >> 16; int j4 = anInt1650 * j >> 16; int k4 = (i4 + j4) * WorldController.focalLength; if (k4 / i3 <= -DrawingArea.anInt1387) return; int l4 = j4 + (super.modelHeight * k >> 16); int i5 = (i4 - l4) * WorldController.focalLength; if (i5 / i3 >= DrawingArea.anInt1387) return; int j5 = l2 + (super.modelHeight * j >> 16); boolean flag = false; if (k2 - j5 <= 50) flag = true; boolean flag1 = false; if (i2 > 0 && objectExists) { int k5 = k2 - l2; if (k5 <= 50) k5 = 50; if (j3 > 0) { k3 /= i3; l3 /= k5; } else { l3 /= i3; k3 /= k5; } if (i4 > 0) { i5 /= i3; k4 /= k5; } else { k4 /= i3; i5 /= k5; } int i6 = currentCursorX - Rasterizer.textureInt1; int k6 = currentCursorY - Rasterizer.textureInt2; if (i6 > k3 && i6 < l3 && k6 > i5 && k6 < k4) if (aBoolean1659) anIntArray1688[objectsRendered++] = i2; else flag1 = true; } int l5 = Rasterizer.textureInt1; int j6 = Rasterizer.textureInt2; int l6 = 0; int i7 = 0; if (i != 0) { l6 = SINE[i]; i7 = COSINE[i]; } for (int j7 = 0; j7 < numberOfVerticeCoordinates; j7++) { int k7 = verticesXCoordinate[j7]; int l7 = verticesYCoordinate[j7]; int i8 = verticesZCoordinate[j7]; if (i != 0) { int j8 = i8 * l6 + k7 * i7 >> 16; i8 = i8 * i7 - k7 * l6 >> 16; k7 = j8; } k7 += j1; l7 += k1; i8 += l1; int k8 = i8 * l + k7 * i1 >> 16; i8 = i8 * i1 - k7 * l >> 16; k7 = k8; k8 = l7 * k - i8 * j >> 16; i8 = l7 * j + i8 * k >> 16; l7 = k8; anIntArray1667[j7] = i8 - k2; if (i8 >= 50) { projected_vertex_x[j7] = (l5 + k7 * WorldController.focalLength / i8); projected_vertex_y[j7] = (j6 + l7 * WorldController.focalLength / i8); if (Rasterizer.saveDepth) { vertexPerspectiveDepth[j7] = i8; } } else { projected_vertex_x[j7] = -5000; flag = true; } if (flag || numberOfTexturedFaces > 0) { camera_vertex_y[j7] = k7; camera_vertex_x[j7] = l7; camera_vertex_z[j7] = i8; } } try { method483(flag, flag1, i2); return; } catch (Exception _ex) { return; } }
-
Have not tested. OP notes (Madara) 'this is just a base, modify the size of the item container and the item lists yourself' Skillguide Interace: public static void skillGuide(GameFont[] tda) { Widget mainScroll = addTabInterface(36100); Widget list = addTabInterface(36350); Widget side = addTabInterface(36150); int pos = 36151; int y = 0; side.height = 75; side.width = 260; list.height = 237; list.width = 284; list.scrollMax = 1750; addSprite(36101, 496); addSprite(36351, 497); addSprite(36352, 498); addButton(36104, 36100, 24, 24, 501, 501, 36105, "Close"); addHoveredButton_sprite_loader(36105, 502, 24, 24, 36106); addHoverText3(36353, "Weapons", "Open", tda, 3, 0x46320a, true, false, 150); addHoverText3(36354, "Armour", "Open", tda, 3, 0x46320a, true, false, 150); addHoverText3(36355, "Salamanders", "Open", tda, 3, 0x46320a, true, false, 150); addTitle(36102, "Attack", tda, 3, 0x46320a, true, false, true); addText(36103, "Weapons", tda, 0, 0x446320a, true, false); Widget container = addTabInterface(36250); container.spritesX = new int[20]; container.spritesY = new int[20]; container.inventoryItemId = new int[58]; container.inventoryAmounts = new int[58]; container.filled = false; container.replaceItems = false; container.usableItems = false; container.allowSwapItems = false; container.spritePaddingX = 0; container.spritePaddingY = 3; container.height = 58; container.width = 1; container.parent = 42000; container.type = TYPE_INVENTORY; for(int i = 0; i < 200; i++) { addText(pos + i, "" + i, tda, 1, 0x46320a, true, false); addText(pos + (i + 1), "" + (i + 1), tda, 1, 0x46320a, false, false); addText(pos + (i + 2), "" + (i + 2), tda, 1, 0x46320a, false, false); i += 3; } mainScroll.totalChildren(7); side.totalChildren(5); list.totalChildren(451); int scrollChild = 0; mainScroll.child(scrollChild++, 36101, 0, 0); mainScroll.child(scrollChild++, 36104, 470, 5); mainScroll.child(scrollChild++, 36105, 470, 5); mainScroll.child(scrollChild++, 36102, 180, 15); mainScroll.child(scrollChild++, 36103, 180, 32); mainScroll.child(scrollChild++, 36150, 355, 35); mainScroll.child(scrollChild++, 36350, 30, 75); int sideChild = 0; side.child(sideChild++, 36351, 0, 0); side.child(sideChild++, 36352, 0, 66); side.child(sideChild++, 36353, 0, 10); side.child(sideChild++, 36354, 0, 28); side.child(sideChild++, 36355, 0, 46); int listChild = 0; list.child(listChild++, 36250, 23, 0); for(int i = 0; i < 600; i++) { list.child(listChild++, pos + i, 11, y + 2); list.child(listChild++, pos + (i + 1), 61, y); list.child(listChild++, pos + (i + 2), 61, y + 13); y += 35; i += 3; } } 508 Scrollbar: public void draw508Scrollbar(int height, int pos, int y, int x, int maxScroll, boolean transparent) { if (transparent) { drawTransparentScrollBar(x, y, height, maxScroll, pos); } else { scrollBar3.drawSprite(x, y); // <- custom sprite scrollBar4.drawSprite(x, (y + height) - 16); // <- custom sprite Rasterizer2D.drawBox(x, y + 16, 16, height - 32, 0x746241); Rasterizer2D.drawBox(x, y + 16, 15, height - 32, 0x77603e); Rasterizer2D.drawBox(x, y + 16, 14, height - 32, 0x95784a); Rasterizer2D.drawBox(x, y + 16, 12, height - 32, 0x997c52); Rasterizer2D.drawBox(x, y + 16, 11, height - 32, 0x9e8155); Rasterizer2D.drawBox(x, y + 16, 10, height - 32, 0xa48558); Rasterizer2D.drawBox(x, y + 16, 8, height - 32, 0xaa8b5c); Rasterizer2D.drawBox(x, y + 16, 6, height - 32, 0xb09060); Rasterizer2D.drawBox(x, y + 16, 3, height - 32, 0x866c44); Rasterizer2D.drawBox(x, y + 16, 1, height - 32, 0x7c6945); int k1 = ((height - 32) * height) / maxScroll; if (k1 < 8) { k1 = 8; } int l1 = ((height - 32 - k1) * pos) / (maxScroll - height); int l2 = ((height - 32 - k1) * pos) / (maxScroll - height) + 6; Rasterizer2D.drawVerticalLine(x + 1, y + 16 + l1, k1, 0x5c492d); Rasterizer2D.drawVerticalLine(x + 14, y + 16 + l1, k1, 0x5c492d); Rasterizer2D.drawHorizontalLine(x + 1, y + 16 + l1, 14, 0x5c492d); Rasterizer2D.drawHorizontalLine(x + 1, y + 15 + l1 + k1, 14, 0x5c492d); Rasterizer2D.drawHorizontalLine(x + 4, y + 18 + l1, 8, 0x664f2b); Rasterizer2D.drawHorizontalLine(x + 4, y + 13 + l1 + k1, 8, 0x664f2b); Rasterizer2D.drawHorizontalLine(x + 3, y + 19 + l1, 2, 0x664f2b); Rasterizer2D.drawHorizontalLine(x + 11, y + 19 + l1, 2, 0x664f2b); Rasterizer2D.drawHorizontalLine(x + 3, y + 12 + l1 + k1, 2, 0x664f2b); Rasterizer2D.drawHorizontalLine(x + 11, y + 12 + l1 + k1, 2, 0x664f2b); Rasterizer2D.drawHorizontalLine(x + 3, y + 14 + l1 + k1, 11, 0x866c44); Rasterizer2D.drawHorizontalLine(x + 3, y + 17 + l1, 11, 0x866c44); Rasterizer2D.drawVerticalLine(x + 13, y + 12 + l2, k1 - 4, 0x866c44); Rasterizer2D.drawVerticalLine(x + 3, y + 13 + l2, k1 - 6, 0x664f2b); Rasterizer2D.drawVerticalLine(x + 12, y + 13 + l2, k1 - 6, 0x664f2b); Rasterizer2D.drawHorizontalLine(x + 2, y + 18 + l1, 2, 0x866c44); Rasterizer2D.drawHorizontalLine(x + 2, y + 13 + l1 + k1, 2, 0x866c44); Rasterizer2D.drawHorizontalLine(x + 12, y + 18 + l1, 1, 0x866c44); Rasterizer2D.drawHorizontalLine(x + 12, y + 13 + l1 + k1, 1, 0x866c44); } } Transparent Background: if(rsInterface.id == 36100) { Rasterizer2D.drawTransparentBox(-100, 0, Rasterizer2D.width + 100, Rasterizer2D.height, 0x3e2f1d, 100); }