Page 1 of 2
Nick's BIG DSB thread and Dungeon Re-Master
Posted: Wed Sep 02, 2020 10:17 pm
by Automaton
Hilo!
As you (the maybe 3 people reading this may know), I have recently taken a shine to DSB and decided to use it as a platform to remake Dungeon Master to my own tastes in DSB, under the working title "Dungeon Re-Master". I like DSB and I'm starting to get the hang of Lua so it makes sense to do it in this.
I intend to use this thread to post my updates, ask question, get feedback and anything else germane to the topic.
I fully intend to do this solo, but if anyone wishes to help, then feel free to chip in. Im not too bad at graphics and as I may have already said, Im a composer so music and SFX are not a problem at all.
Anyhoo, I've had some ideas (try many many) and I just want to throw these out quickly to see what you loverly people think, in terms of feasibility in DSB. I don't mind slogging it out myself, but I don't want to try something the engine is just not capable of doing. If you have already done something similar, please post code and or examples.
1. Multiple attack sounds for monsters, with DSB choosing one randomly.
2. Give monsters a "I've spotted you" sound. I remember opening doors in Doom and hearing that reverb-y grunt from those pink demons - I want that in DM for certain monsters, with others being silent stalkers.
3. Give monsters a "Runawaaaaaay" sound. Plays when monsters get feared by you.
4. Give monsters an ambient sound that moves with them. Like buzzing fly sounds around a mummy or zombie for example.
5. Adding a viewport shake effect to monsters moving. I want to make large things like golems and dragons more imposing.
I know from looking at monfulir's dungeons about the dsb_viewport_distort thingy and tested the different effects. Are these all hard coded? Can we make our own?
6. Is it possible to have a spell effect that spins the party or monsters randomly?
Here is how my current UI is looking, I've replaced most of the graphics

Fountain

Cheers!
Nick K
Re: Nick's BIG DSB thread and Dungeon Re-Master
Posted: Wed Sep 02, 2020 10:21 pm
by Automaton
@Sophia,
I thought taking the localtxt one step further would be in order (I needed to turn things to proper case instead of full caps) so I did this in my objects file:
Code: Select all
--Externalize all base dungeon item names-------------------------------------------------
obj.bones.name=dsb_locstr("obj.bones.name")
obj.torch.name=dsb_locstr("obj.torch.name")
obj.torch_x.name=dsb_locstr("obj.torch_x.name")
obj.dart.name=dsb_locstr("obj.dart.name")
obj.dart_csb.name=dsb_locstr("obj.dart_csb.name")
obj.throwing_star.name=dsb_locstr("obj.throwing_star.name")
obj.arrow.name=dsb_locstr("obj.arrow.name")
obj.slayer.name=dsb_locstr("obj.slayer.name")
obj.rock.name=dsb_locstr("obj.rock.name")
obj.dagger.name=dsb_locstr("obj.dagger.name")
obj.poison_desven.name=dsb_locstr("obj.poison_desven.name")
obj.poison_slime.name=dsb_locstr("obj.poison_slime.name")
obj.poison_ohven.name=dsb_locstr("obj.poison_ohven.name")
obj.fireball.name=dsb_locstr("obj.fireball.name")
obj.desewspell.name=dsb_locstr("obj.desewspell.name")
obj.lightning.name=dsb_locstr("obj.lightning.name")
obj.zospell.name=dsb_locstr("obj.zospell.name")
obj.zokathra.name=dsb_locstr("obj.zokathra.name")
obj.flamitt.name=dsb_locstr("obj.flamitt.name")
obj.flamitt_x.name=dsb_locstr("obj.flamitt_x.name")
obj.flask.name=dsb_locstr("obj.flask.name")
obj.flask_bro.name=dsb_locstr("obj.flask_bro.name")
obj.flask_dane.name=dsb_locstr("obj.flask_dane.name")
obj.flask_ee.name=dsb_locstr("obj.flask_ee.name")
obj.flask_ku.name=dsb_locstr("obj.flask_ku.name")
obj.flask_mon.name=dsb_locstr("obj.flask_mon.name")
obj.flask_neta.name=dsb_locstr("obj.flask_neta.name")
obj.flask_ros.name=dsb_locstr("obj.flask_ros.name")
obj.flask_vi.name=dsb_locstr("obj.flask_vi.name")
obj.flask_ya.name=dsb_locstr("obj.flask_ya.name")
obj.flask_water.name=dsb_locstr("obj.flask_water.name")
obj.flask_water_yucky.name=dsb_locstr("obj.flask_water_yucky.name")
obj.flask_sar.name=dsb_locstr("obj.flask_sar.name")
obj.flask_zo.name=dsb_locstr("obj.flask_zo.name")
obj.fulbomb.name=dsb_locstr("obj.fulbomb.name")
obj.venbomb.name=dsb_locstr("obj.venbomb.name")
obj.horn_of_fear.name=dsb_locstr("obj.horn_of_fear.name")
obj.rope.name=dsb_locstr("obj.rope.name")
obj.magicbox_blue.name=dsb_locstr("obj.magicbox_blue.name")
obj.magicbox_green.name=dsb_locstr("obj.magicbox_green.name")
obj.eye_of_time.name=dsb_locstr("obj.eye_of_time.name")
obj.eye_of_time_x.name=dsb_locstr("obj.eye_of_time_x.name")
obj.stormring.name=dsb_locstr("obj.stormring.name")
obj.stormring_x.name=dsb_locstr("obj.stormring_x.name")
obj.wand.name=dsb_locstr("obj.wand.name")
obj.wand_x.name=dsb_locstr("obj.wand_x.name")
obj.teowand.name=dsb_locstr("obj.teowand.name")
obj.teowand_x.name=dsb_locstr("obj.teowand_x.name")
obj.staff.name=dsb_locstr("obj.staff.name")
obj.staff_claws.name=dsb_locstr("obj.staff_claws.name")
obj.staff_claws_x.name=dsb_locstr("obj.staff_claws_x.name")
obj.staff_yew.name=dsb_locstr("obj.staff_yew.name")
obj.staff_yew_x.name=dsb_locstr("obj.staff_yew_x.name")
obj.staff_manar.name=dsb_locstr("obj.staff_manar.name")
obj.staff_manar_x.name=dsb_locstr("obj.staff_manar_x.name")
obj.staff_irra.name=dsb_locstr("obj.staff_irra.name")
obj.staff_irra_x.name=dsb_locstr("obj.staff_irra_x.name")
obj.staff_snake.name=dsb_locstr("obj.staff_snake.name")
obj.staff_neta.name=dsb_locstr("obj.staff_neta.name")
obj.staff_conduit.name=dsb_locstr("obj.staff_conduit.name")
obj.staff_conduit_x.name=dsb_locstr("obj.staff_conduit_x.name")
obj.staff_serpent.name=dsb_locstr("obj.staff_serpent.name")
obj.staff_serpent_x.name=dsb_locstr("obj.staff_serpent_x.name")
obj.dragon_spit.name=dsb_locstr("obj.dragon_spit.name")
obj.dragon_spit_x.name=dsb_locstr("obj.dragon_spit_x.name")
obj.firestaff.name=dsb_locstr("obj.firestaff.name")
obj.firestaff_gem.name=dsb_locstr("obj.firestaff_gem.name")
obj.lyf.name=dsb_locstr("obj.lyf.name")
obj.lyf_x.name=dsb_locstr("obj.lyf_x.name")
obj.cape.name=dsb_locstr("obj.cape.name")
obj.cloak_night.name=dsb_locstr("obj.cloak_night.name")
obj.halter.name=dsb_locstr("obj.halter.name")
obj.tattered_shirt.name=dsb_locstr("obj.tattered_shirt.name")
obj.robe_top.name=dsb_locstr("obj.robe_top.name")
obj.robe_fine_top.name=dsb_locstr("obj.robe_fine_top.name")
obj.kirtle.name=dsb_locstr("obj.kirtle.name")
obj.silk_shirt.name=dsb_locstr("obj.silk_shirt.name")
obj.elven_doublet.name=dsb_locstr("obj.elven_doublet.name")
obj.leather_jerkin.name=dsb_locstr("obj.leather_jerkin.name")
obj.tunic.name=dsb_locstr("obj.tunic.name")
obj.ghi.name=dsb_locstr("obj.ghi.name")
obj.mail_aketon.name=dsb_locstr("obj.mail_aketon.name")
obj.mithral_aketon.name=dsb_locstr("obj.mithral_aketon.name")
obj.flamebain.name=dsb_locstr("obj.flamebain.name")
obj.torsoplate.name=dsb_locstr("obj.torsoplate.name")
obj.torsoplate_cursed.name=dsb_locstr("obj.torsoplate_cursed.name")
obj.torsoplate_lyte.name=dsb_locstr("obj.torsoplate_lyte.name")
obj.torsoplate_ra.name=dsb_locstr("obj.torsoplate_ra.name")
obj.torsoplate_darc.name=dsb_locstr("obj.torsoplate_darc.name")
obj.torsoplate_dragon.name=dsb_locstr("obj.torsoplate_dragon.name")
obj.barbarian_hide.name=dsb_locstr("obj.barbarian_hide.name")
obj.tattered_pants.name=dsb_locstr("obj.tattered_pants.name")
obj.robe_bottom.name=dsb_locstr("obj.robe_bottom.name")
obj.robe_fine_bottom.name=dsb_locstr("obj.robe_fine_bottom.name")
obj.tabard.name=dsb_locstr("obj.tabard.name")
obj.gunna.name=dsb_locstr("obj.gunna.name")
obj.elven_huke.name=dsb_locstr("obj.elven_huke.name")
obj.leather_pants.name=dsb_locstr("obj.leather_pants.name")
obj.blue_pants.name=dsb_locstr("obj.blue_pants.name")
obj.ghi_trousers.name=dsb_locstr("obj.ghi_trousers.name")
obj.leg_mail.name=dsb_locstr("obj.leg_mail.name")
obj.mithral_mail.name=dsb_locstr("obj.mithral_mail.name")
obj.legplate.name=dsb_locstr("obj.legplate.name")
obj.legplate_cursed.name=dsb_locstr("obj.legplate_cursed.name")
obj.legplate_lyte.name=dsb_locstr("obj.legplate_lyte.name")
obj.legplate_ra.name=dsb_locstr("obj.legplate_ra.name")
obj.legplate_darc.name=dsb_locstr("obj.legplate_darc.name")
obj.legplate_dragon.name=dsb_locstr("obj.legplate_dragon.name")
obj.powertowers.name=dsb_locstr("obj.powertowers.name")
obj.berzerker_helm.name=dsb_locstr("obj.berzerker_helm.name")
obj.berzerker_helm_csb.name=dsb_locstr("obj.berzerker_helm_csb.name")
obj.helmet.name=dsb_locstr("obj.helmet.name")
obj.basinet.name=dsb_locstr("obj.basinet.name")
obj.casquencoif.name=dsb_locstr("obj.casquencoif.name")
obj.armet.name=dsb_locstr("obj.armet.name")
obj.armet_cursed.name=dsb_locstr("obj.armet_cursed.name")
obj.helm_lyte.name=dsb_locstr("obj.helm_lyte.name")
obj.helm_ra.name=dsb_locstr("obj.helm_ra.name")
obj.helm_darc.name=dsb_locstr("obj.helm_darc.name")
obj.helm_dragon.name=dsb_locstr("obj.helm_dragon.name")
obj.dexhelm.name=dsb_locstr("obj.dexhelm.name")
obj.calista.name=dsb_locstr("obj.calista.name")
obj.crown_nerra.name=dsb_locstr("obj.crown_nerra.name")
obj.sandals.name=dsb_locstr("obj.sandals.name")
obj.boots_suede.name=dsb_locstr("obj.boots_suede.name")
obj.boots_leather.name=dsb_locstr("obj.boots_leather.name")
obj.hosen.name=dsb_locstr("obj.hosen.name")
obj.footplate.name=dsb_locstr("obj.footplate.name")
obj.footplate_cursed.name=dsb_locstr("obj.footplate_cursed.name")
obj.footplate_lyte.name=dsb_locstr("obj.footplate_lyte.name")
obj.footplate_ra.name=dsb_locstr("obj.footplate_ra.name")
obj.footplate_darc.name=dsb_locstr("obj.footplate_darc.name")
obj.footplate_dragon.name=dsb_locstr("obj.footplate_dragon.name")
obj.boots_elven.name=dsb_locstr("obj.boots_elven.name")
obj.boots_speed.name=dsb_locstr("obj.boots_speed.name")
obj.club.name=dsb_locstr("obj.club.name")
obj.club_stone.name=dsb_locstr("obj.club_stone.name")
obj.boltblade.name=dsb_locstr("obj.boltblade.name")
obj.boltblade_x.name=dsb_locstr("obj.boltblade_x.name")
obj.storm.name=dsb_locstr("obj.storm.name")
obj.storm_x.name=dsb_locstr("obj.storm_x.name")
obj.fury.name=dsb_locstr("obj.fury.name")
obj.fury_x.name=dsb_locstr("obj.fury_x.name")
obj.rablade.name=dsb_locstr("obj.rablade.name")
obj.rablade_x.name=dsb_locstr("obj.rablade_x.name")
obj.falchion.name=dsb_locstr("obj.falchion.name")
obj.sword.name=dsb_locstr("obj.sword.name")
obj.sword_cursed.name=dsb_locstr("obj.sword_cursed.name")
obj.rapier.name=dsb_locstr("obj.rapier.name")
obj.sabre.name=dsb_locstr("obj.sabre.name")
obj.biter.name=dsb_locstr("obj.biter.name")
obj.sword_samurai.name=dsb_locstr("obj.sword_samurai.name")
obj.delta.name=dsb_locstr("obj.delta.name")
obj.side_splitter.name=dsb_locstr("obj.side_splitter.name")
obj.diamond_edge.name=dsb_locstr("obj.diamond_edge.name")
obj.inquisitor.name=dsb_locstr("obj.inquisitor.name")
obj.dragon_fang.name=dsb_locstr("obj.dragon_fang.name")
obj.vorpal.name=dsb_locstr("obj.vorpal.name")
obj.axe.name=dsb_locstr("obj.axe.name")
obj.hardcleave.name=dsb_locstr("obj.hardcleave.name")
obj.executioner.name=dsb_locstr("obj.executioner.name")
obj.mace.name=dsb_locstr("obj.mace.name")
obj.mace_order.name=dsb_locstr("obj.mace_order.name")
obj.morningstar.name=dsb_locstr("obj.morningstar.name")
obj.bow.name=dsb_locstr("obj.bow.name")
obj.bow_claw.name=dsb_locstr("obj.bow_claw.name")
obj.crossbow.name=dsb_locstr("obj.crossbow.name")
obj.speedbow.name=dsb_locstr("obj.speedbow.name")
obj.sling.name=dsb_locstr("obj.sling.name")
obj.shield_buckler.name=dsb_locstr("obj.shield_buckler.name")
obj.shield_neta.name=dsb_locstr("obj.shield_neta.name")
obj.shield_hide.name=dsb_locstr("obj.shield_hide.name")
obj.shield_crystal.name=dsb_locstr("obj.shield_crystal.name")
obj.shield_small.name=dsb_locstr("obj.shield_small.name")
obj.shield_wood.name=dsb_locstr("obj.shield_wood.name")
obj.shield_large.name=dsb_locstr("obj.shield_large.name")
obj.shield_sar.name=dsb_locstr("obj.shield_sar.name")
obj.shield_lyte.name=dsb_locstr("obj.shield_lyte.name")
obj.shield_ra.name=dsb_locstr("obj.shield_ra.name")
obj.shield_darc.name=dsb_locstr("obj.shield_darc.name")
obj.shield_dragon.name=dsb_locstr("obj.shield_dragon.name")
obj.choker.name=dsb_locstr("obj.choker.name")
obj.jewelsymal.name=dsb_locstr("obj.jewelsymal.name")
obj.illumulet.name=dsb_locstr("obj.illumulet.name")
obj.gem_of_ages.name=dsb_locstr("obj.gem_of_ages.name")
obj.ekkhard_cross.name=dsb_locstr("obj.ekkhard_cross.name")
obj.moonstone.name=dsb_locstr("obj.moonstone.name")
obj.hellion.name=dsb_locstr("obj.hellion.name")
obj.pendant_feral.name=dsb_locstr("obj.pendant_feral.name")
obj.compass_n.name=dsb_locstr("obj.compass_n.name")
obj.compass_e.name=dsb_locstr("obj.compass_e.name")
obj.compass_s.name=dsb_locstr("obj.compass_s.name")
obj.compass_w.name=dsb_locstr("obj.compass_w.name")
obj.key_iron.name=dsb_locstr("obj.key_iron.name")
obj.key_b.name=dsb_locstr("obj.key_b.name")
obj.key_solid.name=dsb_locstr("obj.key_solid.name")
obj.key_square.name=dsb_locstr("obj.key_square.name")
obj.key_tourquoise.name=dsb_locstr("obj.key_tourquoise.name")
obj.key_cross.name=dsb_locstr("obj.key_cross.name")
obj.key_onyx.name=dsb_locstr("obj.key_onyx.name")
obj.key_skeleton.name=dsb_locstr("obj.key_skeleton.name")
obj.key_gold.name=dsb_locstr("obj.key_gold.name")
obj.key_winged.name=dsb_locstr("obj.key_winged.name")
obj.key_topaz.name=dsb_locstr("obj.key_topaz.name")
obj.key_sapphire.name=dsb_locstr("obj.key_sapphire.name")
obj.key_emerald.name=dsb_locstr("obj.key_emerald.name")
obj.key_ruby.name=dsb_locstr("obj.key_ruby.name")
obj.key_ra.name=dsb_locstr("obj.key_ra.name")
obj.key_master.name=dsb_locstr("obj.key_master.name")
obj.gem_blue.name=dsb_locstr("obj.gem_blue.name")
obj.gem_orange.name=dsb_locstr("obj.gem_orange.name")
obj.gem_green.name=dsb_locstr("obj.gem_green.name")
obj.coin_copper.name=dsb_locstr("obj.coin_copper.name")
obj.coin_silver.name=dsb_locstr("obj.coin_silver.name")
obj.coin_gold.name=dsb_locstr("obj.coin_gold.name")
obj.coin_gor.name=dsb_locstr("obj.coin_gor.name")
obj.coin_sar.name=dsb_locstr("obj.coin_sar.name")
obj.waterskin.name=dsb_locstr("obj.waterskin.name")
obj.waterskin_1.name=dsb_locstr("obj.waterskin_1.name")
obj.waterskin_2.name=dsb_locstr("obj.waterskin_2.name")
obj.waterskin_full.name=dsb_locstr("obj.waterskin_full.name")
obj.apple.name=dsb_locstr("obj.apple.name")
obj.bread.name=dsb_locstr("obj.bread.name")
obj.cheese.name=dsb_locstr("obj.cheese.name")
obj.corn.name=dsb_locstr("obj.corn.name")
obj.drumstick.name=dsb_locstr("obj.drumstick.name")
obj.shank.name=dsb_locstr("obj.shank.name")
obj.s_slice.name=dsb_locstr("obj.s_slice.name")
obj.worm_round.name=dsb_locstr("obj.worm_round.name")
obj.d_steak.name=dsb_locstr("obj.d_steak.name")
obj.scroll.name=dsb_locstr("obj.scroll.name")
obj.chest.name=dsb_locstr("obj.chest.name")
obj.lockpicks.name=dsb_locstr("obj.lockpicks.name")
obj.mirror_of_dawn.name=dsb_locstr("obj.mirror_of_dawn.name")
obj.magnifier.name=dsb_locstr("obj.magnifier.name")
obj.boulder.name=dsb_locstr("obj.boulder.name")
obj.ashes.name=dsb_locstr("obj.ashes.name")
obj.stick.name=dsb_locstr("obj.stick.name")
obj.corbum.name=dsb_locstr("obj.corbum.name")
obj.rabbits_foot.name=dsb_locstr("obj.rabbits_foot.name")
And added this to localtext
Code: Select all
--All base dungeon items----
obj.bones.name Bones
obj.torch.name Torch
obj.torch_x.name Torch
obj.dart.name Poison Dart
obj.dart_csb.name Poison Dart
obj.throwing_star.name Throwing Star
obj.arrow.name Arrow
obj.slayer.name Slayer
obj.rock.name Rock
obj.dagger.name Dagger
obj.poison_desven.name Poison
obj.poison_slime.name Slime
obj.poison_ohven.name Poison
obj.fireball.name Fireball
obj.desewspell.name Des Ew Spell
obj.lightning.name Lightning
obj.zospell.name Zo Spell
obj.zokathra.name Zokathra Spell
obj.flamitt.name Flamitt
obj.flamitt_x.name Flamitt
obj.flask.name Empty Flask
obj.flask_bro.name Bro Potion
obj.flask_dane.name Dane Potion
obj.flask_ee.name Ee Potion
obj.flask_ku.name Ku Potion
obj.flask_mon.name Mon Potion
obj.flask_neta.name Neta Potion
obj.flask_ros.name Ros Potion
obj.flask_vi.name Vi Potion
obj.flask_ya.name Ya Potion
obj.flask_water.name Flask Of Water
obj.flask_water_yucky.name Flask Of Water
obj.flask_sar.name Sar_Potion
obj.flask_zo.name Zo_Potion
obj.fulbomb.name Ful Bomb
obj.venbomb.name Ven Bomb
obj.horn_of_fear.name Horn Of Fear
obj.rope.name Rope
obj.magicbox_blue.name Magical Box
obj.magicbox_green.name Magical Box
obj.eye_of_time.name Eye Of Time
obj.eye_of_time_x.name Eye Of Time
obj.stormring.name Stormring
obj.stormring_x.name Stormring
obj.wand.name Wand
obj.wand_x.name Wand
obj.teowand.name Teowand
obj.teowand_x.name Teowand
obj.staff.name Staff
obj.staff_claws.name Staff Of Claws
obj.staff_claws_x.name Staff Of Claws
obj.staff_yew.name Yew Staff
obj.staff_yew_x.name Yew Staff
obj.staff_manar.name Staff Of Manar
obj.staff_manar_x.name Staff Of Manar
obj.staff_irra.name Staff Of Irra
obj.staff_irra_x.name Staff Of Irra
obj.staff_snake.name Snake Staff
obj.staff_neta.name Cross Of Neta
obj.staff_conduit.name The Conduit
obj.staff_conduit_x.name The Conduit
obj.staff_serpent.name Serpent Staff
obj.staff_serpent_x.name Serpent Staff
obj.dragon_spit.name Dragon Spit
obj.dragon_spit_x.name Dragon Spit
obj.firestaff.name The Firestaff
obj.firestaff_gem.name The Firestaff
obj.lyf.name Sceptre Of Lyf
obj.lyf_x.name Sceptre Of Lyf
obj.cape.name Cape
obj.cloak_night.name Cloak Of Night
obj.halter.name Halter
obj.tattered_shirt.name Tattered Shirt
obj.robe_top.name Robe
obj.robe_fine_top.name Fine Robe
obj.kirtle.name Kirtle
obj.silk_shirt.name Silk Shirt
obj.elven_doublet.name Elven Doublet
obj.leather_jerkin.name Leather Jerkin
obj.tunic.name Tunic
obj.ghi.name Ghi
obj.mail_aketon.name Mail Aketon
obj.mithral_aketon.name Mithral Aketon
obj.flamebain.name Flamebain
obj.torsoplate.name Torso Plate
obj.torsoplate_cursed.name Torso Plate
obj.torsoplate_lyte.name Plate Of Lyte
obj.torsoplate_ra.name Plate Of Ra
obj.torsoplate_darc.name Plate Of Darc
obj.torsoplate_dragon.name Dragon Plate
obj.barbarian_hide.name Barbarian Hide
obj.tattered_pants.name Tattered Pants
obj.robe_bottom.name Robe
obj.robe_fine_bottom.name Fine Robe
obj.tabard.name Tabard
obj.gunna.name Gunna
obj.elven_huke.name Elven Huke
obj.leather_pants.name Leather Pants
obj.blue_pants.name Blue Pants
obj.ghi_trousers.name Ghi Trousers
obj.leg_mail.name Leg Mail
obj.mithral_mail.name Mithral Mail
obj.legplate.name Leg Plate
obj.legplate_cursed.name Leg Plate
obj.legplate_lyte.name Poleyn Of Lyte
obj.legplate_ra.name Poleyn Of Ra
obj.legplate_darc.name Poleyn Of Darc
obj.legplate_dragon.name Dragon Poleyn
obj.powertowers.name Powertowers
obj.berzerker_helm.name Berzerker Helm
obj.berzerker_helm_csb.name Berzerker Helm
obj.helmet.name Helmet
obj.basinet.name Basinet
obj.casquencoif.name Casque'N Coif
obj.armet.name Armet
obj.armet_cursed.name Armet
obj.helm_lyte.name Helm Of Lyte
obj.helm_ra.name Helm Of Ra
obj.helm_darc.name Helm Of Darc
obj.helm_dragon.name Dragon Helm
obj.dexhelm.name Dexhelm
obj.calista.name Calista
obj.crown_nerra.name Crown Of Nerra
obj.sandals.name Sandals
obj.boots_suede.name Suede Boots
obj.boots_leather.name Leather Boots
obj.hosen.name Hosen
obj.footplate.name Foot Plate
obj.footplate_cursed.name Foot Plate
obj.footplate_lyte.name Greave Of Lyte
obj.footplate_ra.name Greave Of Ra
obj.footplate_darc.name Greave Of Darc
obj.footplate_dragon.name Dragon Greave
obj.boots_elven.name Elven Boots
obj.boots_speed.name Boots Of Speed
obj.club.name Club
obj.club_stone.name Stone Club
obj.boltblade.name Bolt Blade
obj.boltblade_x.name Bolt Blade
obj.storm.name Storm
obj.storm_x.name Storm
obj.fury.name Fury
obj.fury_x.name Fury
obj.rablade.name Ra Blade
obj.rablade_x.name Ra Blade
obj.falchion.name Falchion
obj.sword.name Sword
obj.sword_cursed.name Sword
obj.rapier.name Rapier
obj.sabre.name Sabre
obj.biter.name Biter
obj.sword_samurai.name Samurai Sword
obj.delta.name Delta
obj.side_splitter.name Side Splitter
obj.diamond_edge.name Diamond Edge
obj.inquisitor.name The Inquisitor
obj.dragon_fang.name Dragon Fang
obj.vorpal.name Vorpal Blade
obj.axe.name Axe
obj.hardcleave.name Hardcleave
obj.executioner.name Executioner
obj.mace.name Mace
obj.mace_order.name Mace Of Order
obj.morningstar.name Morningstar
obj.bow.name Bow
obj.bow_claw.name Claw Bow
obj.crossbow.name Crossbow
obj.speedbow.name Speedbow
obj.sling.name Sling
obj.shield_buckler.name Buckler
obj.shield_neta.name Shield Of Neta
obj.shield_hide.name Hide Shield
obj.shield_crystal.name Crystal Shield
obj.shield_small.name Small Shield
obj.shield_wood.name Wooden Shield
obj.shield_large.name Large Shield
obj.shield_sar.name Sar Shield
obj.shield_lyte.name Shield Of Lyte
obj.shield_ra.name Shield Of Ra
obj.shield_darc.name Shield Of Darc
obj.shield_dragon.name Dragon Shield
obj.choker.name Choker
obj.jewelsymal.name Jewel Symal
obj.illumulet.name Illumulet
obj.gem_of_ages.name Gem Of Ages
obj.ekkhard_cross.name Ekkhard Cross
obj.moonstone.name Moonstone
obj.hellion.name Hellion
obj.pendant_feral.name Pendant Feral
obj.compass_n.name Compass
obj.compass_e.name Compass
obj.compass_s.name Compass
obj.compass_w.name Compass
obj.key_iron.name Iron Key
obj.key_b.name Key Of B
obj.key_solid.name Solid Key
obj.key_square.name Square Key
obj.key_tourquoise.name Tourquoise Key
obj.key_cross.name Cross Key
obj.key_onyx.name Onyx Key
obj.key_skeleton.name Skeleton Key
obj.key_gold.name Gold Key
obj.key_winged.name Winged Key
obj.key_topaz.name Topaz Key
obj.key_sapphire.name Sapphire Key
obj.key_emerald.name Emerald Key
obj.key_ruby.name Ruby Key
obj.key_ra.name Ra Key
obj.key_master.name Master Key
obj.gem_blue.name Sapphire
obj.gem_orange.name Topaz
obj.gem_green.name Emerald
obj.coin_copper.name Copper Coin
obj.coin_silver.name Silver Coin
obj.coin_gold.name Gold Coin
obj.coin_gor.name Gor Coin
obj.coin_sar.name Sar Coin
obj.waterskin.name Waterskin
obj.waterskin_1.name Water
obj.waterskin_2.name Water
obj.waterskin_full.name Water
obj.apple.name Apple
obj.bread.name Bread
obj.cheese.name Cheese
obj.corn.name Corn
obj.drumstick.name Drumstick
obj.shank.name Shank
obj.s_slice.name Screamer Slice
obj.worm_round.name Worm Round
obj.d_steak.name Dragon Steak
obj.scroll.name Scroll
obj.chest.name Chest
obj.lockpicks.name Lock Picks
obj.mirror_of_dawn.name Mirror Of Dawn
obj.magnifier.name Magnifier
obj.boulder.name Boulder
obj.ashes.name Ashes
obj.stick.name Stick
obj.corbum.name Corbum
obj.rabbits_foot.name Rabbit'S Foot
It works perfectly well and as I have all the data in a google sheet it was easy to do this in bulk.
Cheers
Nick K.
Re: Nick's BIG DSB thread and Dungeon Re-Master
Posted: Wed Sep 02, 2020 10:36 pm
by Automaton
Had to trawl the forum to find these - I was sure they existed, but the question is not answered fully in the thread a bit down below "Skip intro" so I thought I would post it again.
Add this to your startup.lua to skip the intro and the main screen to jump straight into game:
Code: Select all
function sys_game_intro()
return true
end
function sys_game_start(savegames)
return nil
end
Why?
I am/was/will use test dungeon from inside ESB, but sometimes (normally, well mostly, when I've done something wrong) the dungeon will error on startup and it totally breaks this function. Further attempts to test the dungeon from ESB will start DSB but it gets stuck on "Establishing connection with ESB" (If it helps the next line should be "initialising lua" if I am not mistaken).
I've searched for rogue processes and threads that have been made surrogate so I can terminate them, but I can't see anything that sticks out. Got no idea what dll's in com processes are still hanging about.
Cheers!
Nick K
Re: Nick's BIG DSB thread and Dungeon Re-Master
Posted: Wed Sep 02, 2020 10:43 pm
by Automaton
I can't post a full list quite yet, but I am compiling them.
Corrections and adjustments to graphics.
I noticed that the wall grate was off by a few pixels at certain distances so corrected it.
I made some adjustments to side views of graphics, and this is to recenter them on the wall - to my way of thinking, they are placed to far back on the block of wall.
Probably, by the end, if I ever get there, this list will be extensive.
Do with it as you will, just posting them here so it's out there
Added to my graphics lua
Code: Select all
--Corrections
gfx.wallgrate_front.y_off = 112
gfx.wallgrate_front.mid_y_tweak = -3
gfx.wallgrate_side.y_off = 93
--Adjustments
gfx.keyhole_plain_side.x_off = -8
gfx.keyhole_cross_side.x_off = -8
gfx.keyhole_double_side.x_off = -8
gfx.keyhole_emerald_side.x_off = -8
gfx.keyhole_gold_side.x_off = -8
gfx.keyhole_master_side.x_off = -8
gfx.keyhole_onyx_side.x_off = -8
gfx.keyhole_ra_side.x_off = -8
gfx.keyhole_ruby_side.x_off = -8
gfx.keyhole_skeleton_side.x_off = -4
gfx.keyhole_solid_side.x_off = -8
gfx.keyhole_square_side.x_off = -8
gfx.keyhole_topaz_side.x_off = -8
gfx.keyhole_turquoise_side.x_off = -8
gfx.keyhole_winged_side.x_off = -8
gfx.coinslot_side.x_off = -8
gfx.gemhole_side.x_off = -8
gfx.eye_side.x_off = -8
gfx.slimedrain_side.mid_y_tweak = -4
gfx.fountain_lion_side.x_off = 16
gfx.fountain_medusa_side.x_off = 16
Cheers!
Nick K
Re: Nick's BIG DSB thread and Dungeon Re-Master
Posted: Wed Sep 02, 2020 10:59 pm
by Gambit37
I like your new fountain, will be good to see it on a finished wall. One quick note about the shadow though: you've offset it to one side, but the light in DM is considered to come from the party, so shadows should be centred below, not off to one side.
Regarding your questions, I believe that #1 is already doable using a sound table (search the base files for how the player "oof" is handled). All the others are probably doable (except #5), but you'd likely need to override a lot of core functions which does become a bit of a pain. Sophia will be able to advise better.
Re: Nick's BIG DSB thread and Dungeon Re-Master
Posted: Wed Sep 02, 2020 11:35 pm
by Sophia

Multiple random attack sounds are already doable. Just pass a table instead of a single sound. For example:
Code: Select all
-- Make mummies sound much more interesting
obj.mummy.attack_sound = { snd.monster_haa, snd.monster_squeak, snd.monster_roar }

A spotting sound would need to be put into
ai_monster_investigate and that isn't the easiest function to modify; I've tried to avoid situations where copy-pasting huge chunks of the base code are necessary. I'll add a better hook to the base code and get back to you.

Playing a sound when the monster gets scared would cause a similar issue with
method_causefear so the solution is probably similar. This will also not be terribly difficult for me to add to the base code, so I'll do that.

Due to not wanting to have too many sound handles active at a time, there isn't an easy way to give monsters a persistent ambient sound. In addition,
dsb_3dsound currently doesn't support moving the 3d location of a sound that is already playing (though the underlying API of course does) so this isn't the easiest thing.

You can change the position of the viewport on the screen with
dsb_viewport, so rapidly and randomly moving it around can create a shaking effect.
Code: Select all
-- This code will put the viewport back where it belongs
dsb_viewport(gui_info.viewport.x, gui_info.viewport.y)
The current effects are all pretty low level and end up pushing around a lot of pixels so there's unfortunately no way I could make them accessible via Lua and get any sort of acceptable performance. If DSB used a modern graphics architecture then of course I could just let you write your own in GLSL or something, but that unfortunately isn't possible right now.

Definitely! You can rotate the party with
dsb_party_place and rotate monsters with
dsb_set_facedir. This may cause weirdness with rats and worms if they aren't centered, though.

DSB integration with ESB is very new and experimental. Back before that existed, skipping the intro and the front door was the only way to test your dungeon quickly. As for why it sometimes hangs when stuff breaks, like I said, new and experimental. If you can give me steps to reproduce an error condition then I will investigate.
Re: Nick's BIG DSB thread and Dungeon Re-Master
Posted: Thu Sep 03, 2020 7:53 am
by Gambit37
You can change the position of the viewport on the screen with dsb_viewport, so rapidly and randomly moving it around can create a shaking effect.
Very creative, I'd never thought of that! DSB keeps on giving.
Regarding the title case for object items, you might be able to avoid all that and instead override the text rendering parts of various functions and filter the output through one of Lua's string functions. I do something similar in my own project, but it depends how comfortable you are about maintaining modified base code (which becomes a bit annoying each time DSB is updated).
Re: Nick's BIG DSB thread and Dungeon Re-Master
Posted: Thu Sep 03, 2020 10:27 pm
by Automaton
Thank you both!
This is very interesting and now I have a lot more testing to do on top of my lots of testing.
Thanks for the pointers on the lighting. I'll redo it and pay more attention.
Re: Nick's BIG DSB thread and Dungeon Re-Master
Posted: Mon Sep 07, 2020 11:50 pm
by Automaton
Me again!
If I go quiet on the forums, I'm either A) Dead B)lost interest and buggered off to another game or C) Really busy getting on with work.
In this case C. So many GFX to change, and I keep doing them, and redoing them until I am happy with them.
Finally got a full base dungeon wall set I like. Tried 2 or 3, didn't work for me. This one though along with it's floor and ceiling is not bad. Its got the right graininess, flips well and I've gamma matched it fair close to the original DM.
I'm spending a fair bit of time on the wall ornaments to make use of alpha as much as possible and make them wall set agnostic (hopefully can be used on the upcoming walls I'l be doing.
Got 7 different coloured hazes going and icons in ESB to boot!
Was quite an experience getting a full wall set together, I had to tweak some of the coords on the doorframes as they didn't marry well with floor and ceiling.
@gambit - readjusted shadows on a host of things - it should all look like the source is emanating from the party now.
So, here is some stuff.
Cheers!
Nick
Re: Nick's BIG DSB thread and Dungeon Re-Master
Posted: Tue Sep 08, 2020 4:28 pm
by MasterWuuf
This is some great work, Automaton. I'm looking forward to seeing a finished product.
P.S. Any chance you'll consider adding a few 'new' modules to the DM world?
I don't know about others, but I would enjoy struggling through some new dungeon adventures, DM style.
Re: Nick's BIG DSB thread and Dungeon Re-Master
Posted: Tue Sep 08, 2020 7:46 pm
by Gambit37
Nice work!

Yep, wall sets are hard to do. I've started and junked many over the years. Very tricky to make it all look convincing in original DM resolution, even harder when it's 2x. My only feedback on the walls and floor would be to fade them to black faster, they seem too bright all the way to the back.
Re: Nick's BIG DSB thread and Dungeon Re-Master
Posted: Wed Sep 09, 2020 2:49 pm
by Automaton
Thank you!
@masterwuuf - I am considering adding new content, but its not for right now, I am busy in GFX and composing ambient tracks.
@Gambit - cheers, I'll re look and post my results.
Cheers!
Nick K
Re: Nick's BIG DSB thread and Dungeon Re-Master
Posted: Sat Sep 12, 2020 2:28 pm
by Automaton
9/12 update
Thanks Gambit - I've now mapped light on the ceiling and floor to a half circle, perspective mapped onto the graphics as a screen overlay so it looks like this (btw walls not yet gamma corrected, thats a to do)
Pits, rusted square grate and black iron (new from me) grates finished. I decided that all the floor grates will be housed over pits to be a bit more immersive and I'm toying with the idea of having a fake grate that is actually a pit (don't worry , Im planning a few graphical clues for that)
Unlike the original DM grates - mine have a front and side 0 frame, so you can still see them when you step on them.
I still have 4 designs of grate to do, with the circular one in the pipe line. (anything to add mmersion and flavour I say!)
Heres my ESB - Im adding new icons for objects as I go, you can se a black grate and all the hazes
And here are my colour masks in gimp that help me position, place and tweak x,y positions in graphics.lua to make it all line up correctly
Cheers
Nick K
Re: Nick's BIG DSB thread and Dungeon Re-Master
Posted: Sat Sep 12, 2020 2:33 pm
by Automaton
@sophia - can we do floor objects at position 3 far? You see in the floor image above the 2 far purple squares on the left and right - I mean them.
Cheers
Nick K
Re: Nick's BIG DSB thread and Dungeon Re-Master
Posted: Sat Sep 12, 2020 2:38 pm
by Automaton
@sophia again - When Im done, I plan on giving all this content up as "Nicks DSB construction set" including the changes to the editor and including all the xcf graphics templates. If you are interested in including it/hosting it, you are more than welcome, otherwise, I'll do it myself as a separate thing.
Cheers
Nick K
Re: Nick's BIG DSB thread and Dungeon Re-Master
Posted: Sat Sep 12, 2020 8:48 pm
by Prince of Elves
Wow it's starting to look really cool.

Very nice work there.
Re: Nick's BIG DSB thread and Dungeon Re-Master
Posted: Sun Sep 13, 2020 6:55 pm
by Sophia
No, the only thing rendered on those far left and right squares is the wall. Wallitems and flooritems are not drawn.
Re: Nick's BIG DSB thread and Dungeon Re-Master
Posted: Sat Sep 19, 2020 3:55 pm
by Automaton
Re: Nick's BIG DSB thread and Dungeon Re-Master
Posted: Sat Sep 19, 2020 8:27 pm
by Prince of Elves
Whoa really nice again.

I'll definitely play that one once it's finished. You seem to have a knack at making things look more modern while preserving the classic feel at the same time. Keep up the great work!
PS: The eyvenir is a bit hard to read, but looks cooler, at least to me.
Re: Nick's BIG DSB thread and Dungeon Re-Master
Posted: Sun Sep 20, 2020 9:06 am
by Automaton
Prince of Elves wrote: Sat Sep 19, 2020 8:27 pm
PS: The eyvenir is a bit hard to read, but looks cooler, at least to me.
Eyvenir I chose specifically because A) it looks rune-ish B) Some of the letters, you have to stop and think about before you realise what it is C) It "Feels" DM-ish.
I do have several other fonts that are dungeon wall items, but not sure if I will use them.
I was toying with the idea of having dwarfish and elvish fonts and the player having to use clues to decode them.
Like I said before, I have sooo many ideas, we'll see how many I can implement.
Cheers!
Nick K.
Re: Nick's BIG DSB thread and Dungeon Re-Master
Posted: Sun Sep 20, 2020 9:09 am
by Gambit37
Some cool stuff there, nice work. I'm not a big fan of the new floor though, it doesn't really fit the walls and the repeating pattern is very obvious. Your previous floor is much better. I'd also shorten the shadow under the mirror: your shadow makes it appear that the mirror is a very deep box mounted on the wall. Since it's just a shallow wooden frame, the shadow should be equally shallow.
Re: Nick's BIG DSB thread and Dungeon Re-Master
Posted: Mon Sep 21, 2020 10:05 pm
by Automaton
@Gambit - Thanks for the feedback. shadow under mirror shortened. The new floor is not "The floor" - As I am doing many wallsets, my floor and ceiling keep changing as I am testing them, but point taken!
Cheers!
Nick K.
Re: Nick's BIG DSB thread and Dungeon Re-Master
Posted: Mon Sep 21, 2020 10:39 pm
by Automaton
Update 21-09
I have been pondering the monsters for some time as well as testing theories and ideas.
Should I remake the original DM graphics but better? If so how? Redraw them from hand? import the side and front into blender and recreate, retexture and relight them in 3D? All possible for me, I know photoshop, illustrator, gimp, inkscape, blender pretty well, but it's all about the time and effort.
There is also some "Cheats". I do plan on reusing (as well as updating) some of MONFULIR's work, but I believe most of his monster graphics came from the eye of the beholder series.
Textures and items I can grab random images off the net and do pretty cool stuff. A gold plaque texture here, a few layers of overlays there and a nice runic emblem in linear burn mode and voila a RA keyhole:
Then there are a few loverly gems like this sheet, offered for free by the guy doing the LOGR graphics specifically for a DM remake:
Also, there is the fab, sketchfab (
https://sketchfab.com/lethanavir/collec ... eval-props) that has 1000's of free pretextured 3d models that you can preview and spin on the webpage (yes, I've already just grabbed screenshots and used them)
Anyhow, back to monsters. What I don't want is blurred, linear, cubic, halo smeared shit. I'm looking for evolution of DM-ness.
After fiddling with A LOT of gimp modules, plugins and filters, I came up with this method and decided to use the SNES mobs (not all of them though, some of the original are better suited, but need more work). Here is the methodology, let me know what you think!
Original:
Recoloured to my own taste:
GMIC upscale x2 in ycbcr mode (This specific upscale works best on indexed images and is by far the best for upscaling pixelart and I've tried loads with loads of settings):
Rogue black and white pixels tamed & corrections to details:
A little bit of magic - GMIC add grain. this plug has several kodak presets and does really well at reinjecting pixel graininess into smoothed or low tone count images:
Airbrushed shadows set to luma darken mode eventually:
Shadow layer & art together:
GMIC Antialiasing applied to just a 2 pixel border around the edge:
Perspective shadow added (well 2 actually with bits deleted in between):
In the dungeon:
Screamer and mummy with the same method (The mummy I hue shifted to make the bandages look a bit dirty):
Cheers!
Nick K!
Re: Nick's BIG DSB thread and Dungeon Re-Master
Posted: Tue Sep 22, 2020 1:36 pm
by Gambit37
Over the years tinkering with RTC and DSB, I did all the same visual experiments as you

The only real conclusion I came to is that it doesn't really matter what methods you use, the key is to be make sure all your final graphics share a consistent style.
If you're able to use Blender, personally I'd go down that route -- do everything in 3D and render out everything with the same lighting and perspective. You'd have an amazing version of DM if you did that. But as you know, it takes a lot of talent and a looooooooong time. When I still had a lot of free time years ago, it was a project I really wanted to do, but as my free time got less and less, I knew I'd never be able to finish the entire thing using 3D renders, which is why I chose to stick with low-res 320x240 style images.
Re: Nick's BIG DSB thread and Dungeon Re-Master
Posted: Sat Sep 26, 2020 7:56 pm
by Automaton
Update 26-09
Food glorious food!
Turnip and salami
A Pumpkin in an alcove
Mango, Green Apple, Corn and Red Apple
Pumpernickel, Aged Cheese, Crusty Bread and Cheese
Drumstick, Shank, Cured Ham and Dragon Steak
Chest and Moneybox
Moneybox inside
Mushrooms!
I created 6, all called mushroom, 3 with the left graphic and 3 with the right graphic
For the left one, 1 type does nothing (small food value), 1 poisons you and the last randomly adjusts (temporarily) one of your stats by -10 to +10
For the right one, 1 does nothing, 1 sets your health, stamina and mana to full and the last sets your health, stamina and mana to a random of the same current bar.
All tested and working
Rockpile
Screamer (redux)
Shrieker!
1 Worm dead, 1 attacking
Worm round, screamer and shrieker slices
Cheers
Nick K.
Re: Nick's BIG DSB thread and Dungeon Re-Master
Posted: Mon Sep 28, 2020 11:31 am
by Automaton
Help! My brain is melting!
So I was redoing all the gfx for potions and I went off on a bit of a tangent
Well, here are some potions.
Anyhow, I placed the Zo and Sar potions into the game, gave them spells to make them and gfx and whatnot and I tried to think of cool effects to give them. Aha, I thought, some heal over time sounds good. So I gave it to the Zo potion.
I basically set up a new condition called regen, took all the poisoning code, copied it and just used a + instead of a - when adding to health (still got to tweak the power of this).
The problem is that it calls dsb_damage_popup, which is working - it seems like you are taking 7 damage from the damage graphic overlay, but it's actually positive.
I created the GFX to do a heal_popup, found some code in
render.lua that seems to be the what I want (albeit the inverse), but I can't seem to make it do what I want.
Code: Select all
-- Render the damage taken by a character
function sys_render_character_damage(bmp, ppos, who, is_dead, in_inv, damage_type, damage_val)
local damage_image
-- Graphics coordinates
local xc = 0
local yc = 0
--Text coordinates
local txc = 0
local tyc = 0
if (in_inv) then
damage_image = gfx.damage_full
xc = 14
txc = 48
tyc = 24
else
damage_image = gfx.damage_bar
txc = 44
tyc = 2
end
local dwidth = dsb_bitmap_width(damage_image)
local dheight = math.floor(dsb_bitmap_height(damage_image) / 3)
dsb_bitmap_draw(damage_image, bmp, 0, damage_type * dheight, xc, yc, dwidth, dheight, false)
dsb_bitmap_textout(bmp, sys_font, damage_val, txc, tyc, CENTER, {255,255,255} )
end
I understand how dsb_bitmap_draw and dsb_bitmap_textout work, but the destination value being passed "bmp" I can't work out how to make this be the affected character.
TLDR How do I make an equivalent "dsb_heal_popup"?
Extras!
I liked reversing the poison so much to make a regen, I added code for 2 new monster conditions - "disease" and "drain"
disease ticks slower than poison and has no heal available as yet and does:
Code: Select all
function disease_func(who, str)
if (dsb_char_ppos(who) == nil) then
return str
end
local dis_dmg = math.floor(str/32)
if (dis_dmg < 1) then dis_dmg = 1 end
damage_char(who, STAMINA, dis_dmg, true)
dsb_set_food(who, dsb_get_food(who) - (dis_dmg*2))
dsb_set_water(who, dsb_get_water(who) - (dis_dmg*2))
dsb_set_stat(who, STAT_VIT, dsb_get_stat(who, STAT_VIT) - (dis_dmg*2))
if (str > 90) then
str = str - 1
end
return(str-1)
end
drain is a mana drain(poison) and wis debuff
Code: Select all
function drained_func(who, str)
if (dsb_char_ppos(who) == nil) then
return str
end
local drain_dmg = math.floor(str/32)
if (drain_dmg < 1) then drain_dmg = 1 end
damage_char(who, MANA, drain_dmg, true)
dsb_set_stat(who, STAT_WIS, dsb_get_stat(who, STAT_WIS) - (drain_dmg*2))
if (str > 90) then
str = str - 1
end
return(str-1)
end
I also changed the UI to show whats what
This kind of came about due to browsing through examples from monfulir, the test dungeon from Sophia and kaypy's libraries. The psychic demon example had mana damage and I saw from the damage bubble GFX that it was possible for stamina too and I wanted to make use of them.
Anyhow - if you can help - please do!
Nick K
Re: Nick's BIG DSB thread and Dungeon Re-Master
Posted: Mon Sep 28, 2020 1:12 pm
by Automaton
Sophia,
I think I may be doing new conditions wrong (as in I recreated the table with all the old entries and added my own). I did see info on the wiki about dsb_add_condition and dsb_replace_condition and monfulir's examples seem to use them, but the wiki says "Deprecated" after both functions. Are they to be used or no?
what is the correct way to add new conditions?
Cheers!
Nick K
Re: Nick's BIG DSB thread and Dungeon Re-Master
Posted: Mon Sep 28, 2020 1:16 pm
by Automaton
I've also expanded ESB's gfx (mostly to help me) for different things and monsters.
graphics for coins, food, weapons, gems and monsters
Cheers
Nick K
Re: Nick's BIG DSB thread and Dungeon Re-Master
Posted: Mon Sep 28, 2020 6:21 pm
by kaypy
If you are tweaking ESB, then one thing I found useful once you get to serious dungeon building is separately marking buttons and keyholes vs the other wall objects
...
I think that sys_render_character_damage just prepares the image for rendering that actually occurs on the engine-side, so it wont help you actually place the image.
Re: Nick's BIG DSB thread and Dungeon Re-Master
Posted: Mon Sep 28, 2020 6:37 pm
by kaypy
(edit window timed out)
rhelper.c\call_lua_damage_renderer would be where things happen. Which I think means its not something you are going to be able to do from the lua side. (You probably aren't going to be able to modify it, but you may want to grab the DSB c source just so you can check this sort of thing)