- Nuke some uses of strcpy, sprintf, etc; current info strings in the scenario editor are now stored as std::string instead of C-strings. - A smarter method of calculating the "erase" terrain for a given terrain type. In case of impassable spaces, trims, and walkways, instead of using the ground terrain, the trim terrain (if any) is used as the erase terrain; if there's no trim, ground 0 (cave, by default) is used. The method of determining if two terrains are essentially the same (ie, whether to paint or erase) has also been improved a little. - Also, to reduce confusion, the erase terrain is now shown beneath the paint terrain. Terrain changes: - Add "archetype" flag as a better way of determining which amongst a set of terrains sharing the same ground type should be considered as the most basic terrain of that ground type. It's automatically applied to any terrains using original graphics when importing an old scenario; generally, any with no terrain special will be marked as an archetype, but if the lava graphic was used, it's instead any with a terrain special. It's a crude method that may easily break, but probably not possible to do better. - When importing old scenarios, set the two walkways to be separate ground types while the crops should have grass as their ground, and the conveyors have cave. - Fix fly, boat, block horse LEDs not being cleared if a terrain lacks that flag when using the arrow buttons. This could lead to terrains accidentally picking up the flags of nearby terrains in the list. - Fix the block horse flag was not correctly saved when closing the dialog. - Fix the block horse flag not being correctly loaded from the scenario file
110 lines
7.7 KiB
XML
110 lines
7.7 KiB
XML
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
|
|
<?xml-stylesheet href="dialog.xsl" type="text/xsl"?>
|
|
<!--<!DOCTYPE dialog SYSTEM "dialog.dtd">-->
|
|
<dialog skin='light' fore='black' debug='true' defbtn='done'>
|
|
<!--
|
|
TODO: Assign numeric types (type = 'int' or 'uint') to fields as appropriate
|
|
-->
|
|
<text size='large' top='6' left='50' height='17' width='138'>Edit Terrain Type</text>
|
|
<pict name='graphic' type='ter' num='0' top='8' left='8'/>
|
|
<text top='8' left='222' height='14' width='111'>Terrain number:</text>
|
|
<text name='number' top='8' left='340' height='14' width='37'>*num</text>
|
|
<text top='31' left='50' height='14' width='120'>Terrain type name:</text>
|
|
<field name='name' top='30' left='186' height='16' width='186'/>
|
|
<text top='63' left='9' height='14' width='120'>Terrain picture:</text>
|
|
<field name='pict' top='62' left='141' height='16' width='52' />
|
|
<button name='pickpict' type='large' top='59' left='205'>Pick Picture</button>
|
|
<button name='pickanim' type='large' top='59' left='319'>Animated</button>
|
|
<text top='90' left='8' height='14' width='120'>Terrain blockage:</text>
|
|
<group name='blockage'>
|
|
<led name='clear' top='90' left='132' state='off' width='120'>Clear</led>
|
|
<led name='curtain' top='107' left='132' state='off' width='120'>Walk through, opaque</led>
|
|
<led name='special' top='124' left='132' state='off' width='120'>Clear, special</led>
|
|
<led name='window' top='90' left='293' state='off' width='120'>Clear, blocked</led>
|
|
<led name='obstructed' top='107' left='293' state='off' width='120'>Blocked, obstructed</led>
|
|
<led name='opaque' top='124' left='293' state='off' width='120'>Blocked, opaque</led>
|
|
</group>
|
|
<led name='flight' top='150' left='26' state='off' width='120' font='bold'>Can fly over?</led>
|
|
<led name='boat' top='150' left='154' state='off' width='120' font='bold'>Can boat over?</led>
|
|
<led name='horse' top='150' left='307' state='off' width='120' font='bold'>Blocked to horses?</led>
|
|
<led name='arch' top='150' left='447' state='off' width='120' font='bold'>Archetype?</led>
|
|
<text top='165' left='8' height='14' width='91'>Step sound:</text>
|
|
<group name='sound'>
|
|
<led name="step" top='167' left='102' state='off' width='60'>Footstep</led>
|
|
<led name="squish" top='167' left='186' state='off' width='60'>Squish</led>
|
|
<led name="crunch" top='167' left='282' state='off' width='60'>Crunch</led>
|
|
<led name="nosound" top='167' left='386' state='off' width='60'>Silence</led>
|
|
<led name="splash" top='167' left='497' state='off' width='60'>Big Splash</led>
|
|
</group>
|
|
<text top='194' left='8' height='14' width='91'>Shortcut key:</text>
|
|
<field name='key' top='193' left='109' height='16' width='52' />
|
|
<text top='194' left='171' height='14' width='91'>Light radius:</text>
|
|
<field name='light' top='193' left='271' height='16' width='52' />
|
|
<text top='193' left='333' height='14' width='128'>Transform to what?</text>
|
|
<field name='trans' top='193' left='467' height='16' width='52' />
|
|
<button name='picktrans' top='190' left='530' type='regular'>Choose</button>
|
|
|
|
<text top='217' left='8' height='14' width='91'>Ground type:</text>
|
|
<field name='ground' top='216' left='109' height='16' width='52' />
|
|
<text top='217' left='171' height='14' width='91'>Trim terrain:</text>
|
|
<field name='trimter' top='216' left='271' height='16' width='52' />
|
|
<text top='217' left='333' height='14' width='128'>Trim type:</text>
|
|
<field name='trim' top='216' left='467' height='16' width='52' />
|
|
<button name='picktrim' top='213' left='530' type='regular'>Choose</button>
|
|
|
|
<text size='large' top='238' left='8' height='14' width='175'>Special properties:</text>
|
|
<group name="prop">
|
|
<led name='prop0' top='254' left='8' state='off' width='124'>None</led>
|
|
<led name='prop1' top='269' left='8' state='off' width='124'>Change when step on</led>
|
|
<led name='prop2' top='284' left='8' state='off' width='124'>Damaging terrain</led>
|
|
<led name='prop3' top='299' left='8' state='off' width='124'>Is a bridge</led>
|
|
<led name='prop4' top='314' left='8' state='off' width='124'>Change while occupied</led>
|
|
<led name='prop5' top='329' left='8' state='off' width='124'>Dangerous terrain</led>
|
|
<led name='prop6' top='344' left='8' state='off' width='124'>Reserved</led>
|
|
<led name='prop7' top='359' left='8' state='off' width='124'>Crumbling terrain</led>
|
|
<led name='prop8' top='254' left='158' state='off' width='124'>Lockable terrain</led>
|
|
<led name='prop9' top='269' left='158' state='off' width='124'>Unlockable terrain</led>
|
|
<led name='prop10' top='284' left='158' state='off' width='124'>Reserved</led>
|
|
<led name='prop11' top='299' left='158' state='off' width='124'>Is a sign</led>
|
|
<led name='prop12' top='314' left='158' state='off' width='124'>Call special when step</led>
|
|
<led name='prop13' top='329' left='158' state='off' width='124'>Reserved</led>
|
|
<led name='prop14' top='344' left='158' state='off' width='124'>Is a container</led>
|
|
<led name='prop15' top='359' left='158' state='off' width='124'>Wilderness (Caves)</led>
|
|
<led name='prop16' top='254' left='308' state='off' width='124'>Wilderness (Surface)</led>
|
|
<led name='prop17' top='269' left='308' state='off' width='124'>Waterfall (Caves)</led>
|
|
<led name='prop18' top='284' left='308' state='off' width='124'>Waterfall (Surface)</led>
|
|
<led name='prop19' top='299' left='308' state='off' width='124'>Conveyor Belt</led>
|
|
<led name='prop20' top='314' left='308' state='off' width='124'>Blocked to monsters</led>
|
|
<led name='prop21' top='329' left='308' state='off' width='124'>Town entrance</led>
|
|
<led name='prop22' top='344' left='308' state='off' width='124'>Change when used</led>
|
|
<led name='prop23' top='359' left='308' state='off' width='124'>Call special when used</led>
|
|
</group>
|
|
<text top='385' left='9' height='14' width='91'>Extra values:</text>
|
|
<text name='flag1text' framed='true' top='385' left='109' height='14' width='209'>*flag1</text>
|
|
<field name='flag1' top='384' left='329' height='16' width='64' />
|
|
<button name='pickflag1' top='381' left='404' type='regular'>Choose</button>
|
|
<button name='editspec' top='381' left='404' type='large'>Create/Edit</button>
|
|
<text name='flag2text' framed='true' top='410' left='109' height='14' width='209'>*flag2</text>
|
|
<field name='flag2' top='409' left='329' height='16' width='64' />
|
|
<button name='pickflag2' top='406' left='404' type='regular'>Choose</button>
|
|
<text name='flag3text' framed='true' top='435' left='109' height='14' width='209'>*flag3</text>
|
|
<field name='flag3' top='434' left='329' height='16' width='64' />
|
|
<button name='pickflag3' top='431' left='404' type='regular'>Choose</button>
|
|
|
|
<text top='254' left='467' height='14' width='100'>Combat Arena:</text>
|
|
<field name='arena' top='275' left='467' height='16' width='64'/>
|
|
<button name='pickarena' type='regular' top='299' left='467'>Choose</button>
|
|
<button name='picktown' type='regular' top='299' left='532'>Custom</button>
|
|
<button name='object' top='344' left='467' type='large'>Object Details</button>
|
|
<text top='63' left='430' width='60' height='14'>Map icon:</text>
|
|
<pict name='seemap' top='86' left='465' type='map' num='0'/>
|
|
<field name='map' top='62' left='495' width='80' height='16'/>
|
|
<button name='pickmap' type='regular' top='86' left='495'>Choose</button>
|
|
<text top='110' left='431' height='32' width='157'>(Enter -1 to scale down the large picture)</text>
|
|
<button name='done' type='regular' def-key='enter' top='455' left='517'>OK</button>
|
|
<button name='cancel' type='regular' def-key='esc' top='455' left='451'>Cancel</button>
|
|
<button name='left' type='left' top='455' left='11'/>
|
|
<button name='right' type='right' top='455' left='74'/>
|
|
<text top='7' left='431' height='50' width='157'>Enter properties for this terrain type. For a detailed description of the fields, see the documentation.</text>
|
|
<button name='help' type='help' def-key='/' key-mod='shift' top='5' left='588'/>
|
|
</dialog> |