SRL Archive - Research & Development Lounge

Dungeoneering Items


Le Jingle

2012-06-10 22:32:40

Intention:
I've started a little development in grabbing DTM's for all Dungeoneering Items, in which I hope to help the community through the process of dungeoneering with color :3

Overview:
I've grabbed every name, and made an include type file, pretty much alike the frequent BMP loading include. I simply replaced bmp parts with DTMs, and have about 1k constants / items overall. This doesn't include a portion of the items, in which I'm still determining whether or not to bother as it's a small area that I might not make a DTM for - we'll see when I get there how that goes.

Currently:
I'm currently making sure all the DTM's are unique; in dungeoneering there are many items that look very similair to one another. Also items shapes tend to distort (DTMs for the win!) as well as change their colour (i.e. binding an item slightly shifts the item's colour).

I've also progressed through ~600 items of the 1k+ items. I'm running into the harder variety of items, such as pots, summoning scrolls, and arrow tips that make it a bit of a challenge to differ one from another.

Future:
After accomplishing the item DTM stage, I hope to tackle some bosses and puzzle rooms; I throughly enjoy the skill, and this will help keep me interested to the skill, given my progress in the skill in general (confusing on purpose).

Also, the file size stands at about ~188kb so I assume I'll have to setup villavu's paste thing to upload :p

~Cheers

E: Arrow Progress - http://villavu.com/forum/showthread.php?t=84250

E2: I'm strongly thinking about moving to all BMP's as some DTM's are still returning falsely positive for similar items :s

E3: Suggested methods for getting precise findings for each item is more than welcomed! I have the time on my hands, however right now I'm still in the early stages of perfecting unique DTM locating. For now I'll just be testing / practicing getting as close to perfect results as I can!

E4: currently on hiatus w/ this until safe mode doesn't flicker/glitch the graphical image of the items… :s

Abu

2012-06-11 01:35:42

You have been doing exactly what I have thinking of doing for a very long time, I however do not have the time :(

For you problem with similar items returning positive with the same DTM, put your main(first) point in the center of the object and then don't be afraid to put multiple points around the outline of the object (taking into account item distortion)

I know some users like Demise like to say keep all your points within the item, but I find more success if I put them in the outline. Then all you have to do is fine-tune the tolerance of the main(first) point till it only returns positive for the Item you want it to.

xtrapsp

2012-06-11 01:56:55

I'm actually in charge of getting DTMS for the Dungeoneering production with zmon… mind if i see your list? :)

Abu

2012-06-11 02:09:13

From: xtrapsp
I'm actually in charge of getting DTMS for the Dungeoneering production with zmon… mind if i see your list? :)


You see the problem is this Dungeoneering script which is currently being developed isn't organised enough.

Tell zmon (because he's in charge?) to make a main thread with info on whose doing what - I would really like to see the overall progress being made.

EDIT: Already found this, my bad :)

Le Jingle

2012-06-11 03:23:08

Arg! I can't view lol, oh well, perhaps in due time.

As for my list, my layout is that of the srl bitmap include. If you need the item list, I could fetch that, however my DTM's to particular I don't know if they're decent. I've to test much of them for false positives, in case I used too high of a tolerance.

Perhaps I should focus my attention to a different part of the community - or if there's anything else I can help with, you can let me know here! :)

Le Jingle

2012-06-11 19:45:43

Here's my const list, I've removed arrows-related stuff and poisoned stuff, which I'll get to working on asap.



GroupGS = 0;
PersonalGS = 1;
Magical_blastbox = 2;
Plain_ring = 3;
Red_ring = 4;
Green_ring = 5;
Blue_ring = 6;
Empty_vial = 7;
Filled_vial = 8;
Thread = 9;
Chisel = 10;
Bow_string = 11;
Feather = 12;
Anti_dragon_shield = 13;
Tinderbox = 14;
Hammer = 15;
Knife = 16;
Needle = 17;
Fly_fish_rod = 18;
Antipoison = 19;
Banana = 20;
Gold_one = 21;
Gold_two = 22;
Gold_three = 23;
Gold_four = 24;
Gold_five = 25;
Gold_twenty_five = 26;
Gold_one_hundred = 27;
Gold_two_hundred_fifty = 28;
Gold_thousand = 29;
Gold_ten_k = 30;
Orb_of_oculus = 31;
Mad_Necklace = 32;
Promethium_ore = 33;
Gorgonite_ore = 34;
Katagon_ore = 35;
Argonite_ore = 36;
Zephyrium_ore = 37;
Fractite_ore = 38;
Kratonite_ore = 39;
Marmaros_ore = 40;
Bathus_ore = 41;
Novite_ore = 42;
Promethium_bar = 43;
Gorgonite_bar = 44;
Katagon_bar = 45;
Argonite_bar = 46;
Zephyrium_bar = 47;
Fractite_bar = 48;
Kratonite_bar = 49;
Marmaros_bar = 50;
Bathus_bar = 51;
Novite_bar = 52;
Promethium_dagger = 53;
Promethium_boots = 54;
Promethium_gauntlets = 55;
Promethium_hatchet = 56;
Promethium_pickaxe = 57;
Promethium_warhammer = 58;
Promethium_rapier = 59;
Promethium_longsword = 60;
Promethium_full_helm = 61;
Promethium_battleaxe = 62;
Promethium_kiteshield = 63;
Promethium_chainbody = 64;
Promethium_platelegs = 65;
Promethium_plateskirt = 66;
Promethium_spear = 67;
Promethium_maul = 68;
Promethium_twohand = 69;
Promethium_platebody = 70;
Gorgonite_dagger = 71;
Gorgonite_boots = 72;
Gorgonite_gauntlets = 73;
Gorgonite_hatchet = 74;
Gorgonite_pickaxe = 75;
Gorgonite_warhammer = 76;
Gorgonite_rapier = 77;
Gorgonite_longsword = 78;
Gorgonite_full_helm = 79;
Gorgonite_battleaxe = 80;
Gorgonite_kiteshield = 81;
Gorgonite_chainbody = 82;
Gorgonite_platelegs = 83;
Gorgonite_plateskirt = 84;
Gorgonite_spear = 85;
Gorgonite_maul = 86;
Gorgonite_twohand = 87;
Gorgonite_platebody = 88;
Katagon_dagger = 89;
Katagon_boots = 90;
Katagon_gauntlets = 91;
Katagon_hatchet = 92;
Katagon_pickaxe = 93;
Katagon_warhammer = 94;
Katagon_rapier = 95;
Katagon_longsword = 96;
Katagon_full_helm = 97;
Katagon_battleaxe = 98;
Katagon_kiteshield = 99;
Katagon_chainbody = 100;
Katagon_platelegs = 101;
Katagon_plateskirt = 102;
Katagon_spear = 103;
Katagon_maul = 104;
Katagon_twohand = 105;
Katagon_platebody = 106;
Argonite_dagger = 107;
Argonite_boots = 108;
Argonite_gauntlets = 109;
Argonite_hatchet = 110;
Argonite_pickaxe = 111;
Argonite_warhammer = 112;
Argonite_rapier = 113;
Argonite_longsword = 114;
Argonite_full_helm = 115;
Argonite_battleaxe = 116;
Argonite_kiteshield = 117;
Argonite_chainbody = 118;
Argonite_platelegs = 119;
Argonite_plateskirt = 120;
Argonite_spear = 121;
Argonite_maul = 122;
Argonite_twohand = 123;
Argonite_platebody = 124;
Zephyrium_dagger = 125;
Zephyrium_boots = 126;
Zephyrium_gauntlets = 127;
Zephyrium_hatchet = 128;
Zephyrium_pickaxe = 129;
Zephyrium_warhammer = 130;
Zephyrium_rapier = 131;
Zephyrium_longsword = 132;
Zephyrium_full_helm = 133;
Zephyrium_battleaxe = 134;
Zephyrium_kiteshield = 135;
Zephyrium_chainbody = 136;
Zephyrium_platelegs = 137;
Zephyrium_plateskirt = 138;
Zephyrium_spear = 139;
Zephyrium_maul = 140;
Zephyrium_twohand = 141;
Zephyrium_platebody = 142;
Fractite_dagger = 143;
Fractite_boots = 144;
Fractite_gauntlets = 145;
Fractite_hatchet = 146;
Fractite_pickaxe = 147;
Fractite_warhammer = 148;
Fractite_rapier = 149;
Fractite_longsword = 150;
Fractite_full_helm = 151;
Fractite_battleaxe = 152;
Fractite_kiteshield = 153;
Fractite_chainbody = 154;
Fractite_platelegs = 155;
Fractite_plateskirt = 156;
Fractite_spear = 157;
Fractite_maul = 158;
Fractite_twohand = 159;
Fractite_platebody = 160;
Kratonite_dagger = 161;
Kratonite_boots = 162;
Kratonite_gauntlets = 163;
Kratonite_hatchet = 164;
Kratonite_pickaxe = 165;
Kratonite_warhammer = 166;
Kratonite_rapier = 167;
Kratonite_longsword = 168;
Kratonite_full_helm = 169;
Kratonite_battleaxe = 170;
Kratonite_kiteshield = 171;
Kratonite_chainbody = 172;
Kratonite_platelegs = 173;
Kratonite_plateskirt = 174;
Kratonite_spear = 175;
Kratonite_maul = 176;
Kratonite_twohand = 177;
Kratonite_platebody = 178;
Marmaros_dagger = 179;
Marmaros_boots = 180;
Marmaros_gauntlets = 181;
Marmaros_hatchet = 182;
Marmaros_pickaxe = 183;
Marmaros_warhammer = 184;
Marmaros_rapier = 185;
Marmaros_longsword = 186;
Marmaros_full_helm = 187;
Marmaros_battleaxe = 188;
Marmaros_kiteshield = 189;
Marmaros_chainbody = 190;
Marmaros_platelegs = 191;
Marmaros_plateskirt = 192;
Marmaros_spear = 193;
Marmaros_maul = 194;
Marmaros_twohand = 195;
Marmaros_platebody = 196;
Bathus_dagger = 197;
Bathus_boots = 198;
Bathus_gauntlets = 199;
Bathus_hatchet = 200;
Bathus_pickaxe = 201;
Bathus_warhammer = 202;
Bathus_rapier = 203;
Bathus_longsword = 204;
Bathus_full_helm = 205;
Bathus_battleaxe = 206;
Bathus_kiteshield = 207;
Bathus_chainbody = 208;
Bathus_platelegs = 209;
Bathus_plateskirt = 210;
Bathus_spear = 211;
Bathus_maul = 212;
Bathus_twohand = 213;
Bathus_platebody = 214;
Novite_dagger = 215;
Novite_boots = 216;
Novite_gauntlets = 217;
Novite_hatchet = 218;
Novite_pickaxe = 219;
Novite_warhammer = 220;
Novite_rapier = 221;
Novite_longsword = 222;
Novite_full_helm = 223;
Novite_battleaxe = 224;
Novite_kiteshield = 225;
Novite_chainbody = 226;
Novite_platelegs = 227;
Novite_plateskirt = 228;
Novite_spear = 229;
Novite_maul = 230;
Novite_twohand = 231;
Novite_platebody = 232;
Raw_cave_moray = 233;
Raw_blue_crab = 234;
Raw_salve_eel = 235;
Raw_bouldabass = 236;
Raw_web_snipper = 237;
Raw_short_fin_eel = 238;
Raw_giant_flatfish = 239;
Raw_dusk_eel = 240;
Raw_red_eye = 241;
Raw_heim_crab = 242;
Cave_moray = 243;
Blue_crab = 244;
Salve_eel = 245;
Bouldabass = 246;
Web_snipper = 247;
Short_fin_eel = 248;
Giant_flatfish = 249;
Dusk_eel = 250;
Red_eye = 251;
Heim_crab = 252;
Cave_moray_pot = 253;
Cave_moray_giss_pot = 254;
Cave_moray_edi_pot = 255;
Blue_crab_pot = 256;
Blue_crab_giss_pot = 257;
Blue_crab_edi_pot = 258;
Salve_eel_pot = 259;
Salve_eel_giss_pot = 260;
Salve_eel_edi_pot = 261;
Bouldabass_pot = 262;
Bouldabass_giss_pot = 263;
Bouldabass_edi_pot = 264;
Snipper_pot = 265;
Snipper_giss_pot = 266;
Snipper_edi_pot = 267;
Short_fin_eel_pot = 268;
Short_fin_eel_giss_pot = 269;
Short_fin_eel_edi_pot = 270;
Flatfish_pot = 271;
Flatfish_giss_pot = 272;
Flatfish_edi_pot = 273;
Dusk_eel_pot = 274;
Dusk_eel_giss_pot = 275;
Dusk_eel_edi_pot = 276;
Red_eye_pot = 277;
Red_eye_giss_pot = 278;
Red_eye_edi_pot = 279;
Heim_crab_pot = 280;
Heim_crab_giss_pot = 281;
Heim_crab_edi_pot = 282;
Raw_cave_potato = 283;
Cooked_cave_potato = 284;
Gissel_mushroom = 285;
Edicap_mushroom = 286;
Blue_charm = 287;
Crim_charm = 288;
Green_charm = 289;
Gold_charm = 290;
Proto_bag = 291;
Sub_bag = 292;
Para_bag = 293;
Arch_bag = 294;
Dromo_bag = 295;
Spino_bag = 296;
Galli_bag = 297;
Stego_bag = 298;
Mega_bag = 299;
Tyranno_bag = 300;
Sachem_rager = 301;
Sachem_slinger = 302;
Sachem_bringer = 303;
Sachem_stalker = 304;
Sachem_bearer = 305;
Sachem_weaver = 306;
Adept_rager = 307;
Adept_slinger = 308;
Adept_bringer = 309;
Adept_stalker = 310;
Adept_bearer = 311;
Adept_weaver = 312;
Wise_rager = 313;
Wise_slinger = 314;
Wise_bringer = 315;
Wise_stalker = 316;
Wise_bearer = 317;
Wise_weaver = 318;
Naabe_rager = 319;
Naabe_slinger = 320;
Naabe_bringer = 321;
Naabe_stalker = 322;
Naabe_bearer = 323;
Naabe_weaver = 324;
Brah_rager = 325;
Brah_slinger = 326;
Brah_bringer = 327;
Brah_stalker = 328;
Brah_bearer = 329;
Brah_weaver = 330;
Brave_rager = 331;
Brave_slinger = 332;
Brave_bringer = 333;
Brave_stalker = 334;
Brave_bearer = 335;
Brave_weaver = 336;
Keen_rager = 337;
Keen_slinger = 338;
Keen_bringer = 339;
Keen_stalker = 340;
Keen_bearer = 341;
Keen_weaver = 342;
Naive_rager = 343;
Naive_slinger = 344;
Naive_bringer = 345;
Naive_stalker = 346;
Naive_bearer = 347;
Naive_weaver = 348;
Little_rager = 349;
Little_slinger = 350;
Little_bringer = 351;
Little_stalker = 352;
Little_bearer = 353;
Little_weaver = 354;
Cub_rager = 355;
Cub_slinger = 356;
Cub_bringer = 357;
Cub_stalker = 358;
Cub_bearer = 359;
Cub_weaver = 360;
Sachem_rager_scrolls = 361;
Sachem_slinger_scrolls = 362;
Sachem_bringer_scrolls = 363;
Sachem_stalker_scrolls = 364;
Sachem_bearer_scrolls = 365;
Sachem_weaver_scrolls = 366;
Adept_rager_scrolls = 367;
Adept_slinger_scrolls = 368;
Adept_bringer_scrolls = 369;
Adept_stalker_scrolls = 370;
Adept_bearer_scrolls = 371;
Adept_weaver_scrolls = 372;
Wise_rager_scrolls = 373;
Wise_slinger_scrolls = 374;
Wise_bringer_scrolls = 375;
Wise_stalker_scrolls = 376;
Wise_bearer_scrolls = 377;
Wise_weaver_scrolls = 378;
Naabe_rager_scrolls = 379;
Naabe_slinger_scrolls = 380;
Naabe_bringer_scrolls = 381;
Naabe_stalker_scrolls = 382;
Naabe_bearer_scrolls = 383;
Naabe_weaver_scrolls = 384;
Brah_rager_scrolls = 385;
Brah_slinger_scrolls = 386;
Brah_bringer_scrolls = 387;
Brah_stalker_scrolls = 388;
Brah_bearer_scrolls = 389;
Brah_weaver_scrolls = 390;
Brave_rager_scrolls = 391;
Brave_slinger_scrolls = 392;
Brave_bringer_scrolls = 393;
Brave_stalker_scrolls = 394;
Brave_bearer_scrolls = 395;
Brave_weaver_scrolls = 396;
Keen_rager_scrolls = 397;
Keen_slinger_scrolls = 398;
Keen_bringer_scrolls = 399;
Keen_stalker_scrolls = 400;
Keen_bearer_scrolls = 401;
Keen_weaver_scrolls = 402;
Naive_rager_scrolls = 403;
Naive_slinger_scrolls = 404;
Naive_bringer_scrolls = 405;
Naive_stalker_scrolls = 406;
Naive_bearer_scrolls = 407;
Naive_weaver_scrolls = 408;
Little_rager_scrolls = 409;
Little_slinger_scrolls = 410;
Little_bringer_scrolls = 411;
Little_stalker_scrolls = 412;
Little_bearer_scrolls = 413;
Little_weaver_scrolls = 414;
Cub_rager_scrolls = 415;
Cub_slinger_scrolls = 416;
Cub_bringer_scrolls = 417;
Cub_stalker_scrolls = 418;
Cub_bearer_scrolls = 419;
Cub_weaver_scrolls = 420;
Grimy_sage = 421;
Grimy_val = 422;
Grimy_aloe = 423;
Grimy_worm = 424;
Grimy_mage = 425;
Grimy_feather = 426;
Grimy_winter = 427;
Grimy_lycopus = 428;
Grimy_buck = 429;
Clean_sage = 430;
Clean_val = 431;
Clean_aloe = 432;
Clean_worm = 433;
Clean_mage = 434;
Clean_feather = 435;
Clean_winter = 436;
clean_lycopus = 437;
Clean_buck = 438;
Firebreath_wisky = 439;
Red_moss = 440;
Void_dust = 441;
Misshapen_claw = 442;
w_magic_pot = 443;
w_range_pot = 444;
w_melee_pot = 445;
w_def_pot = 446;
w_stat_res_pot = 447;
w_cure_pot = 448;
w_rejuv_pot = 449;
w_poison_pot = 450;
w_gather_pot = 451;
w_art_pot = 452;
w_nat_pot = 453;
w_surv_pot = 454;
r_magic_pot = 455;
r_range_pot = 456;
r_melee_pot = 457;
r_def_pot = 458;
r_stat_res_pot = 459;
r_cure_pot = 460;
r_rejuv_pot = 461;
r_poison_pot = 462;
r_gather_pot = 463;
r_art_pot = 464;
r_nat_pot = 465;
r_surv_pot = 466;
s_magic_pot = 467;
s_range_pot = 468;
s_melee_pot = 469;
s_def_pot = 470;
s_stat_res_pot = 471;
s_cure_pot = 472;
s_rejuv_pot = 473;
s_poison_pot = 474;
s_gather_pot = 475;
s_art_pot = 476;
s_nat_pot = 477;
s_surv_pot = 478;
Unf_sage_potion = 479;
Unf_val_potion = 480;
Unf_aloe_potion = 481;
Unf_worm_potion = 482;
Unf_mage_potion = 483;
Unf_feather_potion = 484;
Unf_winter_potion = 485;
Unf_lycopus_potion = 486;
Unf_buck_potion = 487;
Regular_bones = 488;
Bat_bones = 489;
Big_bones = 490;
Dragon_bones = 491;
Frost_bones = 492;
Regular_ashes = 493;
Impious_ashes = 494;
Accursed_ashes = 495;
Infernal_ashes = 496;
Fire_rune = 497;
Water_rune = 498;
Air_rune = 499;
Earth_rune = 500;
Body_rune = 501;
Cosmic_rune = 502;
Nature_rune = 503;
Astral_rune = 504;
Blood_rune = 505;
Mind_rune = 506;
Death_rune = 507;
Law_rune = 508;
Chaos_rune = 509;
Soul_rune = 510;
Low_water_s = 511;
Low_earth_s = 512;
Low_fire_s = 513;
Low_air_s = 514;
Low_catalytic_s = 515;
High_water_s = 516;
High_earth_s = 517;
High_fire_s = 518;
High_air_s = 519;
Empowered_catalytic_staff = 520;
Ess1 = 521;
Ess2 = 522;
Ess3 = 523;
Ess4 = 524;
Primal_dagger = 525;
Primal_boots = 526;
Primal_gauntlets = 527;
Primal_hatchet = 528;
Primal_pickaxe = 529;
Primal_warhammer = 530;
Primal_rapier = 531;
Primal_longsword = 532;
Primal_full_helm = 533;
Primal_battleaxe = 534;
Primal_kiteshield = 535;
Primal_chainbody = 536;
Primal_platelegs = 537;
Primal_plateskirt = 538;
Primal_spear = 539;
Primal_maul = 540;
Primal_twohand = 541;
Primal_platebody = 542;
Sagittarian_shortbow = 543;
Sagittarian_longbow = 544;
Sagittarian_coif = 545;
Sagittarian_body = 546;
Sagittarian_chaps = 547;
Sagittarian_vambraces = 548;
Sagittarian_boots = 549;
Celestial_hood = 550;
Celestial_rope_top = 551;
Celestial_robe_bottom = 552;
Celestial_gloves = 553;
Celestial_shoes = 554;
Celestial_catalytic_staff = 555;
Celestial_surge_box = 556;
Silv_precision_brace = 557;
Gold_precision_brace = 558;
Sunstriker_boots = 559;
Marksman_boots = 560;
Incantors_boots = 561;
Sorcerers_boots = 562;
Hailstorm_dagger = 563;
Flameburst_defender = 564;
Shadow_silk_hood = 565;
Absorption_boots = 566;
Grounding_boots = 567;
Protectors_ward = 568;
Guardians_ward = 569;
Seekers_charm = 570;
Doomcore_staff = 571;
Blood_neck = 572;
Hex_bow = 573;
Vile_fish = 574;
Raw_vile_fish = 575;
Meatcorn = 576;
Meatcorn_rope = 577;
Broken_climbing_hook_head = 578;
Climbing_hook_head = 579;
Climbing_hook = 580;
Three_statues_mine_block = 581;
Three_statues_staff = 582;
Three_statues_bow = 583;
Three_statues_sword = 584;
Ten_statues_mine_block = 585;
Ten_statues_staff = 586;
Ten_statues_bow = 587;
Ten_statues_sword = 588;
Construct_block = 589;
Carved_head = 590;
Carved_leg = 591;
Carved_arm = 592;
Imbued_head = 593;
Imbued_leg = 594;
Imbued_arm = 595;
Power_crystal = 596;
Hunter_ferret_drg_logs = 597;
Hunter_ferret_dry_traps = 598;
Enigmatic_bow_string = 599;
Enigmatic_feather = 600;
Enigmatic_hammer = 601;
Enigmatic_headless_arrows = 602;
Enigmatic_blood_rune = 603;
Enigmatic_coin = 604;
Enigmatic_fly_fish_rod = 605;
Enigmatic_needle = 606;
Enigmatic_unholy_symbol = 607;
Enigmatic_ashes = 608;
Enigmatic_bones = 609;
Enigmatic_novite_kiteshield = 610;
Enigmatic_banana = 611;
Enigmatic_firebreath_wisky = 612;
Enigmatic_gissel_mushroom = 613;
Enigmatic_vial_of_water = 614;
Enigmatic_weapon_poison = 615;
Enigmatic_dusk_eel = 616;
Enigmatic_short_finned_eel = 617;
Enigmatic_salve_eel = 618;
Enigmatic_cave_eel = 619;
Broken_barrel_bits = 620;
Keystone_rock = 621;
Carved_keystone = 622;
Puzzle_plank = 623;
Brute_key1 = 624;
Brute_key2 = 625;
Brute_key3 = 626;
Brute_key4 = 627;
Lump_of_stone = 628;
Consecrated_herb = 629;
Generic_grimy_herb = 630;
Antique_ring = 631;
Green_vial = 632;
Blue_vial = 633;
Violet_vial = 634;
Yellow_vial = 635;
Salve_nettles = 636;
Wildercress = 637;
Brightleaf = 638;
Roseblood = 639;
Bryll = 640;
Duskweed = 641;
Soulbell = 642;
Ectograss = 643;
Runeleaf = 644;
Spiritbloom = 645;
C_salve_nettles = 646;
C_wildercress = 647;
C_brightleaf = 648;
C_roseblood = 649;
C_bryll = 650;
C_duskweed = 651;
C_soulbell = 652;
C_ectograss = 653;
C_runeleaf = 654;
C_spiritbloom = 655;
Protomastyx_hide = 656;
Submastyx_hide = 657;
Paramastyx_hide = 658;
Archaemastyx_hide = 659;
Dromomastyx_hide = 660;
Spinomastyx_hide = 661;
Gallimastyx_hide = 662;
Stegomastyx_hide = 663;
Megamastyx_hide = 664;
Tyrannomastyx_hide = 665;
Tyrannoleather_vambraces = 666;
Tyrannoleather_boots = 667;
Tyrannoleather_coif = 668;
Tyrannoleather_chaps = 669;
Tyrannoleather_body = 670;
Megaleather_vambraces = 671;
Megaleather_boots = 672;
Megaleather_coif = 673;
Megaleather_chaps = 674;
Megaleather_body = 675;
Stegoleather_vambraces = 676;
Stegoleather_boots = 677;
Stegoleather_coif = 678;
Stegoleather_chaps = 679;
Stegoleather_body = 680;
Gallileather_vambraces = 681;
Gallileather_boots = 682;
Gallileather_coif = 683;
Gallileather_chaps = 684;
Gallileather_body = 685;
Spinoleather_vambraces = 686;
Spinoleather_boots = 687;
Spinoleather_coif = 688;
Spinoleather_chaps = 689;
Spinoleather_body = 690;
Dromoleather_vambraces = 691;
Dromoleather_boots = 692;
Dromoleather_coif = 693;
Dromoleather_chaps = 694;
Dromoleather_body = 695;
Archaeleather_vambraces = 696;
Archaeleather_boots = 697;
Archaeleather_coif = 698;
Archaeleather_chaps = 699;
Archaeleather_body = 700;
Paraleather_vambraces = 701;
Paraleather_boots = 702;
Paraleather_coif = 703;
Paraleather_chaps = 704;
Paraleather_body = 705;
Subleather_vambraces = 706;
Subleather_boots = 707;
Subleather_coif = 708;
Subleather_chaps = 709;
Subleather_body = 710;
Protoleather_vambraces = 711;
Protoleather_boots = 712;
Protoleather_coif = 713;
Protoleather_chaps = 714;
Protoleather_body = 715;
Spiritbloom_gloves = 716;
Spiritbloom_shoes = 717;
Spiritbloom_hood = 718;
Spiritbloom_robe_bottom = 719;
Spiritbloom_robe_top = 720;
Runic_gloves = 721;
Runic_shoes = 722;
Runic_hood = 723;
Runic_robe_bottom = 724;
Runic_robe_top = 725;
Ecto_robe_gloves = 726;
Ecto_robe_shoes = 727;
Ecto_robe_hood = 728;
Ecto_robe_robe_bottom = 729;
Ecto_robe_robe_top = 730;
Soulbell_gloves = 731;
Soulbell_shoes = 732;
Soulbell_hood = 733;
Soulbell_robe_bottom = 734;
Soulbell_robe_top = 735;
Duskweed_gloves = 736;
Duskweed_shoes = 737;
Duskweed_hood = 738;
Duskweed_robe_bottom = 739;
Duskweed_robe_top = 740;
Bryll_gloves = 741;
Bryll_shoes = 742;
Bryll_hood = 743;
Bryll_robe_bottom = 744;
Bryll_robe_top = 745;
Roseblood_gloves = 746;
Roseblood_shoes = 747;
Roseblood_hood = 748;
Roseblood_robe_bottom = 749;
Roseblood_robe_top = 750;
Blightleaf_gloves = 751;
Blightleaf_shoes = 752;
Blightleaf_hood = 753;
Blightleaf_robe_bottom = 754;
Blightleaf_robe_top = 755;
Wildercress_gloves = 756;
Wildercress_shoes = 757;
Wildercress_hood = 758;
Wildercress_robe_bottom = 759;
Wildercress_robe_top = 760;
Salve_gloves = 761;
Salve_shoes = 762;
Salve_hood = 763;
Salve_robe_bottom = 764;
Salve_robe_top = 765;
Cave_seed1 = 766;
Cave_seed2 = 767;
Cave_seed3 = 768;
Cave_seed4 = 769;
Cave_seed5 = 770;
Giss_seed1 = 771;
Giss_seed2 = 772;
Giss_seed3 = 773;
Giss_seed4 = 774;
Giss_seed5 = 775;
Edi_seed1 = 776;
Edi_seed2 = 777;
Edi_seed3 = 778;
Edi_seed4 = 779;
Edi_seed5 = 780;
Sage_seed1 = 781;
Sage_seed2 = 782;
Sage_seed3 = 783;
Sage_seed4 = 784;
Sage_seed5 = 785;
Val_seed1 = 786;
Val_seed2 = 787;
Val_seed3 = 788;
Val_seed4 = 789;
Val_seed5 = 790;
Aloe_seed1 = 791;
Aloe_seed2 = 792;
Aloe_seed3 = 793;
Aloe_seed4 = 794;
Aloe_seed5 = 795;
Worm_seed1 = 796;
Worm_seed2 = 797;
Worm_seed3 = 798;
Worm_seed4 = 799;
Worm_seed5 = 800;
Mage_seed1 = 801;
Mage_seed2 = 802;
Mage_seed3 = 803;
Mage_seed4 = 804;
Mage_seed5 = 805;
Feather_seed1 = 806;
Feather_seed2 = 807;
Feather_seed3 = 808;
Feather_seed4 = 809;
Feather_seed5 = 810;
Winter_seed1 = 811;
Winter_seed2 = 812;
Winter_seed3 = 813;
Winter_seed4 = 814;
Winter_seed5 = 815;
Lyco_seed1 = 816;
Lyco_seed2 = 817;
Lyco_seed3 = 818;
Lyco_seed4 = 819;
Lyco_seed5 = 820;
Buck_seed1 = 821;
Buck_seed2 = 822;
Buck_seed3 = 823;
Buck_seed4 = 824;
Buck_seed5 = 825;
Grave_creeper_branches = 826;
Entgallow_branches = 827;
Corpsethorn_branches = 828;
Thigat_branches = 829;
Bovistrangler_branches = 830;
Spinebeam_branches = 831;
Utuku_branches = 832;
Blood_spindle_branches = 833;
Seeping_elm_branches = 834;
Tangle_gum_branches = 835;
Grave_creeper_short_bow = 836;
Unstrung_Grave_creeper_short_bow = 837;
Entgallow_short_bow = 838;
Unstrung_Entgallow_short_bow = 839;
Corpsethorn_short_bow = 840;
Unstrung_Corpsethorn_short_bow = 841;
Thigat_short_bow = 842;
Unstrung_Thigat_short_bow = 843;
Bovistrangler_short_bow = 844;
Unstrung_Bovistrangler_short_bow = 845;
Spinebeam_short_bow = 846;
Unstrung_Spinebeam_short_bow = 847;
Utuku_short_bow = 848;
Unstrung_Utuku_short_bow = 849;
Blood_spindle_short_bow = 850;
Unstrung_Blood_spindle_short_bow = 851;
Seeping_elm_short_bow = 852;
Unstrung_Seeping_elm_short_bow = 853;
Tangle_gum_short_bow = 854;
Unstrung_tangle_gum_short_bow = 855;
Grave_creeper_long_bow = 856;
Unstrung_grave_creeper_long_bow = 857;
Entgallow_long_bow = 858;
Unstrung_entgallow_long_bow = 859;
Corpsethorn_long_bow = 860;
Unstrung_corpsethorn_long_bow = 861;
Thigat_long_bow = 862;
Unstrung_thigat_long_bow = 863;
Bovistrangler_long_bow = 864;
Unstrung_bovistrangler_long_bow = 865;
Spinebeam_long_bow = 866;
Unstrung_spinebeam_long_bow = 867;
Utuku_long_bow = 868;
Unstrung_utuku_long_bow = 869;
Blood_spindle_long_bow = 870;
Unstrung_blood_spindle_long_bow = 871;
Seeping_elm_long_bow = 872;
Unstrung_seeping_elm_long_bow = 873;
Tangle_gum_long_bow = 874;
Unstrung_tangle_gum_long_bow = 875;
Grave_creeper_trap = 876;
Entgallow_trap = 877;
Corpsethorn_trap = 878;
Thigat_trap = 879;
Bovistrangler_trap = 880;
Spinebeam_trap = 881;
Utuku_trap = 882;
Blood_spindle_trap = 883;
Seeping_elm_trap = 884;
Tangle_gum_trap = 885;
Grave_creeper_staff = 886;
Entgallow_staff = 887;
Corpsethorn_staff = 888;
Thigat_staff = 889;
Bovistrangler_staff = 890;
Spinebeam_staff = 891;
Utuku_staff = 892;
Blood_spindle_staff = 893;
Seeping_elm_staff = 894;
Tangle_gum_staff = 895;


Hope it helps give some ideas; also critique it too. I'm not trying to take over anyone's delegated stuffs, just trying to help out! :)

xtrapsp

2012-06-11 20:18:49

Just contacted Zmon, interesting to see if we convert to bitmaps..

Le Jingle

2012-06-11 22:02:40

Well if you do bitmaps, let me know if I can help you out at all. I also have most of the listed constants in .png saved; just so that if bitmaps were more ideal than DTM's (which I'm thinking of to be true), I wouldn't have to scour through floors. Since there are so many items with similar color/shape, I'd think BMP's would provide far more consistency and accuracy.

zmon

2012-06-12 02:28:54

i am not sure which approach is better - bitmaps or dtms, they both have their pros and cons, i know how to work with dtms and have not dealt with bitmaps

i imagine we may end up creating identification record that will have either DTM or bitmap or both, and use what ever we can get our hands on or if we get both, hopefully we end up with better accuracy at detection

there is just a lot of things to identify so what ever will work

i already noted that every item record needs to be able to support simple queries, like what level they are and what kind, so that as we add support for, say, fletching, we could make better arrows than those in inventory, for example

i will push some code that will try to unify these kind of behavioral queries so we can then plug in dtms and bitmaps or what not as we move along in getting image of every possible item

EDIT
since the dev thread is not visible from nonmem area, these are some of the things we've worked on so far - 3D engine, new dot identification, and debug console that allows you to register and execute manually functions while running in dungeon (i.e. no need to stop/start script or anything):

Le Jingle

2012-06-12 18:01:34

@Zmon, wow that's some really cool development stuffs you got going on there. I'm not sure what's best, but I figure BMP is generally better, but feel that a DTM is also useful too. I butchered an ess type/record layout to possibly use to store the item info for each item, like so (ty kyle):

Const
item_name1 = 0;

Type
TObj = Record
Name, DgSkill, ItemExam: String;
UpText : TStringArray;
DgConstIng, LvlReq, DgDTM, DgBMP, HighAlch, LowAlch, ItemTier: Integer;
End;

Type
TObjectArray = Array Of TObj;

Var
DgItems : TObjectArray;

Procedure DgItemInfo;
Begin
SetLength(DgItems, 1);
With DgItems[item_name1] Do // * Example *

Begin
DgConstIng := item_name1;
Name := 'Testing () 1';
UpText := ['un', 'fun', 'est fun', 'Test Fun'];
LvlReq := 99;
DgDTM := DTMFromString('DTM string here');
DgBMP := BitmapFromString(500, 500, 'bmp string here');
DgSkill := 'DgRc';
ItemExam := 'this is our in-game chat black chat msg!';
HighAlch := 1800;
LowAlch := 600;
ItemTier := 11;
End;

End;

Alternatively, if that's a tad bit memory intensive, perhaps something more along the lines of making a file for the DgDTMs (format alike the bitmaps include), a file for the DgBMP's (format alike the bitmaps include), and then an item information file - perhaps a type/record for the specifics above ^, without the DTM/BMP strings of course.

I'm still working on getting used to the git/your thing + working on some scripts too. Hopefully I can apply my knowledge to srl members to further help the process :)

Cheers!

zmon

2012-06-15 02:49:58

From: Le Jingle
@Zmon, wow that's some really cool development stuffs you got going on there. I'm not sure what's best, but I figure BMP is generally better, but feel that a DTM is also useful too. I butchered an ess type/record layout to possibly use to store the item info for each item, like so (ty kyle):

Type
TObj = Record
Name, DgSkill, ItemExam: String;
UpText : TStringArray;
DgConstIng, LvlReq, DgDTM, DgBMP, HighAlch, LowAlch, ItemTier: Integer;
End;

Alternatively, if that's a tad bit memory intensive, perhaps something more along the lines of making a file for the DgDTMs (format alike the bitmaps include), a file for the DgBMP's (format alike the bitmaps include), and then an item information file - perhaps a type/record for the specifics above ^, without the DTM/BMP strings of course.

I'm still working on getting used to the git/your thing + working on some scripts too. Hopefully I can apply my knowledge to srl members to further help the process :)

Cheers!


had a power outage and now swamped but just a quick note - make the uptext a string, we have fuzzy string matching so it will take care of it… this is from one of my early posts on the fuzzy logic…

From: zmon

I have completed the first run implementation of fuzzy matching, but right now i use a lot of string copy and recursions rather than just index/offset to string, so it is slow, but when i develop, i first get the functioning prototype, then i work on optimization. So that will come later today, and to show you what it is all about, here is a little printout:

Compiled successfully in 639 ms.
Match GOOD is 75%+ of string in order, match LOOSE is 50%+ in proper order
ThIS/aTIS: 3 ordered matches
ThIS/aTSI: 2 ordered matches
Real example:
Siphon Fireball/8ipnon FlrebaII (2 more options): 10 TOOK 41.03 milliseconds
That constitutes LOOSE match with approx 66% ordered match count
Successfully executed.


and here is from real world testing:

good match [Siphon Jumper][Siphon J]^per / 2 more options .]
good match [Walk here][Walk her@ . .7 r Planes (level: 107) / 8 moAe optiom *108]
good match [Walk here][Walk her$ . .7 r Planes (level: 107) / 8 moAe optiona *108]
good match [Walk here][W^al^ here SmellyVaqina (level: 3) / 8 more options]

so it kind of handles messed up text well, no need to manually split it up anymore :garfield:

Le Jingle

2012-06-15 04:09:02

Ahh power outages stink! And gotcha on the use of string instead of tstringarray for uptext. I'll start working on that asap. I just finished collecting every (well minus a couple tier 11 boss items and a couple of journals), individual image for each item when it's in the inventory. I've also organized them in detailed files, so I can efficiently create a new item info record for them all. I'm also reading some guides to better my abilities on git too, hopefully I can get used to that asap.

Mark

2012-06-15 04:52:31

Mato's development with DirectX will be very useful for a project like this should check it out.

Abu

2012-06-15 06:23:51

What about using TPAClusters to identify items?

Once you have the template sorted, all you do is enter the different colours into the function. Very lengthy code but then very accurate and fast as well.

Le Jingle

2012-06-24 18:38:58

http://paste.villavu.com/show/SsC85xbLY01bodYHwjRW/

Regrettably, I haven't committed more time to this; however my schedule will free up in week or so, I plan to attach the DTM's, make progress on the BMPs, perhaps get feedback on the Colours[]* as well as finish the other (easy) item information.

*The Colours[{array of colours}] is something I thought would need some feedback. I admire the function myself, as I find it useful in some of my scripts (thanks Runaway! :>), and appreciate abu_jwka suggesting it here as I didn't think of it for these records. I do have almost all items within dungeoneering (as shown from an inventory perspective) stored (fashionably and organized) in multiple paint files - in which I (if found useful) could try to make a short script to grab the item's colour's and trim the black outline / inventory background.

and my github skills (plain using it..) are very poor :x Still need to find out how to use it to my advantage.

NKN

2012-06-24 18:49:37

14,000 lines of code.

:I

Brandon

2012-06-24 18:51:11

From: NKN
14,000 lines of code.

:I



LOL!! I'd love to see Simba load that many DTM's and Bitmaps at the same time and not lag or crash. :p

Approx. 875 DTM's and Bitmaps in those 14k lines. Assuming that it's 16 lines per class.

Le Jingle

2012-06-24 18:54:08

Yes it's 14k, but I'm sure as long as there's that much data nonetheless, it could be cut up into more appropriate files/list/web app/etc. I too thought it'd be interesting if somebody attempted to load them all >:}

Sir Ducksworthy

2012-06-25 08:41:27

Awesome man, They just need to be loaded separately this can just be an Include.
Do you have all of the Item Images somewhere?
You could use ReplaceColor on them all to Replace most of the Colors or Run FastGetPixel through a sexy loop to go around the black outline and only detect the pixels that are outside of it and put them all into an array to run through SetPixel.
Then Of Course Write the altered Bitmaps name and string in to a .net file with write Ini and just use ReadIni to load a string it would save importing them all and doing them manually.
If they are named the same as that list as well use the a script to read through it and load the .bmps for editing
After the outlines of black are found in each direction it can just be cropped anyway
Bitmaps are slower than Dtms we could just get all of the Colors of every pixel and then just exclude the black
Then Count every color detected and use the first and the second highest color to make a point each in the middle of the item and then make a point on each black part in each direction.
We could make a few different versions of DTM Mapping in case of any deformation

nokkasiili

2012-06-25 09:03:49

How about just generate them at runtime like Happy Little Runescape did
http://villavu.com/forum/showthread.php?t=67285

Le Jingle

2012-07-02 23:35:45

Haven't been feeling good lately, only finished the tier's for each item, next will be finishing off the DTM's (about 300 left).

Afterwards, I assume I'll tackle the Name/uptext/examine/alch/lvl req/dg skill. Then BMPs for last, they actually sound fun to do (sounds crazy right?)

For the Color's, I'll either attempt my own color grab&sort script, or I'll ask for help on creating one. Ideally I want something that grabs the colors in a box, then removes the black outline + a color tolerance(or several colors with lower tolerances) to remove the inventory background colors. Then with the remaining colors (the color on the items itself) sort sufficient colors to output for the item (i.e., as I've been told, don't need every color from the item, as some will be very similar and a tolerance on it will cover more/be more efficient).

E: also considering adding in another value for each record, smuggler price (I think it would be helpful since high/low alch are intended to be added too)

Le Jingle

2012-07-08 02:47:27

I think I figured out how to upload my paint files to git, https://github.com/Fratello/Dung-Paint-Files/downloads. Hopefully that doesn't take away image quality or anything. I'm still slowly working on this project, the beautiful days distract me! :>

About the paint files: I have pretty much all DG items in there, as well as most are somewhat organized. Took a while to get that many items, and I'll continue to work on obtaining the remaining items (only a handful of particular items, as well as I think the arrowheads/poison-tipped items remaining) + working on the complete records list.

E: uploaded the raw image files instead

Le Jingle

2012-07-08 18:08:35

Threw all the images up, removed the .rar - on git! :> (Git's starting to grow on me, I can tell) I think you can find all the .png's of the item images here: https://github.com/Fratello/Dung-Paint-Files/downloads hopefully this should help others working in the same area, curious onlookers, etc.

(each item is grabbed from being within the inventory, making for a better image / realistic image to work with - imo)

Note : I think the next update I do to this thread, I'll include a clean-up of the main post

E: A money .png example (the office reference anyone? you put your good beats on top, those are the money beats?.. Dwight? - ok onwards..) would be to pick the image entitled 'Ultimate Summoning 1'.

zmon

2012-07-09 23:57:44

awesome