Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missing Vanilla objects in Tiled #5

Open
nickgavran opened this issue Mar 6, 2021 · 5 comments
Open

Missing Vanilla objects in Tiled #5

nickgavran opened this issue Mar 6, 2021 · 5 comments

Comments

@nickgavran
Copy link
Contributor

Currently, Tiled is missing some objects, both used and unused in-game.

Attached is a picture highlighting all the missing objects.

Please note, that when you add these objects into Tiled, if you mess around with the current order of the objects in objects.PNG / objects.TSX, it will make objects morph into other objects in already created maps, so it would be helpful if you could avoid this.

Vanilla ObjectsMissing

@nickgavran
Copy link
Contributor Author

A request for adding 2 new objects:

Object 1: No GFX (Invisible) - Blocks Players/Monsters
Object 2: No GFX (Invisible) - Blocks Players/Monsters & Projectiles/Spells

This will be really helpful to make certain areas inaccessible, as well as having other uses.

@AJenbo
Copy link
Member

AJenbo commented Mar 6, 2021

Could you figure out what the file names and frame number are for these :)

@nickgavran
Copy link
Contributor Author

Going from left to right;

Row 1: sarc.cel (Frame 5)

Row 2: bkslbrnt.cel (Frame 1,2,3,4,5,6) - book1.cel (Frame 1,2,3,4,5,6) - book2.cel (Frame 2,3,5,6)

Row 3: prsrplt1.cel (Frame 1,2,3,4,5,6,7,8,9,10) - switch2.cel (All frames as 1 object) - switch3.cel (All frames as 1 object)

Row 7: bshelf.cel (Frame 1,2,3,4)

Row 8: chest1.cel (Frame 2,3,4,5,6) - chest2.cel (Frame 2,3,4,5,6) - chest3.cel (Frame 2,3,4,5,6)

Row 9: l1braz.cel (All frames as 1 object)

Row 13: skulstik.cel (Frame 1,2,3,4,5)

Row 14: decap.cel (Frame 2,3,4,5,6,7,8)

If possible, all the frames should be individual objects (Apart from l1braz.cel which should just be one object).
A lot of these are similar, but given how few resources we have to work with, every little thing we can get helps tremendously.
Please note that I seem to not have squared in all the frames I needed in the picture attached, but they are part of this list.

I hope this was the info you were looking for and that I didn't make it too convoluted.

PS: There also seems to be 2 instances of lever.cel in the objects.PNG (see attached picture)
2ofsameobjects

@AJenbo
Copy link
Member

AJenbo commented Mar 7, 2021

One triggers the fire traps, the other is programmable

@mewmew
Copy link
Contributor

mewmew commented Mar 15, 2021

Posting an updated script for generating objects_all.png as used by Tiled. This script provides a dedicated image for each object ID (98 in total).

gen_all_objects_tileset.sh
#!/bin/bash

# Object IDs (in order of occurrence in _assets_/_tilesets_/objects_all.png):
#
#    * object ID 83 (AltarBoy)                    : _dump_/objects/altboy/altboy.png
#    * object ID 24 (Angel)                       : _dump_/objects/angel.png
#    * object ID 77 (ArmorStandTheme10)           : _dump_/objects/armstand/armstand_0001.png
#    * object ID 89 (ArmorStandWarlordOfBlood)    : _dump_/objects/armstand/armstand_0001.png
#    * object ID 78 (ArmorStandTheme10Empty)      : _dump_/objects/armstand/armstand_0002.png
#    * object ID 12 (BannerTheme3)                : _dump_/objects/banner/banner_0001.png
#    * object ID 11 (BannerSeTheme3)              : _dump_/objects/banner/banner_0002.png
#    * object ID 13 (BannerSwTheme3)              : _dump_/objects/banner/banner_0003.png
#    * object ID 57 (Barrel)                      : _dump_/objects/barrel/barrel_0001.png
#    * object ID 58 (BarrelExplosion)             : _dump_/objects/barrelex/barrelex_0001.png
#    * object ID 55 (Bookcase)                    : _dump_/objects/bcase/bcase_0001.png
#    * object ID 62 (BookcaseSwTheme5)            : _dump_/objects/bcase/bcase_0003.png
#    * object ID 63 (BookcaseSeTheme5)            : _dump_/objects/bcase/bcase_0004.png
#    * object ID 86 (LabyrinthBooks)              : _dump_/objects/bkslbrnt/bkslbrnt_0001.png
#    * object ID 66 (BloodFountainTheme7)         : _dump_/objects/bloodfnt/bloodfnt_0001.png (animated)
#    * object ID 52 (TomeLevel)                   : _dump_/objects/book1/book1_0001.png
#    * object ID 71 (BookOfTheBlind)              : _dump_/objects/book1/book1_0001.png
#    * object ID 72 (BookOfBlood)                 : _dump_/objects/book1/book1_0004.png
#    * object ID 88 (SteelTome)                   : _dump_/objects/book1/book1_0004.png
#    * object ID 25 (AncientTomeOrBookOfVileness) : _dump_/objects/book2/book2_0001.png
#    * object ID 64 (LibraryBookTheme5)           : _dump_/objects/book2/book2_0001.png
#    * object ID 41 (MythicalBook)                : _dump_/objects/book2/book2_0004.png
#    * object ID 61 (SkeletonTomeTheme3)          : _dump_/objects/book2/book2_0004.png
#    * object ID 26 (BurningCross)                : _dump_/objects/burncros/burncros_0001.png (animated)
#    * object ID 91 (BurningCrossTheme15)         : _dump_/objects/burncros/burncros_0001.png (animated)
#    * object ID 8 (Candle1NoGraphic)             : _dump_/objects/candle2/candle2_0001.png
#    * object ID 9 (CandleTheme1)                 : _dump_/objects/candle2/candle2_0001.png (animated)
#    * object ID 10 (Candle2NoGraphic)            : _dump_/objects/candle2/candle2_0001.png
#    * object ID 65 (CandleTheme5)                : _dump_/objects/candle2/candle2_0001.png (animated)
#    * object ID 87 (Candle)                      : _dump_/objects/candle2/candle2_0001.png (animated)
#    * object ID 80 (Cauldron)                    : _dump_/objects/cauldren/cauldren_0001.png
#    * object ID 5 (SmallChest)                   : _dump_/objects/chest1/chest1_0001.png
#    * object ID 68 (SmallChestTrap)              : _dump_/objects/chest1/chest1_0001.png
#    * object ID 6 (Chest)                        : _dump_/objects/chest2/chest2_0001.png
#    * object ID 69 (ChestTrap)                   : _dump_/objects/chest2/chest2_0001.png
#    * object ID 7 (LargeChest)                   : _dump_/objects/chest3/chest3_0001.png
#    * object ID 70 (LargeChestTrap)              : _dump_/objects/chest3/chest3_0001.png
#    * object ID 97 (LargeChestOgdensSign)        : _dump_/objects/chest3/chest3_0001.png
#    * object ID 20 (CrucifiedSkeletonS)          : _dump_/objects/cruxsk1/cruxsk1_0001.png
#    * object ID 21 (CrucifiedSkeletonSe)         : _dump_/objects/cruxsk2/cruxsk2_0001.png
#    * object ID 22 (CrucifiedSkeletonSw)         : _dump_/objects/cruxsk3/cruxsk3_0001.png
#    * object ID 67 (DecapitatedBodyNTheme8)      : _dump_/objects/decap/decap_0001.png
#    * object ID 96 (SlainHero)                   : _dump_/objects/decap/decap_0002.png
#    * object ID 49 (FlameHole)                   : _dump_/objects/flame1/flame1_0001.png
#    * object ID 79 (GoatShrineTheme11)           : _dump_/objects/goatshrn/goatshrn_0001.png (animated)
#    * object ID 0 (Brazier)                      : _dump_/objects/l1braz/l1braz_0001.png (animated)
#    * object ID 1 (L1DoorSw)                     : _dump_/objects/l1doors/l1_1.pal/l1doors_0001.png
#    * object ID 2 (L1DoorSe)                     : _dump_/objects/l1doors/l1_1.pal/l1doors_0002.png
#    * object ID 42 (L2DoorSw)                    : _dump_/objects/l2doors/l2_1.pal/l2doors_0001.png
#    * object ID 43 (L2DoorSe)                    : _dump_/objects/l2doors/l2_1.pal/l2doors_0002.png
#    * object ID 74 (L3DoorSe)                    : _dump_/objects/l3doors/l3_1.pal/l3doors_0001.png
#    * object ID 75 (L3DoorSw)                    : _dump_/objects/l3doors/l3_1.pal/l3doors_0002.png
#    * object ID 4 (LeverPosA)                    : _dump_/objects/lever/lever_0001.png
#    * object ID 50 (LeverPosB)                   : _dump_/objects/lever/lever_0001.png
#    * object ID 59 (LeftShrineTheme1)            : _dump_/objects/lshrineg/lshrineg_0001.png
#    * object ID 95 (VileStand)                   : _dump_/objects/lzstand/lzstand_0001.png
#    * object ID 84 (MagicCirclePentagram)        : _dump_/objects/mcirl/mcirl_0001.png
#    * object ID 85 (MagicCircle)                 : _dump_/objects/mcirl/mcirl_0003.png
#    * object ID 81 (MurkyPoolTheme13)            : _dump_/objects/mfountn/mfountn_0001.png (animated)
#    * object ID 51 (MiniWater)                   : _dump_/objects/miniwatr/miniwatr_0001.png (animated)
#    * object ID 94 (MushroomPatch)               : _dump_/objects/mushptch/mushptch_0001.png
#    * object ID 27 (NudeWomanSe)                 : _dump_/objects/nude2/nude2_0001.png (animated)
#    * object ID 73 (PedestalOfBlood)             : _dump_/objects/pedistl/pedistl_0001.png
#    * object ID 76 (PurifyingSpringTheme9)       : _dump_/objects/pfountn/pfountn_0001.png (animated)
#    * object ID 23 (RockStand)                   : _dump_/objects/rockstan/rockstan.png
#    * object ID 60 (RightShrineTheme1)           : _dump_/objects/rshrineg/rshrineg_0001.png
#    * object ID 48 (Sarcophagus)                 : _dump_/objects/sarc/sarc_0001.png
#    * object ID 3 (SkullFireTheme3)              : _dump_/objects/skulfire/skulfire_0001.png (animated)
#    * object ID 14 (SkullPile)                   : _dump_/objects/skulpile/skulpile.png
#    * object ID 15 (SkullStick1NoGraphic)        : _dump_/objects/skulstik/skulstik_0001.png
#    * object ID 16 (SkullStick2NoGraphic)        : _dump_/objects/skulstik/skulstik_0002.png
#    * object ID 17 (SkullStick3NoGraphic)        : _dump_/objects/skulstik/skulstik_0003.png
#    * object ID 18 (SkullStick4NoGraphic)        : _dump_/objects/skulstik/skulstik_0004.png
#    * object ID 19 (SkullStick5NoGraphic)        : _dump_/objects/skulstik/skulstik_0005.png
#    * object ID 28 (SkullLever)                  : _dump_/objects/switch4/switch4_0001.png
#    * object ID 82 (FountainOfTearsTheme14)      : _dump_/objects/tfountn/tfountn_0001.png (animated)
#    * object ID 29 (TorturedNudeMan0)            : _dump_/objects/tnudem/tnudem_0001.png
#    * object ID 30 (TorturedNudeMan1Theme6)      : _dump_/objects/tnudem/tnudem_0002.png
#    * object ID 31 (TorturedNudeMan2Theme6)      : _dump_/objects/tnudem/tnudem_0003.png
#    * object ID 32 (TorturedNudeMan3Theme6)      : _dump_/objects/tnudem/tnudem_0004.png
#    * object ID 33 (TorturedNudeWoman0Theme6)    : _dump_/objects/tnudew/tnudew_0001.png
#    * object ID 34 (TorturedNudeWoman1Theme6)    : _dump_/objects/tnudew/tnudew_0002.png
#    * object ID 35 (TorturedNudeWoman2Theme6)    : _dump_/objects/tnudew/tnudew_0003.png
#    * object ID 53 (TrapholeSw)                  : _dump_/objects/traphole/traphole_0001.png
#    * object ID 54 (TrapholeSe)                  : _dump_/objects/traphole/traphole_0002.png
#    * object ID 36 (TorturedSoul0)               : _dump_/objects/tsoul/tsoul_0001.png
#    * object ID 37 (TorturedSoul1)               : _dump_/objects/tsoul/tsoul_0002.png
#    * object ID 38 (TorturedSoul2)               : _dump_/objects/tsoul/tsoul_0003.png
#    * object ID 39 (TorturedSoul3)               : _dump_/objects/tsoul/tsoul_0004.png
#    * object ID 40 (TorturedSoul4)               : _dump_/objects/tsoul/tsoul_0005.png
#    * object ID 56 (WeaponRack)                  : _dump_/objects/weapstnd/weapstnd_0001.png
#    * object ID 90 (WeaponRackWarlordOfBlood)    : _dump_/objects/weapstnd/weapstnd_0001.png
#    * object ID 92 (WeaponRackTheme16)           : _dump_/objects/weapstnd/weapstnd_0001.png
#    * object ID 93 (WeaponRackTheme16Empty)      : _dump_/objects/weapstnd/weapstnd_0002.png
#    * object ID 46 (WallTorchSw)                 : _dump_/objects/wtorch1/wtorch1_0001.png (animated)
#    * object ID 47 (WallTorchSe)                 : _dump_/objects/wtorch2/wtorch2_0001.png (animated)
#    * object ID 45 (WallTorchSimpleSw)           : _dump_/objects/wtorch3/wtorch3_0001.png (animated)
#    * object ID 44 (WallTorchSimpleSe)           : _dump_/objects/wtorch4/wtorch4_0001.png (animated)

# Merge angel.
montage \
	_dump_/objects/angel/angel_0001.png \
	_dump_/objects/angel/angel_0002.png \
	-gravity south -geometry x128+0+0 \
	-tile 2x \
	-background none \
	_dump_/objects/angel/angel_pre_crop.png

# Crop angel to 128x128.
convert _dump_/objects/angel/angel_pre_crop.png -crop 128x128+0+0 +repage _dump_/objects/angel.png
rm -f _dump_/objects/angel/angel_pre_crop.png

echo 'Creating "_assets_/_tilesets_/objects_all.png'
montage \
	_dump_/objects/altboy/altboy.png \
	_dump_/objects/angel.png \
	_dump_/objects/armstand/armstand_0001.png \
	_dump_/objects/armstand/armstand_0001.png \
	_dump_/objects/armstand/armstand_0002.png \
	_dump_/objects/banner/banner_0001.png \
	_dump_/objects/banner/banner_0002.png \
	_dump_/objects/banner/banner_0003.png \
	_dump_/objects/barrel/barrel_0001.png \
	_dump_/objects/barrelex/barrelex_0001.png \
	_dump_/objects/bcase/bcase_0001.png \
	_dump_/objects/bcase/bcase_0003.png \
	_dump_/objects/bcase/bcase_0004.png \
	_dump_/objects/bkslbrnt/bkslbrnt_0001.png \
	_dump_/objects/bloodfnt/bloodfnt_0001.png \
	_dump_/objects/book1/book1_0001.png \
	_dump_/objects/book1/book1_0001.png \
	_dump_/objects/book1/book1_0004.png \
	_dump_/objects/book1/book1_0004.png \
	_dump_/objects/book2/book2_0001.png \
	_dump_/objects/book2/book2_0001.png \
	_dump_/objects/book2/book2_0004.png \
	_dump_/objects/book2/book2_0004.png \
	_dump_/objects/burncros/burncros_0001.png \
	_dump_/objects/burncros/burncros_0001.png \
	_dump_/objects/candle2/candle2_0001.png \
	_dump_/objects/candle2/candle2_0001.png \
	_dump_/objects/candle2/candle2_0001.png \
	_dump_/objects/candle2/candle2_0001.png \
	_dump_/objects/candle2/candle2_0001.png \
	_dump_/objects/cauldren/cauldren_0001.png \
	_dump_/objects/chest1/chest1_0001.png \
	_dump_/objects/chest1/chest1_0001.png \
	_dump_/objects/chest2/chest2_0001.png \
	_dump_/objects/chest2/chest2_0001.png \
	_dump_/objects/chest3/chest3_0001.png \
	_dump_/objects/chest3/chest3_0001.png \
	_dump_/objects/chest3/chest3_0001.png \
	_dump_/objects/cruxsk1/cruxsk1_0001.png \
	_dump_/objects/cruxsk2/cruxsk2_0001.png \
	_dump_/objects/cruxsk3/cruxsk3_0001.png \
	_dump_/objects/decap/decap_0001.png \
	_dump_/objects/decap/decap_0002.png \
	_dump_/objects/flame1/flame1_0001.png \
	_dump_/objects/goatshrn/goatshrn_0001.png \
	_dump_/objects/l1braz/l1braz_0001.png \
	_dump_/objects/l1doors/l1_1.pal/l1doors_0001.png \
	_dump_/objects/l1doors/l1_1.pal/l1doors_0002.png \
	_dump_/objects/l2doors/l2_1.pal/l2doors_0001.png \
	_dump_/objects/l2doors/l2_1.pal/l2doors_0002.png \
	_dump_/objects/l3doors/l3_1.pal/l3doors_0001.png \
	_dump_/objects/l3doors/l3_1.pal/l3doors_0002.png \
	_dump_/objects/lever/lever_0001.png \
	_dump_/objects/lever/lever_0001.png \
	_dump_/objects/lshrineg/lshrineg_0001.png \
	_dump_/objects/lzstand/lzstand_0001.png \
	_dump_/objects/mcirl/mcirl_0001.png \
	_dump_/objects/mcirl/mcirl_0003.png \
	_dump_/objects/mfountn/mfountn_0001.png \
	_dump_/objects/miniwatr/miniwatr_0001.png \
	_dump_/objects/mushptch/mushptch_0001.png \
	_dump_/objects/nude2/nude2_0001.png \
	_dump_/objects/pedistl/pedistl_0001.png \
	_dump_/objects/pfountn/pfountn_0001.png \
	_dump_/objects/rockstan/rockstan.png \
	_dump_/objects/rshrineg/rshrineg_0001.png \
	_dump_/objects/sarc/sarc_0001.png \
	_dump_/objects/skulfire/skulfire_0001.png \
	_dump_/objects/skulpile/skulpile.png \
	_dump_/objects/skulstik/skulstik_0001.png \
	_dump_/objects/skulstik/skulstik_0002.png \
	_dump_/objects/skulstik/skulstik_0003.png \
	_dump_/objects/skulstik/skulstik_0004.png \
	_dump_/objects/skulstik/skulstik_0005.png \
	_dump_/objects/switch4/switch4_0001.png \
	_dump_/objects/tfountn/tfountn_0001.png \
	_dump_/objects/tnudem/tnudem_0001.png \
	_dump_/objects/tnudem/tnudem_0002.png \
	_dump_/objects/tnudem/tnudem_0003.png \
	_dump_/objects/tnudem/tnudem_0004.png \
	_dump_/objects/tnudew/tnudew_0001.png \
	_dump_/objects/tnudew/tnudew_0002.png \
	_dump_/objects/tnudew/tnudew_0003.png \
	_dump_/objects/traphole/traphole_0001.png \
	_dump_/objects/traphole/traphole_0002.png \
	_dump_/objects/tsoul/tsoul_0001.png \
	_dump_/objects/tsoul/tsoul_0002.png \
	_dump_/objects/tsoul/tsoul_0003.png \
	_dump_/objects/tsoul/tsoul_0004.png \
	_dump_/objects/tsoul/tsoul_0005.png \
	_dump_/objects/weapstnd/weapstnd_0001.png \
	_dump_/objects/weapstnd/weapstnd_0001.png \
	_dump_/objects/weapstnd/weapstnd_0001.png \
	_dump_/objects/weapstnd/weapstnd_0002.png \
	_dump_/objects/wtorch1/wtorch1_0001.png \
	_dump_/objects/wtorch2/wtorch2_0001.png \
	_dump_/objects/wtorch3/wtorch3_0001.png \
	_dump_/objects/wtorch4/wtorch4_0001.png \
	-gravity south -geometry 128x128+0+0 \
	-tile 14x \
	-background none \
	_assets_/_tilesets_/objects_all.png

Note: the script does not (yet) include all frames of all objects, since the code of the game engine (DevilutionX) would first need to support the mapping.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants