Screenshot instructions:
Windows
Mac
Red Hat Linux
Ubuntu
Click URL instructions:
Right-click on ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)
You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(35) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(354) |
Feb
(363) |
Mar
(542) |
Apr
(494) |
May
(232) |
Jun
(349) |
Jul
(221) |
Aug
(154) |
Sep
(124) |
Oct
(89) |
Nov
(121) |
Dec
(133) |
2003 |
Jan
(279) |
Feb
(490) |
Mar
(448) |
Apr
(295) |
May
(151) |
Jun
(209) |
Jul
(367) |
Aug
(371) |
Sep
(284) |
Oct
(492) |
Nov
(540) |
Dec
(240) |
2004 |
Jan
(381) |
Feb
(497) |
Mar
(556) |
Apr
(394) |
May
(332) |
Jun
(263) |
Jul
(533) |
Aug
(348) |
Sep
(398) |
Oct
(520) |
Nov
(511) |
Dec
(703) |
2005 |
Jan
(700) |
Feb
(354) |
Mar
(456) |
Apr
(300) |
May
(444) |
Jun
(405) |
Jul
(312) |
Aug
(480) |
Sep
(302) |
Oct
(660) |
Nov
(448) |
Dec
(658) |
2006 |
Jan
(543) |
Feb
(313) |
Mar
(293) |
Apr
(293) |
May
(244) |
Jun
(256) |
Jul
(257) |
Aug
(194) |
Sep
(64) |
Oct
(174) |
Nov
(340) |
Dec
(250) |
2007 |
Jan
(281) |
Feb
(350) |
Mar
(245) |
Apr
(348) |
May
(262) |
Jun
(188) |
Jul
(233) |
Aug
(303) |
Sep
(426) |
Oct
(470) |
Nov
(181) |
Dec
(242) |
2008 |
Jan
(176) |
Feb
(268) |
Mar
(253) |
Apr
(136) |
May
(198) |
Jun
(207) |
Jul
(134) |
Aug
(166) |
Sep
(65) |
Oct
(113) |
Nov
(248) |
Dec
(222) |
2009 |
Jan
(170) |
Feb
(163) |
Mar
(247) |
Apr
(225) |
May
(202) |
Jun
(84) |
Jul
(281) |
Aug
(138) |
Sep
(292) |
Oct
(118) |
Nov
(140) |
Dec
(278) |
2010 |
Jan
(304) |
Feb
(219) |
Mar
(110) |
Apr
(88) |
May
(94) |
Jun
(53) |
Jul
(74) |
Aug
(98) |
Sep
(63) |
Oct
(90) |
Nov
(134) |
Dec
(216) |
2011 |
Jan
(166) |
Feb
(179) |
Mar
(94) |
Apr
(82) |
May
(140) |
Jun
(141) |
Jul
(92) |
Aug
(56) |
Sep
(35) |
Oct
(38) |
Nov
(75) |
Dec
(187) |
2012 |
Jan
(96) |
Feb
(49) |
Mar
(36) |
Apr
(111) |
May
(87) |
Jun
(28) |
Jul
(40) |
Aug
(15) |
Sep
(28) |
Oct
(23) |
Nov
(18) |
Dec
(32) |
2013 |
Jan
(44) |
Feb
(53) |
Mar
(32) |
Apr
(46) |
May
(16) |
Jun
(10) |
Jul
(19) |
Aug
(31) |
Sep
(55) |
Oct
(110) |
Nov
(105) |
Dec
(108) |
2014 |
Jan
(76) |
Feb
(70) |
Mar
(59) |
Apr
(125) |
May
(28) |
Jun
(9) |
Jul
(10) |
Aug
(20) |
Sep
(34) |
Oct
(52) |
Nov
(29) |
Dec
(17) |
2015 |
Jan
(18) |
Feb
(17) |
Mar
(17) |
Apr
|
May
(1) |
Jun
(8) |
Jul
(6) |
Aug
(3) |
Sep
|
Oct
|
Nov
(1) |
Dec
(2) |
2016 |
Jan
(10) |
Feb
(42) |
Mar
(65) |
Apr
(44) |
May
(23) |
Jun
(9) |
Jul
(4) |
Aug
(3) |
Sep
(1) |
Oct
|
Nov
(3) |
Dec
(24) |
2017 |
Jan
(5) |
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
(3) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2018 |
Jan
|
Feb
(1) |
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
|
|
|
|
1
(6) |
2
(3) |
3
(1) |
4
(2) |
5
(1) |
6
(1) |
7
(1) |
8
|
9
(1) |
10
(8) |
11
(5) |
12
(4) |
13
(3) |
14
|
15
(6) |
16
(7) |
17
(8) |
18
(11) |
19
(13) |
20
(12) |
21
(7) |
22
(10) |
23
(6) |
24
(2) |
25
(6) |
26
(19) |
27
(2) |
28
(19) |
29
(3) |
30
(2) |
31
(18) |
From: <magodra@us...> - 2011-12-06 20:06:26
|
Revision: 7791 http://planeshift.svn.sourceforge.net/planeshift/?rev=7791&view=rev Author: magodra Date: 2011-12-06 20:06:19 +0000 (Tue, 06 Dec 2011) Log Message: ----------- Added new /path move command to move waypoints or path points using the ID or name as the key. Modified Paths: -------------- trunk/data/help.xml trunk/src/common/util/pspath.cpp trunk/src/common/util/pspath.h trunk/src/common/util/pspathnetwork.cpp trunk/src/common/util/pspathnetwork.h trunk/src/server/adminmanager.cpp trunk/src/server/adminmanager.h Modified: trunk/data/help.xml =================================================================== --- trunk/data/help.xml 2011-12-05 20:17:08 UTC (rev 7790) +++ trunk/data/help.xml 2011-12-06 20:06:19 UTC (rev 7791) @@ -1424,6 +1424,7 @@ /path hide /path help /path info +/path move /path point /path remove /path rename @@ -1526,6 +1527,13 @@ Show info about the nearest path or waypoint.</content> </Contents> </topic> + <topic name="/path move"> + <Contents> + <content type="text">/path move [wp|path] <id>|<name> + +Move the waypoint or path point to your current position.</content> + </Contents> + </topic> <topic name="/path point"> <Contents> <content type="text">/path point @@ -2038,4 +2046,4 @@ tellnpcinternal write --> -<!--- example to use for icons: <content type="pic" src="ButtonLook;ButtonOpen;ButtonPush" align="0" width="200" height="200" padding="20"/> --> \ No newline at end of file +<!--- example to use for icons: <content type="pic" src="ButtonLook;ButtonOpen;ButtonPush" align="0" width="200" height="200" padding="20"/> --> Modified: trunk/src/common/util/pspath.cpp =================================================================== --- trunk/src/common/util/pspath.cpp 2011-12-05 20:17:08 UTC (rev 7790) +++ trunk/src/common/util/pspath.cpp 2011-12-06 20:06:19 UTC (rev 7791) @@ -652,8 +652,24 @@ return count; } +psPathPoint* psPath::FindPoint(int id) +{ + size_t count = 0; + for (size_t i = 0; i < points.GetSize(); i++) + { + psPathPoint* point = points[i]; + if (point->GetID() == id) + { + return point; + } + } + return NULL; +} + + + //--------------------------------------------------------------------------- psLinearPath::psLinearPath(csString name, Waypoint * wp1, Waypoint * wp2, const psString flagStr) Modified: trunk/src/common/util/pspath.h =================================================================== --- trunk/src/common/util/pspath.h 2011-12-05 20:17:08 UTC (rev 7790) +++ trunk/src/common/util/pspath.h 2011-12-06 20:06:19 UTC (rev 7791) @@ -207,6 +207,9 @@ /// Get all points in the given sector for this path size_t FindPointsInSector(iEngine * engine, iSector *sector, csList<psPathPoint*>& list); + /// Get Path Point by Index + psPathPoint* FindPoint(int id); + protected: /// Do the actual precalculate work virtual void PrecalculatePath(psWorld * world, iEngine *engine) = 0; Modified: trunk/src/common/util/pspathnetwork.cpp =================================================================== --- trunk/src/common/util/pspathnetwork.cpp 2011-12-05 20:17:08 UTC (rev 7790) +++ trunk/src/common/util/pspathnetwork.cpp 2011-12-06 20:06:19 UTC (rev 7791) @@ -358,7 +358,18 @@ return -1; } +psPathPoint* psPathNetwork::FindPathPoint(int id) +{ + for (size_t p = 0; p < paths.GetSize()-1; p++) + { + psPathPoint* point = paths[p]->FindPoint(id); + if (point) return point; + } + return NULL; +} + + psPath *psPathNetwork::FindNearestPath(csVector3& v,iSector *sector, float range, float * found_range, int * index, float * fraction) { psPath * found = NULL; Modified: trunk/src/common/util/pspathnetwork.h =================================================================== --- trunk/src/common/util/pspathnetwork.h 2011-12-05 20:17:08 UTC (rev 7790) +++ trunk/src/common/util/pspathnetwork.h 2011-12-06 20:06:19 UTC (rev 7791) @@ -115,6 +115,11 @@ * Find the index for the given group name, return -1 if no group is found. */ int FindWaypointGroup(const char * groupName); + + /** + * Find waypoint by id + */ + psPathPoint* FindPathPoint(int id); /** * Find the path nearest to a point in the world. Modified: trunk/src/server/adminmanager.cpp =================================================================== --- trunk/src/server/adminmanager.cpp 2011-12-05 20:17:08 UTC (rev 7790) +++ trunk/src/server/adminmanager.cpp 2011-12-06 20:06:19 UTC (rev 7791) @@ -2802,6 +2802,7 @@ subCommandList.Push("help","[sub command]"); subCommandList.Push("hide","[points|waypoints]"); subCommandList.Push("info","[<radius>]"); + subCommandList.Push("move","[wp|path] <id>|<name>"); subCommandList.Push("radius","<new radius> [<radius>]"); subCommandList.Push("remove","[<radius>]"); subCommandList.Push("rename","[<radius>] <name>"); @@ -2901,6 +2902,40 @@ { radius = words.GetFloat(index++); } + // move reqire at least one further word + else if (subCmd == "move") + { + csString wpOrPath = words[index++]; + if (wpOrPath != "wp" && wpOrPath != "path") + { + ParseError(me,"You have to select either wp or path."); + } + else + { + wpOrPathIsWP = (wpOrPath == "wp"); + + int id = -1; + if (words.GetCount() <= index) + { + ParseError(me,"Expected either id or name."); + } else if (words.GetInt(index,id)) // Is it an id? + { + // We got an id + waypointPathIndex = id; + wpOrPathIsIndex = true; + } else + { + // We got a name + waypointPathName = words[index]; + wpOrPathIsIndex = false; + + if ( !wpOrPathIsWP ) + { + ParseError(me,"Name not supported for points."); + } + } + } + } else if (subCmd == "point") { // No params @@ -6256,7 +6291,7 @@ "Found point(%d) %d of path: %s(%d) at range %.2f\n" "Start WP: %s(%d) End WP: %s(%d)\n" "Flags: %s", - pathPoint->GetID(),indexPoint,pathPoint->GetName(), + point->GetID(),indexPoint,pathPoint->GetName(), pathPoint->GetID(),rangePoint, pathPoint->start->GetName(),pathPoint->start->GetID(), pathPoint->end->GetName(),pathPoint->end->GetID(), @@ -6281,6 +6316,86 @@ } } + else if (data->subCmd == "move") + { + if (data->wpOrPathIsWP) // Request to move a waypoint + { + Waypoint* wp = NULL; + + if (data->wpOrPathIsIndex) + { + wp = pathNetwork->FindWaypoint(data->waypointPathIndex); + } + else + { + wp = pathNetwork->FindWaypoint(data->waypointPathName.GetDataSafe()); + } + + if (wp) + { + if (wp->Adjust(db,myPos,mySectorName)) + { + if (client->WaypointIsDisplaying()) + { + psEffectMessage msg(me->clientnum,"admin_waypoint",myPos,0,0,client->PathGetEffectID(),wp->GetRadius()); + msg.SendMessage(); + } + + psserver->SendSystemInfo(me->clientnum, + "Moved waypoint %s(%d)", + wp->GetName(), wp->GetID()); + } + } + else + { + if (data->wpOrPathIsIndex) + { + psserver->SendSystemInfo(me->clientnum, "No waypoint found for index: %d", data->waypointPathIndex ); + } + else + { + psserver->SendSystemInfo(me->clientnum, "No waypoint found for name: %s", data->waypointPathName.GetData() ); + } + return; + } + } + else // Request to move a path point + { + psPathPoint* point = NULL; + + if (data->wpOrPathIsIndex) + { + point = pathNetwork->FindPathPoint(data->waypointPathIndex); + } + else + { + psserver->SendSystemInfo(me->clientnum, "Not supported." ); + // point = pathNetwork->FindPathPoint(data->waypointPathName.GetDataSafe()); + return; + } + + if (point) + { + if (point->Adjust(db,myPos,mySectorName)) + { + if (client->PathIsDisplaying()) + { + psEffectMessage msg(me->clientnum,"admin_path_point",myPos,0,0,client->PathGetEffectID(),point->GetRadius()); + msg.SendMessage(); + } + + psserver->SendSystemInfo(me->clientnum, + "Adjusted point(%d)", + point->GetID()); + } + } + else + { + psserver->SendSystemInfo(me->clientnum, "No point found" ); + return; + } + } + } else if (data->subCmd == "select") { float range; Modified: trunk/src/server/adminmanager.h =================================================================== --- trunk/src/server/adminmanager.h 2011-12-05 20:17:08 UTC (rev 7790) +++ trunk/src/server/adminmanager.h 2011-12-06 20:06:19 UTC (rev 7791) @@ -2214,6 +2214,8 @@ csString waypointFlags; ///< waypoint flags csString pathFlags; ///< path flags csString cmdTarget; ///< 'W' or 'P' as a target for hide/show + int waypointPathIndex; ///< Index of the wp or point + bool wpOrPathIsIndex; ///< True when an index is used. /** @brief Creates obj for specified command that manipulate paths. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |