Skip to content

Commit

Permalink
New maps & new RS surface creator tool; dwarven mine + runecrafting a…
Browse files Browse the repository at this point in the history
…lters added
  • Loading branch information
cohenadair committed Nov 13, 2011
1 parent df68ed8 commit ad6d840
Show file tree
Hide file tree
Showing 236 changed files with 124 additions and 88 deletions.
6 changes: 3 additions & 3 deletions README.txt
Expand Up @@ -2,9 +2,9 @@ SPS - SRL Positioning System
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

SPS is a 100% colour positioning system used to find a player's location in Runescape.
This allows for reflection-like colour walking. Everything you need to know about SPS
can be found at SRL-Forums. SPS was originally developed by marpis and has since been
developed by the SRL community. All deserving credits are given within the include.
Everything you need to know about SPS can be found at SRL-Forums. SPS was originally
developed by marpis and has since been developed by the SRL community. All deserving
credits are given within the include.


http://villavu.com/forum/showthread.php?t=66266
Expand Down
7 changes: 6 additions & 1 deletion TODO.txt
@@ -1,4 +1,9 @@
SPS TO-DO List
~~~~~~~~~~~~~~

-- access violation fix
-- Add more dungeons
-- Not have to set SPS_Areas
-- ** Work from any compass angle
-- World walker

** = Priority
Binary file modified img/dungeons.rar
Binary file not shown.
Binary file modified img/dwarven_mine/0_0.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified img/dwarven_mine/0_1.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified img/dwarven_mine/dwarven_mine.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed img/dwarven_mine/dwarven_mine.psd
Binary file not shown.
Binary file modified img/essence_mine/0_1.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed img/essence_mine/essence_mine.psd
Binary file not shown.
Binary file added img/runecrafting_alters/0_0.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified img/runescape_surface/0_1.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified img/runescape_surface/0_10.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified img/runescape_surface/0_11.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified img/runescape_surface/0_12.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified img/runescape_surface/0_13.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified img/runescape_surface/0_2.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified img/runescape_surface/0_3.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified img/runescape_surface/0_9.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified img/runescape_surface/10_1.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified img/runescape_surface/10_10.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified img/runescape_surface/10_11.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified img/runescape_surface/10_12.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified img/runescape_surface/10_2.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified img/runescape_surface/10_3.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified img/runescape_surface/10_4.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified img/runescape_surface/10_5.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified img/runescape_surface/10_6.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified img/runescape_surface/10_7.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified img/runescape_surface/10_8.png
Binary file modified img/runescape_surface/10_9.png
Binary file modified img/runescape_surface/11_1.png
Binary file modified img/runescape_surface/11_10.png
Binary file modified img/runescape_surface/11_11.png
Binary file modified img/runescape_surface/11_12.png
Binary file modified img/runescape_surface/11_13.png
Binary file modified img/runescape_surface/11_14.png
Binary file modified img/runescape_surface/11_2.png
Binary file modified img/runescape_surface/11_3.png
Binary file modified img/runescape_surface/11_4.png
Binary file modified img/runescape_surface/11_5.png
Binary file modified img/runescape_surface/11_6.png
Binary file modified img/runescape_surface/11_7.png
Binary file modified img/runescape_surface/11_8.png
Binary file modified img/runescape_surface/11_9.png
Binary file modified img/runescape_surface/12_1.png
Binary file modified img/runescape_surface/12_10.png
Binary file modified img/runescape_surface/12_11.png
Binary file modified img/runescape_surface/12_12.png
Binary file modified img/runescape_surface/12_13.png
Binary file modified img/runescape_surface/12_14.png
Binary file modified img/runescape_surface/12_2.png
Binary file modified img/runescape_surface/12_3.png
Binary file modified img/runescape_surface/12_4.png
Binary file modified img/runescape_surface/12_5.png
Binary file modified img/runescape_surface/12_6.png
Binary file modified img/runescape_surface/12_7.png
Binary file modified img/runescape_surface/12_8.png
Binary file modified img/runescape_surface/12_9.png
Binary file modified img/runescape_surface/13_1.png
Binary file modified img/runescape_surface/13_10.png
Binary file modified img/runescape_surface/13_11.png
Binary file modified img/runescape_surface/13_12.png
Binary file modified img/runescape_surface/13_13.png
Binary file added img/runescape_surface/13_14.png
Binary file modified img/runescape_surface/13_2.png
Binary file modified img/runescape_surface/13_3.png
Binary file modified img/runescape_surface/13_4.png
Binary file modified img/runescape_surface/13_5.png
Binary file modified img/runescape_surface/13_6.png
Binary file modified img/runescape_surface/13_7.png
Binary file modified img/runescape_surface/13_8.png
Binary file modified img/runescape_surface/13_9.png
Binary file modified img/runescape_surface/14_10.png
Binary file modified img/runescape_surface/14_11.png
Binary file modified img/runescape_surface/14_12.png
Binary file modified img/runescape_surface/14_13.png
Binary file modified img/runescape_surface/14_3.png
Binary file modified img/runescape_surface/14_4.png
Binary file modified img/runescape_surface/14_5.png
Binary file modified img/runescape_surface/14_6.png
Binary file modified img/runescape_surface/14_7.png
Binary file modified img/runescape_surface/14_8.png
Binary file modified img/runescape_surface/14_9.png
Binary file modified img/runescape_surface/15_10.png
Binary file modified img/runescape_surface/15_11.png
Binary file modified img/runescape_surface/15_12.png
Binary file modified img/runescape_surface/15_5.png
Binary file modified img/runescape_surface/15_6.png
Binary file modified img/runescape_surface/15_7.png
Binary file modified img/runescape_surface/15_8.png
Binary file modified img/runescape_surface/15_9.png
Binary file modified img/runescape_surface/16_10.png
Binary file modified img/runescape_surface/16_11.png
Binary file modified img/runescape_surface/16_12.png
Binary file modified img/runescape_surface/16_5.png
Binary file modified img/runescape_surface/16_6.png
Binary file modified img/runescape_surface/16_7.png
Binary file added img/runescape_surface/16_8.png
Binary file added img/runescape_surface/16_9.png
Binary file modified img/runescape_surface/17_10.png
Binary file modified img/runescape_surface/17_11.png
Binary file modified img/runescape_surface/17_12.png
Binary file modified img/runescape_surface/17_13.png
Binary file modified img/runescape_surface/17_5.png
Binary file modified img/runescape_surface/17_6.png
Binary file modified img/runescape_surface/1_1.png
Binary file modified img/runescape_surface/1_10.png
Binary file modified img/runescape_surface/1_11.png
Binary file modified img/runescape_surface/1_12.png
Binary file modified img/runescape_surface/1_13.png
Binary file modified img/runescape_surface/1_2.png
Binary file modified img/runescape_surface/1_3.png
Binary file modified img/runescape_surface/1_5.png
Binary file modified img/runescape_surface/1_7.png
Binary file modified img/runescape_surface/1_8.png
Binary file modified img/runescape_surface/1_9.png
Binary file modified img/runescape_surface/2_10.png
Binary file modified img/runescape_surface/2_11.png
Binary file modified img/runescape_surface/2_12.png
Binary file modified img/runescape_surface/2_13.png
Binary file modified img/runescape_surface/2_2.png
Binary file modified img/runescape_surface/2_3.png
Binary file modified img/runescape_surface/2_4.png
Binary file modified img/runescape_surface/2_5.png
Binary file modified img/runescape_surface/2_6.png
Binary file modified img/runescape_surface/2_7.png
Binary file modified img/runescape_surface/2_8.png
Binary file modified img/runescape_surface/2_9.png
Binary file modified img/runescape_surface/3_10.png
Binary file modified img/runescape_surface/3_11.png
Binary file modified img/runescape_surface/3_12.png
Binary file modified img/runescape_surface/3_13.png
Binary file modified img/runescape_surface/3_2.png
Binary file modified img/runescape_surface/3_3.png
Binary file modified img/runescape_surface/3_4.png
Binary file modified img/runescape_surface/3_5.png
Binary file modified img/runescape_surface/3_6.png
Binary file modified img/runescape_surface/3_7.png
Binary file modified img/runescape_surface/3_8.png
Binary file modified img/runescape_surface/3_9.png
Binary file modified img/runescape_surface/4_10.png
Binary file modified img/runescape_surface/4_11.png
Binary file modified img/runescape_surface/4_12.png
Binary file modified img/runescape_surface/4_13.png
Binary file modified img/runescape_surface/4_2.png
Binary file modified img/runescape_surface/4_3.png
Binary file modified img/runescape_surface/4_4.png
Binary file modified img/runescape_surface/4_5.png
Binary file modified img/runescape_surface/4_6.png
Binary file modified img/runescape_surface/4_7.png
Binary file modified img/runescape_surface/4_8.png
Binary file modified img/runescape_surface/4_9.png
Binary file modified img/runescape_surface/5_0.png
Binary file modified img/runescape_surface/5_1.png
Binary file modified img/runescape_surface/5_10.png
Binary file modified img/runescape_surface/5_11.png
Binary file modified img/runescape_surface/5_12.png
Binary file modified img/runescape_surface/5_13.png
Binary file modified img/runescape_surface/5_14.png
Binary file modified img/runescape_surface/5_15.png
Binary file added img/runescape_surface/5_16.png
Binary file modified img/runescape_surface/5_2.png
Binary file modified img/runescape_surface/5_3.png
Binary file modified img/runescape_surface/5_4.png
Binary file modified img/runescape_surface/5_5.png
Binary file modified img/runescape_surface/5_6.png
Binary file modified img/runescape_surface/5_7.png
Binary file modified img/runescape_surface/5_8.png
Binary file modified img/runescape_surface/5_9.png
Binary file modified img/runescape_surface/6_0.png
Binary file modified img/runescape_surface/6_1.png
Binary file modified img/runescape_surface/6_10.png
Binary file modified img/runescape_surface/6_11.png
Binary file modified img/runescape_surface/6_12.png
Binary file modified img/runescape_surface/6_13.png
Binary file modified img/runescape_surface/6_14.png
Binary file modified img/runescape_surface/6_15.png
Binary file added img/runescape_surface/6_16.png
Binary file modified img/runescape_surface/6_2.png
Binary file modified img/runescape_surface/6_3.png
Binary file modified img/runescape_surface/6_4.png
Binary file modified img/runescape_surface/6_5.png
Binary file modified img/runescape_surface/6_6.png
Binary file modified img/runescape_surface/6_7.png
Binary file modified img/runescape_surface/6_8.png
Binary file modified img/runescape_surface/6_9.png
Binary file modified img/runescape_surface/7_1.png
Binary file modified img/runescape_surface/7_10.png
Binary file modified img/runescape_surface/7_11.png
Binary file modified img/runescape_surface/7_12.png
Binary file modified img/runescape_surface/7_13.png
Binary file modified img/runescape_surface/7_14.png
Binary file modified img/runescape_surface/7_15.png
Binary file added img/runescape_surface/7_16.png
Binary file modified img/runescape_surface/7_2.png
Binary file modified img/runescape_surface/7_3.png
Binary file modified img/runescape_surface/7_4.png
Binary file modified img/runescape_surface/7_5.png
Binary file modified img/runescape_surface/7_6.png
Binary file modified img/runescape_surface/7_7.png
Binary file modified img/runescape_surface/7_8.png
Binary file modified img/runescape_surface/7_9.png
Binary file modified img/runescape_surface/8_1.png
Binary file modified img/runescape_surface/8_10.png
Binary file modified img/runescape_surface/8_11.png
Binary file modified img/runescape_surface/8_12.png
Binary file removed img/runescape_surface/8_13.png
Diff not rendered.
Binary file modified img/runescape_surface/8_14.png
Binary file modified img/runescape_surface/8_15.png
Binary file added img/runescape_surface/8_16.png
Binary file modified img/runescape_surface/8_2.png
Binary file modified img/runescape_surface/8_3.png
Binary file modified img/runescape_surface/8_4.png
Binary file modified img/runescape_surface/8_5.png
Binary file modified img/runescape_surface/8_6.png
Binary file modified img/runescape_surface/8_7.png
Binary file modified img/runescape_surface/8_8.png
Binary file modified img/runescape_surface/8_9.png
Binary file modified img/runescape_surface/9_1.png
Binary file modified img/runescape_surface/9_10.png
Binary file modified img/runescape_surface/9_11.png
Binary file modified img/runescape_surface/9_12.png
Binary file modified img/runescape_surface/9_2.png
Binary file modified img/runescape_surface/9_3.png
Binary file modified img/runescape_surface/9_4.png
Binary file modified img/runescape_surface/9_5.png
Binary file modified img/runescape_surface/9_6.png
Binary file modified img/runescape_surface/9_7.png
Binary file modified img/runescape_surface/9_8.png
Binary file modified img/runescape_surface/9_9.png
Binary file added img/runescape_surface/runescape_surface.png
Binary file removed img/runescape_surface/runescape_surface_map.png
Diff not rendered.
4 changes: 2 additions & 2 deletions sps.simba
Expand Up @@ -74,7 +74,7 @@ begin
FactorY := 340;
TileOffsetX := -1;
TileOffSetY := -1;
Tolerance := 0.2;
Tolerance := 0.1;
end;
end;

Expand Down Expand Up @@ -233,7 +233,7 @@ begin
[getSystemTime - t, toStr(result)]));

except
Writeln('[SPS] ERROR' + ExceptionToString(ExceptionType, ExceptionParam));
Writeln('[SPS] ERROR in SPS_GetMyPos: ' + ExceptionToString(ExceptionType, ExceptionParam));
end;
end;

Expand Down
6 changes: 3 additions & 3 deletions test/path_walking.simba
Expand Up @@ -18,9 +18,9 @@ begin
SPS_Debug := true;


SPS_Setup(DWARVEN_MINE, ['0_1']);
SPS_Setup(DWARVEN_MINE, ['0_0', '0_1']);
pts := [Point(278, 506), Point(329, 509), Point(359, 489), Point(392, 483)];

{
repeat
inc(t);

Expand All @@ -29,6 +29,6 @@ begin

invertTPA(pts);
until(t = 50);

}
SPS_GetMyPos();
end.
60 changes: 0 additions & 60 deletions tools/rs_surfacesplitter.simba

This file was deleted.

129 changes: 110 additions & 19 deletions tools/rs_surfacecreator.simba → tools/runescape_surface_creator.simba
@@ -1,31 +1,41 @@
(*

This is a program that will automatically create the entire Runescape map from
in game screenshots. The final image will be saved as a .bmp and saved to
the PATH_MAP constant file path.
in game screenshots. The final image will be saved to the PATH_MAP
constant file path. It will also split the map into 500x500 chunks used as
SPS areas. Each area overlaps by 100 pixels. Set the MAP_CREATE and
MAP_SLICE constants depending on which (or both) activities you want to do.

NOTES:
~~~~~~

* Takes approx. 2 minutes to complete
* Takes approx. 2 minutes to complete the map; 5 seconds to slice it
* If you're using SMART, start with the map CLOSED
* If you're not using SMART, you can start with it open OR closed
* ALWAYS start logged in; it won't login for you
* Reccommend running on a bad account as it uses exact coord clicking
* Doesn't require you to login if you're only slicing the map

CREDITS:
~~~~~~~~

* Coh3n ~ Original author
* Nava2 & masterBB ~ Logic help + memory adjustments
* Marpis ~ Original map slicing algorithm

*)

program new;
program runescape_surface_creator;
{$DEFINE SMART}
{$i srl/srl.scar}

const
PATH_MAP = appPath + 'runescape_surface.bmp';
MAP_CREATE = false; // true to create the map
MAP_SLICE = true; // true to slice the map into areas

const
PATH_MAP = appPath + 'runescape_surface\runescape_surface.bmp'; // where to save the world map
PATH_IMG = appPath + 'runescape_surface\'; // where to save the sps areas

// used so the screenshots line up properly
OVERLAP_X = 54;
Expand Down Expand Up @@ -209,16 +219,79 @@ begin
w := (w - SIZE_BORDER - OVERLAP_X);
h := (h - SIZE_LEGEND - OVERLAP_Y);

writeln(toStr(w * COLUMNS));
writeln(toStr(h * ROWS));

bmpWorld.setSize(w * COLUMNS - OVERLAP_EDGE_X, h * ROWS - OVERLAP_EDGE_Y);
bmpWorld.fastDrawClear(clBlack); // transparent colour

setPieces()
end;

procedure mainloop();
// splits the map into SPS areas 500x500 pixels; overlap 100 pixels on each side
// finished in about 10 seconds
procedure sliceMap;
var
bmpMap, bmpTemp: TMufasaBitmap;
x, y, i, t, x1, y1, x2, y2: integer;
blanks: TStringArray;
begin
writeln('Slicing map...');
t := getSystemTime();

// SPS areas that don't have any land on them (no point in saving them)
blanks := ['0_0', '0_4', '0_5', '0_6', '0_7', '0_8', '0_14', '0_15', '0_16',
'1_0', '1_4', '1_6', '1_14', '1_15', '1_16', '2_0', '2_1', '2_14', '2_15',
'2_16', '3_0', '3_1', '3_14', '3_15', '3_16', '4_0', '4_1', '4_14', '4_15',
'4_16', '3_14', '3_15', '3_16', '7_0', '8_0', '8_13', '9_0', '9_13', '9_14',
'9_15', '9_16', '10_0', '10_13', '10_14', '10_15', '10_16', '11_0', '11_15',
'11_16', '12_0', '12_15', '12_16', '13_0', '13_15', '13_16', '14_0', '14_1',
'14_2', '14_14', '14_15', '14_16', '15_0', '15_1', '15_2', '15_3', '15_4',
'15_13', '15_14', '15_15', '15_16', '16_0', '16_1', '16_2', '16_3', '16_4',
'16_13', '16_14', '16_15', '16_16', '17_0', '17_1', '17_2', '17_3', '17_4',
'17_7', '17_8', '17_9', '17_14', '17_15', '17_16'];

forceDirectories(PATH_IMG);

bmpMap := TMufasaBitmap.Create();
bmpMap.loadFromFile(PATH_MAP);

for x := 0 to 17 do
for y := 0 to 16 do
begin
// skips blank areas
if (inStrArr(toStr(x)+'_'+toStr(y), blanks, false)) then
continue;

x1 := (x * 400);
y1 := (y * 400);
x2 := (x * 400 + 499);
y2 := (y * 400 + 499);

// make sure we're not exceeding the dimensions of the world map
// if we are set the coords so the areas are still 500x500
if (x2 > bmpMap.width) then
begin
x1 := (bmpMap.width - 1 - 499);
x2 := (bmpMap.width - 1);
end;

if (y2 > bmpMap.height) then
begin
y1 := (bmpMap.height - 1 - 499);
y2 := (bmpMap.height - 1);
end;

bmpTemp := bmpMap.copy(x1, y1, x2, y2);
bmpTemp.saveToFile(PATH_IMG + toStr(x)+'_'+toStr(y)+'.bmp');
bmpTemp.free();

inc(i);
writeln('Saved '+toStr(i));
end;

bmpMap.free();
writeln('Slicing map took '+msToTime(getSystemTime - t, TIME_SHORT)+' to complete.');
end;

procedure mainloopMap();
var
t: integer;
begin
Expand All @@ -234,20 +307,38 @@ begin
bmpWorld.saveToFile(PATH_MAP);
bmpWorld.free();

writeln('Took '+msToTime(getSystemTime - t, TIME_SHORT)+' to complete.');
writeln('Creating map took '+msToTime(getSystemTime - t, TIME_SHORT)+' to complete.');
end;

procedure mainloopSlice();
begin
{$IFDEF SMART}
SMART_Server := 1;
SMART_Members := False;
SMART_Signed := True;
SMART_SuperDetail := False;
{$ENDIF}
sliceMap();
end;

begin
clearDebug();
activateClient();
setupSRL();

mainloop();
if (MAP_CREATE) then
begin
{$IFDEF SMART}
SMART_Server := 1;
SMART_Members := False;
SMART_Signed := True;
SMART_SuperDetail := False;
{$ENDIF}

activateClient();
setupSRL();

if (not(loggedIn)) then
begin
writeln('Please login your player');
terminateScript();
end;

mainloopMap();
end;

if (MAP_SLICE) then
mainloopSlice();
end.

0 comments on commit ad6d840

Please sign in to comment.