Quantcast
WOD/Pre-patch - Page 37 - WoWInterface
 
Thread Tools Display Modes
12-09-14, 09:01 PM   #721
Boggtroll
A Deviate Faerie Dragon
Join Date: Oct 2014
Posts: 12
When i zone into Battle for Gilneas the Carbonite map freezes at whatever location i was at before zoning in and does not show the BG map.
 
12-09-14, 09:33 PM   #722
elals29
A Wyrmkin Dreamwalker
 
elals29's Avatar
Join Date: Mar 2008
Posts: 57
Originally Posted by Boggtroll View Post
https://github.com/Rythal/Carbonite

It is in development. so far i find it fine to use, but if you find bugs i would suggest searching this thread first before posting to make sure you are not double posting a known issue.
ok thanks for the info
 
12-10-14, 03:17 AM   #723
ircdirk
A Molten Giant
 
ircdirk's Avatar
AddOn Author - Click to view addons
Join Date: Nov 2014
Posts: 805
Ok, seems that my quest scrapper works good. Now im testing quests in game.

But i found that many quest has changed since their Quests lua was generated. So for now ill generate Quests luas for 86-90 and 91-100 then i think i redo all others.
 
12-10-14, 04:12 AM   #724
samyonair
A Frostmaul Preserver
 
samyonair's Avatar
Join Date: May 2009
Posts: 257
Sorry for last days

Sorry I had a Problem with my Provider, Last days since friday I had no connection by Line only with an UMTS Stick thats why I was not able to merge I will do the conflicted merge Pull requests If my back will let me do.

Greetings

Samyonair
 
12-10-14, 04:50 AM   #725
nelegalno2
A Flamescale Wyrmkin
Join Date: Dec 2014
Posts: 132
If you need help I can probably fix the other 3 pull request.
 
12-10-14, 05:02 AM   #726
atl77
A Chromatic Dragonspawn
Join Date: Oct 2014
Posts: 179
Originally Posted by ircdirk View Post
Ok, seems that my quest scrapper works good. Now im testing quests in game.

But i found that many quest has changed since their Quests lua was generated. So for now ill generate Quests luas for 86-90 and 91-100 then i think i redo all others.
If you need help testing, let me know. I do have some time after work - and some chars on level 85/90.
 
12-10-14, 05:27 AM   #727
ircdirk
A Molten Giant
 
ircdirk's Avatar
AddOn Author - Click to view addons
Join Date: Nov 2014
Posts: 805
Originally Posted by atl77 View Post
If you need help testing, let me know. I do have some time after work - and some chars on level 85/90.
Ok, ill let u now when i need help But there is one thing u can do. Sometimes theres more than 100 cords for one objective so maybe u can change your functions not to be limited to 100 points???

Another thing is that some quests have more than 1000 cords per objective in wowhead db. So the quest file will be so large that it will make load WoW much much longer. I think like max 100-200 cords for objective will be fine but dont know how to choose them. First 100 wouldnt be good in this case...
 
12-10-14, 05:33 AM   #728
atl77
A Chromatic Dragonspawn
Join Date: Oct 2014
Posts: 179
Originally Posted by ircdirk View Post
Ok, ill let u now when i need help But there is one thing u can do. Sometimes theres more than 100 cords for one objective so maybe u can change your functions not to be limited to 100 points???

Another thing is that some quests have more than 1000 cords per objective in wowhead db. So the quest file will be so large that it will make load WoW much much longer. I think like max 100-200 cords for objective will be fine but dont know how to choose them. First 100 wouldnt be good in this case...
It is not limited in amount of coords, it is just that the x/y coordinates on the grid are limited to 0-99, because that is actually the case. The corresponding code is this:

Code:
for ($c = 0; $c < count($coords); $c++) { ...
This takes all coordinates, not only the first 100.

But here's an idea: you could pre-filter the coords - those that rounded amount to the same point doesn't need to run through the bresenham algorithm once more - this could improve the speed on those objective with more than 1000 points:

Code:
function coords2grid($coords, $radius = 5, $shrink) {
	$grid = newgrid();
	$points = newgrid();

	for ($c = 0; $c < count($coords); $c++) {
		$cx = round($coords[$c]['x']);
		$cy = round($coords[$c]['y']);

		if ($points[$cx][$cy] == 1) { continue; }
		$points[$cx][$cy] = 1;

		$rx = $radius;
		$ry = 0;
		$rerr = $radius;
                ...

Last edited by atl77 : 12-10-14 at 05:37 AM.
 
12-10-14, 05:45 AM   #729
ircdirk
A Molten Giant
 
ircdirk's Avatar
AddOn Author - Click to view addons
Join Date: Nov 2014
Posts: 805
Originally Posted by atl77 View Post
It is not limited in amount of coords, it is just that the x/y coordinates on the grid are limited to 0-99, because that is actually the case. The corresponding code is this:

Code:
for ($c = 0; $c < count($coords); $c++) { ...
This takes all coordinates, not only the first 100.
Yep, thats my bad, i didnt saw that.


But here's an idea: you could pre-filter the coords - those that rounded amount to the same point doesn't need to run through the bresenham algorithm once more - this could improve the speed on those objective with more than 1000 points:

Code:
function coords2grid($coords, $radius = 5, $shrink) {
	$grid = newgrid();
	$points = newgrid();

	for ($c = 0; $c < count($coords); $c++) {
		$cx = round($coords[$c]['x']);
		$cy = round($coords[$c]['y']);

		if ($points[$cx][$cy] == 1) { continue; }
		$points[$cx][$cy] = 1;

		$rx = $radius;
		$ry = 0;
		$rerr = $radius;
                ...
If u have time u can write me such rounding function in PHP, couse i have problem with objectives order which i have to handle first.

^^ Never mind I have already written it myself!

Last edited by ircdirk : 12-10-14 at 06:06 AM.
 
12-10-14, 06:22 AM   #730
atl77
A Chromatic Dragonspawn
Join Date: Oct 2014
Posts: 179
Originally Posted by ircdirk View Post
Yep, thats my bad, i didnt saw that.



If u have time u can write me such rounding function in PHP, couse i have problem with objectives order which i have to handle first.

^^ Never mind I have already written it myself!
I have shown you the changed beginning of the function that does indeed stop coordinates with the same rounded values to be processed twice... so there was no need to write anything yourself. Never mind.
 
12-10-14, 06:26 AM   #731
ircdirk
A Molten Giant
 
ircdirk's Avatar
AddOn Author - Click to view addons
Join Date: Nov 2014
Posts: 805
Originally Posted by atl77 View Post
I have shown you the changed beginning of the function that does indeed stop coordinates with the same rounded values to be processed twice... so there was no need to write anything yourself. Never mind.
Im keeping objective coords in database so ill just filter them before saving to database this way scrapper will work faster.
 
12-10-14, 06:28 AM   #732
atl77
A Chromatic Dragonspawn
Join Date: Oct 2014
Posts: 179
Originally Posted by ircdirk View Post
Im keeping objective coords in database so ill just filter them before saving to database this way scrapper will work faster.
Using less data is also better for the RAM consumption; the modified bresenham should be rather fast anyway. Well done.
 
12-10-14, 06:49 AM   #733
samyonair
A Frostmaul Preserver
 
samyonair's Avatar
Join Date: May 2009
Posts: 257
Pull Requests

I Have merged the open Pull requests only 1 Open at the moment, but that one Rythal should look over because support vor lib2.0 then is out.

I know its outdated but to be sure if rythal wants it I leave it opened

Nelegano thanks for your offer but if you have freetime can you help powerstk to get his code clean, to have it easier to merge later?

Greetings samyonair

PS and Nelegano thank you for your links in the Zone.lua file it makes translation for Zones very easy because if you follow the link and change the www to the Language you have the translation :-)

Last edited by samyonair : 12-10-14 at 06:52 AM. Reason: added PS
 
12-10-14, 07:55 AM   #734
ircdirk
A Molten Giant
 
ircdirk's Avatar
AddOn Author - Click to view addons
Join Date: Nov 2014
Posts: 805
Code:
function coords2grid($coords, $radius = 5, $shrink) {
	$grid = newgrid();
	$points = newgrid();

	for ($c = 0; $c < count($coords); $c++) {
		$cx = round($coords[$c]['x']);
		$cy = round($coords[$c]['y']);

		if ($points[$cx][$cy] == 1) { continue; }
		$points[$cx][$cy] = 1;

		$rx = $radius;
		$ry = 0;
		$rerr = $radius;
                ...
After testing i see that cords must be 2 points after digit becouse they will not show on map in the right place. So rounding them like that puts them on the map in bad spot. Also result coords MUST be 2 points after digit (2 points precision must be used everywere). Atl77 can u make changes to your script?

Another thing is that after calculation every point has height = 1, but height must be calculated also becouse the result is like this:


Last edited by ircdirk : 12-10-14 at 08:10 AM.
 
12-10-14, 08:15 AM   #735
atl77
A Chromatic Dragonspawn
Join Date: Oct 2014
Posts: 179
@ircdirk, can you provide me some coords output of your database that I can test my scripts with? In addition, you could just add ".00" to any number.
 
12-10-14, 08:31 AM   #736
ircdirk
A Molten Giant
 
ircdirk's Avatar
AddOn Author - Click to view addons
Join Date: Nov 2014
Posts: 805
Originally Posted by atl77 View Post
@ircdirk, can you provide me some coords output of your database that I can test my scripts with? In addition, you could just add ".00" to any number.
But the problem is not with cords being like 40 or 40.00, its problem with cords before calculation are 40.23 and after its 40 (like they are rounded somewere to integer).

Yes, one quest will be enough? This quest has 3 objectives:

Code:
$q = array (
  0 => 
  array (
    0 => 
    array (
      'x' => '68.20',
      'y' => '38.00',
    ),
    1 => 
    array (
      'x' => '68.40',
      'y' => '37.00',
    ),
    2 => 
    array (
      'x' => '68.40',
      'y' => '38.60',
    ),
    3 => 
    array (
      'x' => '68.60',
      'y' => '37.00',
    ),
    4 => 
    array (
      'x' => '68.80',
      'y' => '38.00',
    ),
  ),
  1 => 
  array (
    0 => 
    array (
      'x' => '66.40',
      'y' => '37.40',
    ),
    1 => 
    array (
      'x' => '66.40',
      'y' => '37.60',
    ),
    2 => 
    array (
      'x' => '66.40',
      'y' => '39.40',
    ),
    3 => 
    array (
      'x' => '66.40',
      'y' => '39.60',
    ),
    4 => 
    array (
      'x' => '66.60',
      'y' => '37.40',
    ),
    5 => 
    array (
      'x' => '66.60',
      'y' => '38.40',
    ),
    6 => 
    array (
      'x' => '66.60',
      'y' => '38.60',
    ),
    7 => 
    array (
      'x' => '66.60',
      'y' => '39.60',
    ),
  ),
  2 => 
  array (
    0 => 
    array (
      'x' => '64.40',
      'y' => '40.80',
    ),
    1 => 
    array (
      'x' => '64.60',
      'y' => '40.60',
    ),
  ),
);

Last edited by ircdirk : 12-10-14 at 08:34 AM.
 
12-10-14, 08:40 AM   #737
atl77
A Chromatic Dragonspawn
Join Date: Oct 2014
Posts: 179
Rounding the numbers is intended. We need to compile boxes within an 100x100 grid, at least that is what my script does. Can you please provide me the corresponding output for your example? Otherwise I cannot figure out what went wrong.
 
12-10-14, 08:50 AM   #738
ircdirk
A Molten Giant
 
ircdirk's Avatar
AddOn Author - Click to view addons
Join Date: Nov 2014
Posts: 805
Originally Posted by atl77 View Post
Rounding the numbers is intended. We need to compile boxes within an 100x100 grid, at least that is what my script does. Can you please provide me the corresponding output for your example? Otherwise I cannot figure out what went wrong.
But what u need? Coords for Quest that i showed in screenshot? Or what?

We have to rewrite this function that makes grid to work with floats (with 2 point precision) or multiply cords with 100 and after calculation we can divide it with 100, but dont know if it will work...
 
12-10-14, 08:52 AM   #739
atl77
A Chromatic Dragonspawn
Join Date: Oct 2014
Posts: 179
Originally Posted by ircdirk View Post
But what u need? Coords for Quest that i showed in screenshot? Or what?

So we have to rewrite this function that makes grid to work with floats with 2 point precision or muliply cords with 100 and after calculation we can divide it with 100, but dont know if it will work...
What I meant is the coords input/carbonite output that lead to whatever was shown on that screenshot.

Currently my grid is 100x100 discrete "pixel" and the boxes are calculated in that pixels. I can increase the resolution rather easily, but that will also increase the amount of things the script needs to do to calculate the boxes.
 
12-10-14, 09:54 AM   #740
nelegalno2
A Flamescale Wyrmkin
Join Date: Dec 2014
Posts: 132
Originally Posted by samyonair View Post
...
Nelegano thanks for your offer but if you have freetime can you help powerstk to get his code clean, to have it easier to merge later?
...
I see you have already merged it, but there seems to be an error on line 47 in Carbonite.Quests/Locales/frFR.lua: https://github.com/Rythal/Carbonite/...omment-8911495

P.S. If powerstk or someone else need help with github feel free to ask, can't promise I'll be able to help but I can at least try to.

BTW Has anyone checked https://github.com/dratr/Carbonite/c.../mergedmaster2? It seems interesting and yet the author haven't yet submitted a pull request. If he is lurking here can we have a few words from him/her?

Last edited by nelegalno2 : 12-10-14 at 10:09 AM.
 
 

WoWInterface » Featured Projects » Carbonite » Carbonite Archive » WOD/Pre-patch

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off