mirror of
https://git.do.srb2.org/STJr/UltimateZoneBuilder.git
synced 2025-01-18 22:41:46 +00:00
Added, Linedef Edit window: added "Replace unused textures" checkbox. When disabled, textures on unused sidedef parts won't be replaced when changing textures. For example, you can now replace sidedef textures of the whole map at once without assigning middle textures to all double-sided sidedefs.
Updated documentation ("Compiling GZDoom Builder" - added "Quick start guide" section). Updated ZDoom_DECORATE.cfg.
This commit is contained in:
parent
85a817f649
commit
e0208a38d9
8 changed files with 373 additions and 186 deletions
|
@ -66,7 +66,7 @@ keywords
|
|||
//WFDS
|
||||
A_Bool = "return A_Bool(bool result);";
|
||||
A_Int = "return A_Int(int result);";
|
||||
A_State = "return A_State(int offset OR str state);";
|
||||
A_State = "return A_State(str state);\nreturn A_State(int offset);";
|
||||
//Monster AI
|
||||
A_AlertMonsters = "A_AlertMonsters[(float maxrange = 0.0[, int flags = 0])]";
|
||||
A_Burst = "A_Burst(str chunktype)";
|
||||
|
@ -92,7 +92,7 @@ keywords
|
|||
A_KillTracer = "A_KillTracer[(str damagetype = \"None\"[, int flags = 0[, str filter = \"None\"[, str species = \"None\"]]])]\ndamagetype: if the actor dies, the actor will enter a death state based on damagetype if present (or pain state if using NODAMAGE).\nflags: KILS flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
|
||||
A_Look = "A_Look";
|
||||
A_Look2 = "A_Look2";
|
||||
A_LookEx = "A_LookEx(int flags, fixed minseedist, fixed maxseedist, fixed maxheardist, fixed fov, state seestate)";
|
||||
A_LookEx = "A_LookEx(int flags, float minseedist, float maxseedist, float maxheardist, float fov, state seestate)";
|
||||
A_RaiseChildren = "A_RaiseChildren[(bool copyaffiliation = false)]";
|
||||
A_RaiseMaster = "A_RaiseMaster[(bool copyaffiliation = false)]";
|
||||
A_RaiseSiblings = "A_RaiseSiblings[(bool copyaffiliation = false)]";
|
||||
|
@ -107,23 +107,23 @@ keywords
|
|||
A_Srcr2Decide = "A_Srcr2Decide";
|
||||
A_SwapTeleFog = "A_SwapTeleFog";
|
||||
A_TurretLook = "A_TurretLook";
|
||||
A_Teleport = "A_Teleport[(str teleportstate = \"Teleport\"[, str targettype = \"BossSpot\"[, str fogtype = \"TeleportFog\"[, int flags = 0[, float mindist = 0.0[, float maxdist = 0.0[, int pointer = AAPTR_DEFAULT]]]]]])]";
|
||||
A_Teleport = "state A_Teleport[(str teleportstate = \"Teleport\"[, str targettype = \"BossSpot\"[, str fogtype = \"TeleportFog\"[, int flags = 0[, float mindist = 0.0[, float maxdist = 0.0[, int pointer = AAPTR_DEFAULT]]]]]])]\nbool A_Teleport[(str teleportstate = \"Teleport\"[, str targettype = \"BossSpot\"[, str fogtype = \"TeleportFog\"[, int flags = 0[, float mindist = 0.0[, float maxdist = 0.0[, int pointer = AAPTR_DEFAULT]]]]]])]";
|
||||
A_VileChase = "A_VileChase";
|
||||
A_Wander = "A_Wander";
|
||||
//Generic monster attacks
|
||||
A_CustomMissile = "A_CustomMissile(str missiletype[, float spawnheight = 0.0[, int spawnofs_horiz = 0[, int angle = 0[, int aimflags = 0[, int pitch = 0[, int target = AAPTR_TARGET]]]]]])";
|
||||
A_CustomBulletAttack = "A_CustomBulletAttack(float horz_spread, float vert_spread, int numbullets, int damageperbullet[, str pufftype = \"BulletPuff\"[, float range = 0.0[, int flags = 0[, int target = AAPTR_TARGET]]]])";
|
||||
A_CustomRailgun = "A_CustomRailgun(int damage[, int offset[, color ringcolor[, color corecolor[, int flags = 0[, bool aim = false[, float maxdiff = 0.0[, str pufftype = \"\"[, float spread_xy = 0.0[, float spread_z = 0.0[, fixed range = 8192[, int duration = 35[, float sparsity = 1.0[, float driftspeed = 1.0[, str spawnclass = \"\"[, float spawnofs_z = 0[, int spiraloffset = 270]]]]]]]]]]]]]]]])";
|
||||
A_CustomRailgun = "A_CustomRailgun(int damage[, int offset[, color ringcolor[, color corecolor[, int flags = 0[, bool aim = false[, float maxdiff = 0.0[, str pufftype = \"\"[, float spread_xy = 0.0[, float spread_z = 0.0[, float range = 8192[, int duration = 35[, float sparsity = 1.0[, float driftspeed = 1.0[, str spawnclass = \"\"[, float spawnofs_z = 0[, int spiraloffset = 270]]]]]]]]]]]]]]]])";
|
||||
A_CustomMeleeAttack = "A_CustomMeleeAttack[(int damage = 0[, str meleesound = \"\"[, str misssound = \"\"[, str damagetype = \"Melee\"[, bool bleed = true]]]])]";
|
||||
A_CustomComboAttack = "A_CustomComboAttack(str missiletype, float spawnheight, int damage, str meleesound[, str damagetype = \"Melee\"[, bool bleed = true]])";
|
||||
A_MonsterRefire = "A_MonsterRefire(int chancecontinue, str abortstate) ";
|
||||
A_MonsterRefire = "state A_MonsterRefire(int chancecontinue, str abortstate)";
|
||||
A_BasicAttack = "A_BasicAttack(int meleedamage, str meleesound, str missiletype, float missileheight)";
|
||||
A_BulletAttack = "A_BulletAttack";
|
||||
A_MonsterRail = "A_MonsterRail";
|
||||
A_Explode = "A_Explode[(int explosiondamage = 128[, int explosionradius = 128[, int flags = XF_HURTSOURCE[, bool alert = false[, int fulldamageradius = 0[, int nails = 0[, int naildamage = 10[, str pufftype = \"BulletPuff\"]]]]]]])]";
|
||||
A_RadiusThrust = "A_RadiusThrust(int force, int distance[, int flags[, int fullthrustdistance]])";
|
||||
A_Detonate = "A_Detonate";
|
||||
A_ThrowGrenade = "A_ThrowGrenade(str spawntype[, float spawnheight[, float throwspeed_horz[, float throwspeed_vert[, bool useammo]]]])";
|
||||
A_ThrowGrenade = "bool A_ThrowGrenade(str spawntype[, float spawnheight[, float throwspeed_horz[, float throwspeed_vert[, bool useammo]]]])";
|
||||
A_WolfAttack = "A_WolfAttack[(int flags = 0[, str soundname = \"weapons/pistol\"[, float snipe = 1.0[, int damage = 64[, int blocksize = 128[, int pointblank = 0[, int longrange = 0[, float runspeed = 160.0[, str pufftype = \"BulletPuff\"]]]]]]]])]";
|
||||
//Freeze death functions
|
||||
A_FreezeDeath = "A_FreezeDeath";
|
||||
|
@ -159,45 +159,45 @@ keywords
|
|||
A_CheckTerrain = "A_CheckTerrain";
|
||||
A_SetBlend = "A_SetBlend(str blendcolor, float alpha, int duration[, str fadecolor])";
|
||||
A_CheckPlayerDone = "A_CheckPlayerDone";
|
||||
A_PlayerSkinCheck = "A_PlayerSkinCheck(str state)";
|
||||
A_PlayerSkinCheck = "state A_PlayerSkinCheck(str state)";
|
||||
A_SkullPop = "A_SkullPop[(str type = \"BloodySkull\")]";
|
||||
A_Quake = "A_Quake(int intensity, int duration, int damageradius, int tremorradius[, str sound = \"world/quake\"])";
|
||||
A_QuakeEx = "A_QuakeEx(int intensityX, int intensityY, int intensityZ, int duration, int damrad, int tremrad[, str sound = \"world/quake\"[, int flags = 0[, float mulwavex = 1.0[, float mulwavey = 1.0[, float mulwavez = 1.0]]]]])";
|
||||
//Spawn functions
|
||||
A_TossGib = "A_TossGib";
|
||||
A_SpawnDebris = "A_SpawnDebris(str type[, bool translation = false[, float horizontal_vel = 1.0[, float vertical_vel = 1.0]]])";
|
||||
A_SpawnItem = "A_SpawnItem(str type, int distance, float zpos, bool useammo, bool translation)";
|
||||
A_SpawnItemEx = "A_SpawnItemEx(str type[, float xoffset = 0.0[, float yoffset = 0.0[, float zoffset = 0.0[, float xvelocity = 0.0[, float yvelocity = 0.0[, float zvelocity = 0.0[, float angle = 0.0[, int flags = 0[, int skipchance = 0[, int tid = 0]]]]]]]]]])";
|
||||
A_SpawnItem = "bool A_SpawnItem(str type, int distance, float zpos, bool useammo, bool translation)";
|
||||
A_SpawnItemEx = "bool A_SpawnItemEx(str type[, float xoffset = 0.0[, float yoffset = 0.0[, float zoffset = 0.0[, float xvelocity = 0.0[, float yvelocity = 0.0[, float zvelocity = 0.0[, float angle = 0.0[, int flags = 0[, int skipchance = 0[, int tid = 0]]]]]]]]]])";
|
||||
A_SpawnParticle = "A_SpawnParticle(color color[, int flags = 0[, int lifetime = 35[, int size = 1[, float angle = 0.0[, float xoff = 0.0[, float yoff = 0.0[, float zoff = 0.0[, float velx = 0.0[, float vely = 0.0[, float velz = 0.0[, float accelx = 0.0[, float accely = 0.0[, float accelz = 0.0[, float startalpha = 1.0[, float fadestep = -1.0]]]]]]]]]]]]]]])";
|
||||
//State jumps
|
||||
A_CheckBlock = "A_CheckBlock(str block[, int flags = 0[, int pointer = AAPTR_TARGET]])";
|
||||
A_CheckCeiling = "A_CheckCeiling(int offset OR str state)";
|
||||
A_CheckFloor = "A_CheckFloor(int offset OR str state)";
|
||||
A_CheckFlag = "A_CheckFlag(str flagname, state label[, int check_pointer = AAPTR_DEFAULT])";
|
||||
A_CheckLOF = "A_CheckLOF(state jump[, int flags = 0[, float range = 0.0[, float minrange = 0.0[, float angle = 0.0[, float pitch = 0.0[, float offsetheight = 0.0[, float offsetwidth = 0.0[, int ptr_target = AAPTR_DEFAULT]]]]]]]])";
|
||||
A_CheckProximity = "A_CheckProximity(str jump, str classname, float distance[, int count = 1[, int flags = 0[, int pointer = AAPTR_DEFAULT]]])";
|
||||
A_CheckRange = "A_CheckRange(float distance, int offset OR str state[, bool 2d_check = false])";
|
||||
A_CheckSight = "A_CheckSight(int offset OR str state)";
|
||||
A_CheckSightOrRange = "A_CheckSightOrRange(float distance, int offset OR str state[, bool 2d_check = false])";
|
||||
A_CheckSpecies = "A_CheckSpecies(str jump[, str species=\"None\"[, int pointer = AAPTR_DEFAULT]]) ";
|
||||
A_Jump = "A_Jump(int chance, int offset OR str state, ...)";
|
||||
A_JumpIf = "A_JumpIf(expression, int offset OR str state)";
|
||||
A_JumpIfArmorType = "A_JumpIfArmorType(str armortype, str state[, int minimum = 1])";
|
||||
A_JumpIfCloser = "A_JumpIfCloser(int distance, int offset OR str state[, bool noz = false])";
|
||||
A_JumpIfHealthLower = "A_JumpIfHealthLower(int health, int offset OR str state[, int pointer = AAPTR_DEFAULT])";
|
||||
A_JumpIfHigherOrLower = "A_JumpIfHigherOrLower(str high, str low[, float offsethigh = 0.0[, float offsetlow = 0.0[, bool includeHeight = true[, int pointer = AAPTR_TARGET]]]])";
|
||||
A_JumpIfInventory = "A_JumpIfInventory(str inventorytype, int amount, int offset OR str state[, int owner = AAPTR_DEFAULT])";
|
||||
A_JumpIfInTargetInventory = "A_JumpIfInTargetInventory(str item, int count, int offset OR str state[, int forward = AAPTR_DEFAULT])";
|
||||
A_JumpIfInTargetLOS = "A_JumpIfInTargetLOS(int offset OR str state[, float fov = 0.0[, int flags = 0[, float dist_max = 0.0[, float dist_close = 0.0]]]])\nflags: JLOSF flags.";
|
||||
A_JumpIfMasterCloser = "A_JumpIfMasterCloser(int distance, int offset OR str state[, bool noz = false])";
|
||||
A_JumpIfNoAmmo = "A_JumpIfNoAmmo(int offset OR str state)";
|
||||
A_JumpIfTargetInLOS = "A_JumpIfTargetInLOS(int offset OR str state[, float fov = 0.0[, int flags = 0[, float dist_max = 0.0[, float dist_close = 0.0]]]])\nflags: JLOSF flags.";
|
||||
A_JumpIfTargetInsideMeleeRange = "A_JumpIfTargetInsideMeleeRange(int offset OR str state)\nJumps the number of frames (offset) forward, or to the specified state\nwhen the target of the calling actor is within melee range of the caller.";
|
||||
A_JumpIfTargetOutsideMeleeRange = "A_JumpIfTargetOutsideMeleeRange(int offset OR str state)\nJumps the number of frames (offset) forward, or to the specified state\nwhen the target of the calling actor is beyond melee range of the caller.";
|
||||
A_JumpIfTracerCloser = "A_JumpIfTracerCloser(int distance, int offset OR str state[, bool noz = false])";
|
||||
A_CheckBlock = "state A_CheckBlock(str block[, int flags = 0[, int pointer = AAPTR_TARGET]])";
|
||||
A_CheckCeiling = "state A_CheckCeiling(str state)\nstate A_CheckCeiling(int offset)";
|
||||
A_CheckFloor = "state A_CheckFloor(str state)\nstate A_CheckFloor(int offset)";
|
||||
A_CheckFlag = "state A_CheckFlag(str flagname, state label[, int check_pointer = AAPTR_DEFAULT])";
|
||||
A_CheckLOF = "state A_CheckLOF(state jump[, int flags = 0[, float range = 0.0[, float minrange = 0.0[, float angle = 0.0[, float pitch = 0.0[, float offsetheight = 0.0[, float offsetwidth = 0.0[, int ptr_target = AAPTR_DEFAULT]]]]]]]])";
|
||||
A_CheckProximity = "state A_CheckProximity(str jump, str classname, float distance[, int count = 1[, int flags = 0[, int pointer = AAPTR_DEFAULT]]])";
|
||||
A_CheckRange = "state A_CheckRange(float distance, str state[, bool 2d_check = false])\nstate A_CheckRange(float distance, int offset[, bool 2d_check = false])";
|
||||
A_CheckSight = "state A_CheckSight(str state)\nstate A_CheckSight(int offsete)";
|
||||
A_CheckSightOrRange = "state A_CheckSightOrRange(float distance, str state[, bool 2d_check = false])\nstate A_CheckSightOrRange(float distance, int offset[, bool 2d_check = false])";
|
||||
A_CheckSpecies = "state A_CheckSpecies(str jump[, str species=\"None\"[, int pointer = AAPTR_DEFAULT]]) ";
|
||||
A_Jump = "state A_Jump(int chance, str state, ...)\nstate A_Jump(int chance, int offset, ...)";
|
||||
A_JumpIf = "state A_JumpIf(expression, str state)\nstate A_JumpIf(expression, int offset)";
|
||||
A_JumpIfArmorType = "state A_JumpIfArmorType(str armortype, str state[, int minimum = 1])";
|
||||
A_JumpIfCloser = "state A_JumpIfCloser(int distance, str state[, bool noz = false])\nstate A_JumpIfCloser(int distance, int offset[, bool noz = false])";
|
||||
A_JumpIfHealthLower = "state A_JumpIfHealthLower(int health, str state[, int pointer = AAPTR_DEFAULT])\nstate A_JumpIfHealthLower(int health, int offset[, int pointer = AAPTR_DEFAULT])";
|
||||
A_JumpIfHigherOrLower = "state A_JumpIfHigherOrLower(str high, str low[, float offsethigh = 0.0[, float offsetlow = 0.0[, bool includeheight = true[, int pointer = AAPTR_TARGET]]]])";
|
||||
A_JumpIfInventory = "state A_JumpIfInventory(str inventorytype, int amount, str state[, int owner = AAPTR_DEFAULT])\nstate A_JumpIfInventory(str inventorytype, int amount, int offset[, int owner = AAPTR_DEFAULT])";
|
||||
A_JumpIfInTargetInventory = "state A_JumpIfInTargetInventory(str item, int count, str state[, int forward = AAPTR_DEFAULT])\nstate A_JumpIfInTargetInventory(str item, int count, int offset[, int forward = AAPTR_DEFAULT])";
|
||||
A_JumpIfInTargetLOS = "state A_JumpIfInTargetLOS(str state[, float fov = 0.0[, int flags = 0[, float dist_max = 0.0[, float dist_close = 0.0]]]])\nstate A_JumpIfInTargetLOS(int offset[, float fov = 0.0[, int flags = 0[, float dist_max = 0.0[, float dist_close = 0.0]]]])\nflags: JLOSF flags.";
|
||||
A_JumpIfMasterCloser = "state A_JumpIfMasterCloser(int distance, str state[, bool noz = false])\nstate A_JumpIfMasterCloser(int distance, int offset[, bool noz = false])";
|
||||
A_JumpIfNoAmmo = "state A_JumpIfNoAmmo(str state)\nstate A_JumpIfNoAmmo(int offset)";
|
||||
A_JumpIfTargetInLOS = "state A_JumpIfTargetInLOS(str state[, float fov = 0.0[, int flags = 0[, float dist_max = 0.0[, float dist_close = 0.0]]]])\nstate A_JumpIfTargetInLOS(int offset[, float fov = 0.0[, int flags = 0[, float dist_max = 0.0[, float dist_close = 0.0]]]])\nflags: JLOSF flags.";
|
||||
A_JumpIfTargetInsideMeleeRange = "state A_JumpIfTargetInsideMeleeRange(str state)\nstate A_JumpIfTargetInsideMeleeRange(int offset)\nJumps the number of frames (offset) forward, or to the specified state\nwhen the target of the calling actor is within melee range of the caller.";
|
||||
A_JumpIfTargetOutsideMeleeRange = "state A_JumpIfTargetOutsideMeleeRange(str state)\nstate A_JumpIfTargetOutsideMeleeRange(int offset)\nJumps the number of frames (offset) forward, or to the specified state\nwhen the target of the calling actor is beyond melee range of the caller.";
|
||||
A_JumpIfTracerCloser = "state A_JumpIfTracerCloser(int distance, str state[, bool noz = false])\nstate A_JumpIfTracerCloser(int distance, int offset[, bool noz = false])";
|
||||
//Status changes
|
||||
A_ActiveAndUnblock = "A_ActiveAndUnblock";
|
||||
A_CallSpecial = "A_CallSpecial(int special[, int arg1 = 0[, int arg2 = 0[, int arg3 = 0[, int arg4 = 0[, int arg5 = 0]]]]])";
|
||||
A_CallSpecial = "bool A_CallSpecial(int special[, int arg1 = 0[, int arg2 = 0[, int arg3 = 0[, int arg4 = 0[, int arg5 = 0]]]]])";
|
||||
A_ChangeFlag = "A_ChangeFlag(str flagname, bool value)";
|
||||
A_ChangeVelocity = "A_ChangeVelocity[(float x = 0.0[, float y = 0.0[, float z = 0.0[, int flags = 0[, int pointer = AAPTR_DEFAULT]]]])]\nflags: CVF flags.";
|
||||
A_ClearShadow = "A_ClearShadow";
|
||||
|
@ -206,7 +206,7 @@ keywords
|
|||
A_FadeIn = "A_FadeIn[(float increase_amount = 0.1[, int flags = 0])]\nflags: FTF flags.";
|
||||
A_FadeOut = "A_FadeOut[(float reduce_amount = 0.1[, int flags = FTF_REMOVE])]\nflags: FTF flags.";
|
||||
A_FadeTo = "A_FadeTo(float target[, float amount = 0.1[, int flags = 0]])\nflags: FTF flags.";
|
||||
A_FaceMovementDirection = "A_FaceMovementDirection([float offset = 0[, float anglelimit = 0[, float pitchlimit = 0[, int flags = 0[, int pointer = AAPTR_DEFAULT]]]]])";
|
||||
A_FaceMovementDirection = "state A_FaceMovementDirection[(float offset = 0[, float anglelimit = 0[, float pitchlimit = 0[, int flags = 0[, int pointer = AAPTR_DEFAULT]]]])]";
|
||||
A_Fall = "A_Fall";
|
||||
A_Gravity = "A_Gravity";
|
||||
A_HideThing = "A_HideThing";
|
||||
|
@ -264,23 +264,23 @@ keywords
|
|||
A_FaceTracer = "A_FaceTracer[(float angle = 0.0[, float pitch = 270.0])]\nA_FaceTracer([float max_turn = 0.0[, float max_pitch = 270.0[, float ang_offset = 0.0[, float pitch_offset = 0.0[, int flags = 0[, float z_add = 0.0]]]]]])";
|
||||
A_Fire = "A_Fire[(float height = 0.0)]";
|
||||
A_Weave = "A_Weave(int horzspeed, int vertspeed, float horzdist, float vertdist)";
|
||||
A_Warp = "A_Warp(int ptr_destination[, float x-offset = 0[, float y-offset = 0[, float z-offset = 0[, float angle = 0[, int flags = 0[, str success_state = \"\"[, float heightoffset = 0[, float radiusoffset = 0[, float pitch = 0]]]]]]]]])\nflags: WARPF flags.";
|
||||
A_Warp = "state A_Warp(int ptr_destination[, float x-offset = 0[, float y-offset = 0[, float z-offset = 0[, float angle = 0[, int flags = 0[, str success_state = \"\"[, float heightoffset = 0[, float radiusoffset = 0[, float pitch = 0]]]]]]]]])\nbool A_Warp(int ptr_destination[, float x-offset = 0[, float y-offset = 0[, float z-offset = 0[, float angle = 0[, int flags = 0[, str success_state = \"\"[, float heightoffset = 0[, float radiusoffset = 0[, float pitch = 0]]]]]]]]])\nflags: WARPF flags.";
|
||||
A_Countdown = "A_Countdown";
|
||||
A_CountdownArg = "A_CountdownArg(int arg[, str targetstate])";
|
||||
A_Stop = "A_Stop";
|
||||
//Inventory functions
|
||||
A_GiveInventory = "A_GiveInventory(str type[, int count = 0[, int giveto = AAPTR_DEFAULT]])\ntype: the item to give. This should be a valid inventory item.\ncount: the number of samples of this item to give. Default is 0, which is interpreted as 1.\ngiveto: the actor to give the item to";
|
||||
A_GiveToChildren = "A_GiveToChildren(str type[, int count])\ntype: the item to give. This should be a valid inventory item.\ncount: the number of samples of this item to give. Default is 0, which is interpreted as 1.";
|
||||
A_GiveToSiblings = "A_GiveToSiblings(str type[, int count])\ntype: the item to give. This should be a valid inventory item.\ncount: the number of samples of this item to give. Default is 0, which is interpreted as 1.";
|
||||
A_GiveToTarget = "A_GiveToTarget(str type, int count[, int giveto])";
|
||||
A_TakeInventory = "A_TakeInventory(str type, int count[, int flags[, int takefrom = AAPTR_DEFAULT]])";
|
||||
A_TakeFromChildren = "A_TakeFromChildren(str type[, int count])\ntype: the item to take. This should be a valid inventory item.\ncount: the number of samples of this item to take.\nIf this is 0, the item is cleared from the inventory unless it has the\nINVENTORY.KEEPDEPLETED flag set, and in which case, its amount is merely reduced to 0.\nDefault is 0.";
|
||||
A_TakeFromSiblings = "A_TakeFromSiblings(str type[, int count])\ntype: the item to take. This should be a valid inventory item.\ncount: the number of samples of this item to take.\nIf this is 0, the item is cleared from the inventory unless it has the\nINVENTORY.KEEPDEPLETED flag set, and in which case, its amount is merely reduced to 0.\nDefault is 0.";
|
||||
A_TakeFromTarget = "A_TakeFromTarget(str type, int count[, int flags[, int takefrom]])";
|
||||
A_GiveInventory = "bool A_GiveInventory(str type[, int count = 0[, int giveto = AAPTR_DEFAULT]])\ntype: the item to give. This should be a valid inventory item.\ncount: the number of samples of this item to give. Default is 0, which is interpreted as 1.\ngiveto: the actor to give the item to";
|
||||
A_GiveToChildren = "int A_GiveToChildren(str type[, int count = 0])\ntype: the item to give. This should be a valid inventory item.\ncount: the number of samples of this item to give. Default is 0, which is interpreted as 1.";
|
||||
A_GiveToSiblings = "int A_GiveToSiblings(str type[, int count = 0])\ntype: the item to give. This should be a valid inventory item.\ncount: the number of samples of this item to give. Default is 0, which is interpreted as 1.";
|
||||
A_GiveToTarget = "bool A_GiveToTarget(str type, int count[, int giveto = AAPTR_DEFAULT])";
|
||||
A_TakeInventory = "bool A_TakeInventory(str type, int count[, int flags[, int takefrom = AAPTR_DEFAULT]])";
|
||||
A_TakeFromChildren = "int A_TakeFromChildren(str type[, int count = 0])\ntype: the item to take. This should be a valid inventory item.\ncount: the number of samples of this item to take.\nIf this is 0, the item is cleared from the inventory unless it has the\nINVENTORY.KEEPDEPLETED flag set, and in which case, its amount is merely reduced to 0.\nDefault is 0.";
|
||||
A_TakeFromSiblings = "int A_TakeFromSiblings(str type[, int count = 0])\ntype: the item to take. This should be a valid inventory item.\ncount: the number of samples of this item to take.\nIf this is 0, the item is cleared from the inventory unless it has the\nINVENTORY.KEEPDEPLETED flag set, and in which case, its amount is merely reduced to 0.\nDefault is 0.";
|
||||
A_TakeFromTarget = "bool A_TakeFromTarget(str type, int count[, int flags[, int takefrom = AAPTR_DEFAULT]])";
|
||||
A_DropInventory = "A_DropInventory(str type)";
|
||||
A_DropItem = "A_DropItem(str item[, int dropamount = -1[, int chance = 256]])\nThe calling actor drops the specified item.\nThis works in a similar way to the DropItem actor property.";
|
||||
A_SelectWeapon = "A_SelectWeapon(str type)";
|
||||
A_RadiusGive = "A_RadiusGive(str item, fixed distance, int flags[, int amount = 0[, str filter = \"None\"[, str species = \"None\"[, fixed mindist = 0]]]])\nflags: RGF flags.";
|
||||
A_SelectWeapon = "bool A_SelectWeapon(str type)";
|
||||
A_RadiusGive = "int A_RadiusGive(str item, float distance, int flags[, int amount = 0[, str filter = \"None\"[, str species = \"None\"[, float mindist = 0]]]])\nflags: RGF flags.";
|
||||
//Weapon functions
|
||||
A_WeaponReady = "A_WeaponReady[(int flags = 0)]\nflags: WRF flags.";
|
||||
A_Lower = "A_Lower";
|
||||
|
@ -289,7 +289,7 @@ keywords
|
|||
A_ClearReFire = "A_ClearReFire";
|
||||
A_GunFlash = "A_GunFlash[(str state = \"Flash\"[, int flags = 0])]\nflags: GFF flags.";
|
||||
A_CheckReload = "A_CheckReload";
|
||||
A_CheckForReload = "A_CheckForReload(int counter, str state[, bool dontincrement = false])";
|
||||
A_CheckForReload = "state A_CheckForReload(int counter, str state[, bool dontincrement = false])";
|
||||
A_ResetReloadCounter = "A_ResetReloadCounter";
|
||||
A_Light = "A_Light(int intensity)";
|
||||
A_Light0 = "A_Light0";
|
||||
|
@ -304,8 +304,8 @@ keywords
|
|||
A_Saw = "A_Saw[(str fullsound = \"weapons/sawfull\"[, str hitsound = \"weapons/sawhit\"[, int damage = 0[, str pufftype = \"BulletPuff\"[, int flags = 0[, float range = 65.0[, float spread_xy = 2.8125[, float spread_z = 0.0[, float lifesteal = 0.0[, int lifestealmax = 0[, str armorbonustype = \"ArmorBonus\"]]]]]]]]]])]";
|
||||
A_CustomPunch = "A_CustomPunch(int damage[, bool norandom = false[, int flags = 0[, str pufftype = \"BulletPuff\"[, float range = 64.0[, float lifesteal = 0.0[, int lifestealmax = 0[, str armorbonustype = \"ArmorBonus\"[, str meleesound[, str misssound]]]]]]]]])";
|
||||
A_FireBullets = "A_FireBullets(int spread_horz, int spread_vert, int numbullets, int damage[, str pufftype = \"\"[, int flags = FBF_USEAMMO[, float range = 0.0]]])";
|
||||
A_FireCustomMissile = "A_FireCustomMissile(str missiletype[, int angle = 0[, bool useammo = false[, int spawnofs_horz = 0[, int spawnheight = 0[, bool aim = false OR int flags = 0[, angle pitch = 0]]]]]])";
|
||||
A_RailAttack = "A_RailAttack(int damage[, int spawnofs_horz[, bool useammo[, str ringcolor[, str corecolor[, int flags[, int maxdiff[, str pufftype[, float spread_xy = 0[, float spread_z = 0.0[, fixed range = 8192[, int duration = 35[, float sparsity = 1.0[, float driftspeed = 1.0[, str spawnclass[, float spawnofs_z = 0.0[, int spiraloffset = 270]]]]]]]]]]]]]]]])";
|
||||
A_FireCustomMissile = "A_FireCustomMissile(str missiletype[, int angle = 0[, bool useammo = false[, int spawnofs_horz = 0[, int spawnheight = 0[, int flags = 0[, angle pitch = 0]]]]]])";
|
||||
A_RailAttack = "A_RailAttack(int damage[, int spawnofs_horz[, bool useammo[, str ringcolor[, str corecolor[, int flags[, int maxdiff[, str pufftype[, float spread_xy = 0.0[, float spread_z = 0.0[, float range = 8192.0[, int duration = 35[, float sparsity = 1.0[, float driftspeed = 1.0[, str spawnclass[, float spawnofs_z = 0.0[, int spiraloffset = 270]]]]]]]]]]]]]]]])";
|
||||
A_FireAssaultGun = "A_FireAssaultGun";
|
||||
A_FireBFG = "A_FireBFG";
|
||||
A_FireOldBFG = "A_FireOldBFG";
|
||||
|
@ -400,6 +400,7 @@ keywords
|
|||
sqrt = "sqrt(x)\nReturns the square root of x.";
|
||||
min = "min(x1, ...)\nGets the smallest value of all values listed.\nCan take any amount of numbers, and can solve both ints and floats.";
|
||||
max = "max(x1, ...)\nGets the largest value of all values listed.\nCan take any amount of numbers, and can solve both ints and floats.";
|
||||
clamp = "clamp(src, min, max)\nReturns src within the range of min and max inclusively. All parameters can be ints or floats.";
|
||||
//Randum number functions
|
||||
random = "int random[identifier](min, max)\nReturns a random integer value between min and max.";
|
||||
random2 = "int random2[identifier](mask)\nReturns a random integer value between -mask and +mask.";
|
||||
|
|
|
@ -28,21 +28,34 @@
|
|||
<li>7-zip archiver (<a href="www.7-zip.org">www.7-zip.org</a>).</li>
|
||||
<li>Inno Setup 5 or newer (<a href="http://www.jrsoftware.org/isinfo.php">http://www.jrsoftware.org/isinfo.php</a>).</li>
|
||||
<li>Microsoft HTML Help compiler (<a href="http://www.microsoft.com/en-us/download/details.aspx?id=21138">http://www.microsoft.com/en-us/download/details.aspx?id=21138</a>).</li>
|
||||
<li>SlimDX Developer SDK. You can download it for free from <a href="http://slimdx.org/download.php">http://slimdx.org/download.php</a>.</li>
|
||||
<li>SlimDX Developer SDK (<a href="http://slimdx.org/download.php">http://slimdx.org/download.php</a>).</li>
|
||||
<li>DirectX SDK (<a href="https://www.microsoft.com/en-us/download/details.aspx?id=6812">https://www.microsoft.com/en-us/download/details.aspx?id=6812</a>).</li>
|
||||
</ul>
|
||||
|
||||
<h2>Obtaining the source:</h2>
|
||||
The Doom Builder 2 source code is hosted on SourceForge and is available through SVN at the following location:<pre>https://svn.code.sf.net/p/doombuilder/code/branches/GZDoomBuilder</pre>
|
||||
If you don't want to use a SVN client, head to
|
||||
<a href="https://sourceforge.net/p/doombuilder/code/HEAD/tree/branches/GZDoomBuilder/">https://sourceforge.net/p/doombuilder/code/HEAD/tree/branches/GZDoomBuilder/</a>
|
||||
and press "Download Snapshot" button.
|
||||
The GZDoom Builder source code is hosted on SourceForge and is available through SVN at the following location:
|
||||
<pre>https://svn.code.sf.net/p/doombuilder/code/branches/GZDoomBuilder</pre>
|
||||
If you don't want to use a SVN client, head to <a href="https://sourceforge.net/p/doombuilder/code/HEAD/tree/branches/GZDoomBuilder/">https://sourceforge.net/p/doombuilder/code/HEAD/tree/branches/GZDoomBuilder/</a> and press "Download Snapshot" button.
|
||||
<h2>Quick start guide:</h2>
|
||||
This guide assumes you are using <strong>Visual Studio 2008</strong> / <strong>Visual C# 2008 Express Edition</strong> and <strong>Tortiose SVN</strong>.
|
||||
<ol>
|
||||
<li>Create an empty folder, right click on it and choose "<strong>SVN Checkout...</strong>" from the context menu.</li>
|
||||
<li>Enter "<strong>https://svn.code.sf.net/p/doombuilder/code/branches/GZDoomBuilder</strong>" in the "<strong>URL of repository</strong>" field and click OK.</li>
|
||||
<li> Open "<strong>Builder.sln</strong>" in the Visual Studio and make sure it compiles and runs (click the green "<strong>Play</strong>" button, or press <strong>F5</strong>).
|
||||
<ul>
|
||||
<li>If the Visual Studio complains about missing <strong>SlimDX</strong> reference in the Builder project, you'll need to re-add it manually. To do so, delete SlimDX from the References in the Solution Explorer, right click on the Builder project and choose "<strong>Add reference</strong>". On the .NET tab, choose SlimDX (.net 2.0, x86 version).</li>
|
||||
<li>You can ignore the warning about missing <strong>JetBrains.Profiler.Core.Api</strong> reference. Everything should build fine, unless you choose a profiler-enabled build target (or you can use dotTrace Performance, if you have access to it).</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>If you've made some code changes and want to submit them to the main GZDB repository, you can make a diff patch (right-click on the GZDB source folder and choose "<strong>TortioseSVN -> Create patch...</strong>") and post it at the official GZDB thread at ZDoom.org (<a href="http://forum.zdoom.org/viewtopic.php?f=3&t=32392&start=999999">http://forum.zdoom.org/viewtopic.php?f=3&t=32392&start=999999</a>).</li>
|
||||
</ol>
|
||||
<h2>Batch files:</h2>
|
||||
GZDB source comes with several batch files, which can be used to automatically compile and package the editor. Before launching a batch file for the first time, make sure to open it and check that variables holding software paths point to the right directories. These variables are always located near the top of the file, after the info block.
|
||||
<ul>
|
||||
<li><strong>Clean Rebuild.bat</strong> - removes project cache files, then compiles it in Release mode.<br />Requires Visual C# Express Edition / Visual Studio.</li><br />
|
||||
<li><strong>Clean Rebuild.bat</strong> - removes project cache files, then compiles it in Release mode.<br />Requires Visual C# Express Edition / Visual Studio.</li><br />
|
||||
<li><strong>CompileHelp.bat</strong> - compiles "Build\Refmanual.chm". Help source files are located in the "Help" directory.<br />Requires Microsoft HTML Help compiler.</li><br />
|
||||
<li><strong>MakeRelease.bat</strong> - removes project cache files, sets project version number to match the latest SVN revision, compiles the project in Release mode, generates "Build\Changelog.txt", compiles "Build\Refmanual.chm", creates an installer and places it in the "Release" folder.<br />Requires Subversion command-line client, Visual C# Express Edition / Visual Studio, Microsoft HTML Help compiler and Inno Setup 5.</li><br />
|
||||
<li><strong>MakeSVNRelease.bat</strong> - removes project cache files, sets project version number to match the latest SVN revision, compiles the project in Release mode, generates "Build\Changelog.txt", compiles "Build\Refmanual.chm", packs the build into 7-zip archive and places it in the "SVN_Build" folder.<br />Requires Subversion command-line client, Visual C# Express Edition / Visual Studio, Microsoft HTML Help compiler and 7-zip archiver.</li>
|
||||
<li><strong>MakeSVNRelease.bat</strong> - removes project cache files, sets project version number to match the latest SVN revision, compiles the project in Release mode, generates "Build\Changelog.txt", compiles "Build\Refmanual.chm", packs the build into 7-zip archive and places it in the "SVN_Build" folder.<br />Requires Subversion command-line client, Visual C# Express Edition / Visual Studio, Microsoft HTML Help compiler and 7-zip archiver.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
|
|
34
Source/Core/Windows/LinedefEditForm.Designer.cs
generated
34
Source/Core/Windows/LinedefEditForm.Designer.cs
generated
|
@ -56,6 +56,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.tagSelector = new CodeImp.DoomBuilder.GZBuilder.Controls.TagSelector();
|
||||
this.frontside = new System.Windows.Forms.CheckBox();
|
||||
this.frontgroup = new System.Windows.Forms.GroupBox();
|
||||
this.replaceunusedfronttextures = new System.Windows.Forms.CheckBox();
|
||||
this.frontsector = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
|
||||
this.frontlow = new CodeImp.DoomBuilder.Controls.TextureSelectorControl();
|
||||
this.frontmid = new CodeImp.DoomBuilder.Controls.TextureSelectorControl();
|
||||
|
@ -63,6 +64,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.frontTextureOffset = new CodeImp.DoomBuilder.GZBuilder.Controls.PairedIntControl();
|
||||
this.backside = new System.Windows.Forms.CheckBox();
|
||||
this.backgroup = new System.Windows.Forms.GroupBox();
|
||||
this.replaceunusedbacktextures = new System.Windows.Forms.CheckBox();
|
||||
this.backsector = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
|
||||
this.backlow = new CodeImp.DoomBuilder.Controls.TextureSelectorControl();
|
||||
this.backmid = new CodeImp.DoomBuilder.Controls.TextureSelectorControl();
|
||||
|
@ -100,6 +102,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
//
|
||||
// label3
|
||||
//
|
||||
label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
|
||||
label3.Location = new System.Drawing.Point(255, 13);
|
||||
label3.Name = "label3";
|
||||
label3.Size = new System.Drawing.Size(83, 16);
|
||||
|
@ -109,6 +112,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
//
|
||||
// label4
|
||||
//
|
||||
label4.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
|
||||
label4.Location = new System.Drawing.Point(346, 13);
|
||||
label4.Name = "label4";
|
||||
label4.Size = new System.Drawing.Size(83, 16);
|
||||
|
@ -118,6 +122,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
//
|
||||
// label5
|
||||
//
|
||||
label5.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
|
||||
label5.Location = new System.Drawing.Point(437, 13);
|
||||
label5.Name = "label5";
|
||||
label5.Size = new System.Drawing.Size(83, 16);
|
||||
|
@ -127,6 +132,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
//
|
||||
// label8
|
||||
//
|
||||
label8.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
|
||||
label8.Location = new System.Drawing.Point(437, 13);
|
||||
label8.Name = "label8";
|
||||
label8.Size = new System.Drawing.Size(83, 16);
|
||||
|
@ -136,6 +142,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
//
|
||||
// label9
|
||||
//
|
||||
label9.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
|
||||
label9.Location = new System.Drawing.Point(346, 13);
|
||||
label9.Name = "label9";
|
||||
label9.Size = new System.Drawing.Size(83, 16);
|
||||
|
@ -145,6 +152,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
//
|
||||
// label10
|
||||
//
|
||||
label10.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
|
||||
label10.Location = new System.Drawing.Point(255, 13);
|
||||
label10.Name = "label10";
|
||||
label10.Size = new System.Drawing.Size(83, 16);
|
||||
|
@ -357,6 +365,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
//
|
||||
this.frontgroup.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.frontgroup.Controls.Add(this.replaceunusedfronttextures);
|
||||
this.frontgroup.Controls.Add(this.labelFrontTextureOffset);
|
||||
this.frontgroup.Controls.Add(this.frontsector);
|
||||
this.frontgroup.Controls.Add(label11);
|
||||
|
@ -375,6 +384,16 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.frontgroup.TabStop = false;
|
||||
this.frontgroup.Text = " ";
|
||||
//
|
||||
// replaceunusedfronttextures
|
||||
//
|
||||
this.replaceunusedfronttextures.AutoSize = true;
|
||||
this.replaceunusedfronttextures.Location = new System.Drawing.Point(90, 121);
|
||||
this.replaceunusedfronttextures.Name = "replaceunusedfronttextures";
|
||||
this.replaceunusedfronttextures.Size = new System.Drawing.Size(144, 17);
|
||||
this.replaceunusedfronttextures.TabIndex = 43;
|
||||
this.replaceunusedfronttextures.Text = "Replace unused textures";
|
||||
this.replaceunusedfronttextures.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// frontsector
|
||||
//
|
||||
this.frontsector.AllowDecimal = false;
|
||||
|
@ -456,6 +475,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
//
|
||||
this.backgroup.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.backgroup.Controls.Add(this.replaceunusedbacktextures);
|
||||
this.backgroup.Controls.Add(this.labelBackTextureOffset);
|
||||
this.backgroup.Controls.Add(this.backsector);
|
||||
this.backgroup.Controls.Add(label12);
|
||||
|
@ -474,6 +494,16 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.backgroup.TabStop = false;
|
||||
this.backgroup.Text = " ";
|
||||
//
|
||||
// replaceunusedbacktextures
|
||||
//
|
||||
this.replaceunusedbacktextures.AutoSize = true;
|
||||
this.replaceunusedbacktextures.Location = new System.Drawing.Point(90, 121);
|
||||
this.replaceunusedbacktextures.Name = "replaceunusedbacktextures";
|
||||
this.replaceunusedbacktextures.Size = new System.Drawing.Size(144, 17);
|
||||
this.replaceunusedbacktextures.TabIndex = 44;
|
||||
this.replaceunusedbacktextures.Text = "Replace unused textures";
|
||||
this.replaceunusedbacktextures.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// backsector
|
||||
//
|
||||
this.backsector.AllowDecimal = false;
|
||||
|
@ -585,7 +615,9 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.flagsgroup.ResumeLayout(false);
|
||||
this.idgroup.ResumeLayout(false);
|
||||
this.frontgroup.ResumeLayout(false);
|
||||
this.frontgroup.PerformLayout();
|
||||
this.backgroup.ResumeLayout(false);
|
||||
this.backgroup.PerformLayout();
|
||||
this.panel.ResumeLayout(false);
|
||||
this.panel.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
|
@ -625,5 +657,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
private System.Windows.Forms.Label labelFrontTextureOffset;
|
||||
private System.Windows.Forms.Label labelBackTextureOffset;
|
||||
private CodeImp.DoomBuilder.Controls.ArgumentsControl argscontrol;
|
||||
private System.Windows.Forms.CheckBox replaceunusedfronttextures;
|
||||
private System.Windows.Forms.CheckBox replaceunusedbacktextures;
|
||||
}
|
||||
}
|
|
@ -65,20 +65,20 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
public readonly int OffsetX;
|
||||
public readonly int OffsetY;
|
||||
|
||||
public readonly string TextureTop;
|
||||
public readonly string TextureMid;
|
||||
public readonly string TextureLow;
|
||||
public readonly string HighTexture;
|
||||
public readonly string MiddleTexture;
|
||||
public readonly string LowTexture;
|
||||
|
||||
public SidedefProperties(Sidedef side)
|
||||
{
|
||||
//offset
|
||||
// Offset
|
||||
OffsetX = side.OffsetX;
|
||||
OffsetY = side.OffsetY;
|
||||
|
||||
//textures
|
||||
TextureTop = side.HighTexture;
|
||||
TextureMid = side.MiddleTexture;
|
||||
TextureLow = side.LowTexture;
|
||||
// Textures
|
||||
HighTexture = side.HighTexture;
|
||||
MiddleTexture = side.MiddleTexture;
|
||||
LowTexture = side.LowTexture;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -149,6 +149,10 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
apply.Top = panel.Bottom + panel.Margin.Bottom + apply.Margin.Top;
|
||||
cancel.Top = apply.Top;
|
||||
|
||||
//mxd. Apply texture replacement settings
|
||||
replaceunusedfronttextures.Checked = General.Settings.ReadSetting("editlinedefswindow.replaceunusedfronttextures", true);
|
||||
replaceunusedbacktextures.Checked = General.Settings.ReadSetting("editlinedefswindow.replaceunusedbacktextures", true);
|
||||
|
||||
// Update window height
|
||||
this.Height = apply.Bottom + apply.Margin.Bottom * 2 + (this.Height - this.ClientRectangle.Height) + 1;
|
||||
}
|
||||
|
@ -526,7 +530,12 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
//mxd. Store window location
|
||||
private void LinedefEditForm_FormClosing(object sender, FormClosingEventArgs e)
|
||||
{
|
||||
// Save location
|
||||
location = this.Location;
|
||||
|
||||
// Save persistent settings
|
||||
General.Settings.WriteSetting("editlinedefswindow.replaceunusedfronttextures", replaceunusedfronttextures.Checked);
|
||||
General.Settings.WriteSetting("editlinedefswindow.replaceunusedbacktextures", replaceunusedbacktextures.Checked);
|
||||
}
|
||||
|
||||
// Help!
|
||||
|
@ -575,24 +584,31 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
private void fronthigh_OnValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
if(preventchanges) return;
|
||||
MakeUndo(); //mxd
|
||||
MakeUndo();
|
||||
|
||||
//restore values
|
||||
// Restore values
|
||||
if(string.IsNullOrEmpty(fronthigh.TextureName))
|
||||
{
|
||||
int i = 0;
|
||||
|
||||
foreach(Linedef l in lines)
|
||||
{
|
||||
if(l.Front != null) l.Front.SetTextureHigh(linedefprops[i].Front != null ? linedefprops[i].Front.TextureTop : "-");
|
||||
if(l.Front != null) l.Front.SetTextureHigh(linedefprops[i].Front != null ? linedefprops[i].Front.HighTexture : "-");
|
||||
i++;
|
||||
}
|
||||
|
||||
}
|
||||
else //update values
|
||||
}
|
||||
// Update values
|
||||
else
|
||||
{
|
||||
foreach(Linedef l in lines)
|
||||
if(l.Front != null) l.Front.SetTextureHigh(fronthigh.GetResult(l.Front.HighTexture));
|
||||
int i = 0;
|
||||
foreach(Linedef l in lines)
|
||||
{
|
||||
if(l.Front != null
|
||||
&& (replaceunusedfronttextures.Checked
|
||||
|| (l.Front.HighRequired()
|
||||
|| (linedefprops[i].Front != null && linedefprops[i].Front.HighTexture != "-"))))
|
||||
l.Front.SetTextureHigh(fronthigh.GetResult(l.Front.HighTexture));
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
// Update the used textures
|
||||
|
@ -605,24 +621,31 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
private void frontmid_OnValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
if(preventchanges) return;
|
||||
MakeUndo(); //mxd
|
||||
MakeUndo();
|
||||
|
||||
//restore values
|
||||
// Restore values
|
||||
if(string.IsNullOrEmpty(frontmid.TextureName))
|
||||
{
|
||||
int i = 0;
|
||||
|
||||
foreach(Linedef l in lines)
|
||||
{
|
||||
if(l.Front != null) l.Front.SetTextureMid(linedefprops[i].Front != null ? linedefprops[i].Front.TextureMid : "-");
|
||||
if(l.Front != null) l.Front.SetTextureMid(linedefprops[i].Front != null ? linedefprops[i].Front.MiddleTexture : "-");
|
||||
i++;
|
||||
}
|
||||
|
||||
}
|
||||
else //update values
|
||||
}
|
||||
// Update values
|
||||
else
|
||||
{
|
||||
foreach(Linedef l in lines)
|
||||
if(l.Front != null) l.Front.SetTextureMid(frontmid.GetResult(l.Front.MiddleTexture));
|
||||
int i = 0;
|
||||
foreach(Linedef l in lines)
|
||||
{
|
||||
if(l.Front != null
|
||||
&& (replaceunusedfronttextures.Checked
|
||||
|| (l.Front.MiddleRequired()
|
||||
|| (linedefprops[i].Front != null && linedefprops[i].Front.MiddleTexture != "-"))))
|
||||
l.Front.SetTextureMid(frontmid.GetResult(l.Front.MiddleTexture));
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
// Update the used textures
|
||||
|
@ -635,24 +658,31 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
private void frontlow_OnValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
if(preventchanges) return;
|
||||
MakeUndo(); //mxd
|
||||
MakeUndo();
|
||||
|
||||
//restore values
|
||||
// Restore values
|
||||
if(string.IsNullOrEmpty(frontlow.TextureName))
|
||||
{
|
||||
int i = 0;
|
||||
|
||||
foreach(Linedef l in lines)
|
||||
{
|
||||
if(l.Front != null) l.Front.SetTextureLow(linedefprops[i].Front != null ? linedefprops[i].Front.TextureLow : "-");
|
||||
if(l.Front != null) l.Front.SetTextureLow(linedefprops[i].Front != null ? linedefprops[i].Front.LowTexture : "-");
|
||||
i++;
|
||||
}
|
||||
|
||||
}
|
||||
else //update values
|
||||
}
|
||||
// Update values
|
||||
else
|
||||
{
|
||||
int i = 0;
|
||||
foreach(Linedef l in lines)
|
||||
if(l.Front != null) l.Front.SetTextureLow(frontlow.GetResult(l.Front.LowTexture));
|
||||
{
|
||||
if(l.Front != null
|
||||
&& (replaceunusedfronttextures.Checked
|
||||
|| (l.Front.LowRequired()
|
||||
|| (linedefprops[i].Front != null && linedefprops[i].Front.LowTexture != "-"))))
|
||||
l.Front.SetTextureLow(frontlow.GetResult(l.Front.LowTexture));
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
// Update the used textures
|
||||
|
@ -665,24 +695,31 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
private void backhigh_OnValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
if(preventchanges) return;
|
||||
MakeUndo(); //mxd
|
||||
MakeUndo();
|
||||
|
||||
//restore values
|
||||
// Restore values
|
||||
if(string.IsNullOrEmpty(backhigh.TextureName))
|
||||
{
|
||||
int i = 0;
|
||||
|
||||
foreach(Linedef l in lines)
|
||||
{
|
||||
if(l.Back != null) l.Back.SetTextureHigh(linedefprops[i].Back != null ? linedefprops[i].Back.TextureTop : "-");
|
||||
if(l.Back != null) l.Back.SetTextureHigh(linedefprops[i].Back != null ? linedefprops[i].Back.HighTexture : "-");
|
||||
i++;
|
||||
}
|
||||
|
||||
}
|
||||
else //update values
|
||||
}
|
||||
// Update values
|
||||
else
|
||||
{
|
||||
int i = 0;
|
||||
foreach(Linedef l in lines)
|
||||
if(l.Back != null) l.Back.SetTextureHigh(backhigh.GetResult(l.Back.HighTexture));
|
||||
{
|
||||
if(l.Back != null
|
||||
&& (replaceunusedbacktextures.Checked
|
||||
|| (l.Back.HighRequired()
|
||||
|| (linedefprops[i].Back != null && linedefprops[i].Back.HighTexture != "-"))))
|
||||
l.Back.SetTextureHigh(backhigh.GetResult(l.Back.HighTexture));
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
// Update the used textures
|
||||
|
@ -695,24 +732,31 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
private void backmid_OnValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
if(preventchanges) return;
|
||||
MakeUndo(); //mxd
|
||||
MakeUndo();
|
||||
|
||||
//restore values
|
||||
// Restore values
|
||||
if(string.IsNullOrEmpty(backmid.TextureName))
|
||||
{
|
||||
int i = 0;
|
||||
|
||||
foreach(Linedef l in lines)
|
||||
{
|
||||
if(l.Back != null) l.Back.SetTextureMid(linedefprops[i].Back != null ? linedefprops[i].Back.TextureMid : "-");
|
||||
if(l.Back != null) l.Back.SetTextureMid(linedefprops[i].Back != null ? linedefprops[i].Back.MiddleTexture : "-");
|
||||
i++;
|
||||
}
|
||||
|
||||
}
|
||||
else //update values
|
||||
}
|
||||
// Update values
|
||||
else
|
||||
{
|
||||
int i = 0;
|
||||
foreach(Linedef l in lines)
|
||||
if(l.Back != null) l.Back.SetTextureMid(backmid.GetResult(l.Back.MiddleTexture));
|
||||
{
|
||||
if(l.Back != null
|
||||
&& (replaceunusedbacktextures.Checked
|
||||
|| (l.Back.MiddleRequired()
|
||||
|| (linedefprops[i].Back != null && linedefprops[i].Back.MiddleTexture != "-"))))
|
||||
l.Back.SetTextureMid(backmid.GetResult(l.Back.MiddleTexture));
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
// Update the used textures
|
||||
|
@ -725,24 +769,31 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
private void backlow_OnValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
if(preventchanges) return;
|
||||
MakeUndo(); //mxd
|
||||
MakeUndo();
|
||||
|
||||
//restore values
|
||||
// Restore values
|
||||
if(string.IsNullOrEmpty(backlow.TextureName))
|
||||
{
|
||||
int i = 0;
|
||||
|
||||
foreach(Linedef l in lines)
|
||||
{
|
||||
if(l.Back != null) l.Back.SetTextureLow(linedefprops[i].Back != null ? linedefprops[i].Back.TextureLow : "-");
|
||||
if(l.Back != null) l.Back.SetTextureLow(linedefprops[i].Back != null ? linedefprops[i].Back.LowTexture : "-");
|
||||
i++;
|
||||
}
|
||||
|
||||
}
|
||||
else //update values
|
||||
}
|
||||
// Update values
|
||||
else
|
||||
{
|
||||
int i = 0;
|
||||
foreach(Linedef l in lines)
|
||||
if(l.Back != null) l.Back.SetTextureLow(backlow.GetResult(l.Back.LowTexture));
|
||||
{
|
||||
if(l.Back != null
|
||||
&& (replaceunusedbacktextures.Checked
|
||||
|| (l.Back.LowRequired()
|
||||
|| (linedefprops[i].Back != null && linedefprops[i].Back.LowTexture != "-"))))
|
||||
l.Back.SetTextureLow(backlow.GetResult(l.Back.LowTexture));
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
// Update the used textures
|
||||
|
|
37
Source/Core/Windows/LinedefEditFormUDMF.Designer.cs
generated
37
Source/Core/Windows/LinedefEditFormUDMF.Designer.cs
generated
|
@ -60,6 +60,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.tabfront = new System.Windows.Forms.TabPage();
|
||||
this.frontside = new System.Windows.Forms.CheckBox();
|
||||
this.frontgroup = new System.Windows.Forms.GroupBox();
|
||||
this.replaceunusedfronttextures = new System.Windows.Forms.CheckBox();
|
||||
this.frontflagsgroup = new System.Windows.Forms.GroupBox();
|
||||
this.flagsFront = new CodeImp.DoomBuilder.Controls.CheckboxArrayControl();
|
||||
this.frontscalegroup = new System.Windows.Forms.GroupBox();
|
||||
|
@ -90,6 +91,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.tabback = new System.Windows.Forms.TabPage();
|
||||
this.backside = new System.Windows.Forms.CheckBox();
|
||||
this.backgroup = new System.Windows.Forms.GroupBox();
|
||||
this.replaceunusedbacktextures = new System.Windows.Forms.CheckBox();
|
||||
this.groupBox4 = new System.Windows.Forms.GroupBox();
|
||||
this.resetbacklight = new System.Windows.Forms.Button();
|
||||
this.backsector = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
|
||||
|
@ -496,6 +498,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.frontgroup.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.frontgroup.Controls.Add(this.replaceunusedfronttextures);
|
||||
this.frontgroup.Controls.Add(this.frontflagsgroup);
|
||||
this.frontgroup.Controls.Add(this.frontscalegroup);
|
||||
this.frontgroup.Controls.Add(this.groupBox6);
|
||||
|
@ -511,6 +514,16 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.frontgroup.TabStop = false;
|
||||
this.frontgroup.Text = " ";
|
||||
//
|
||||
// replaceunusedfronttextures
|
||||
//
|
||||
this.replaceunusedfronttextures.AutoSize = true;
|
||||
this.replaceunusedfronttextures.Location = new System.Drawing.Point(312, 15);
|
||||
this.replaceunusedfronttextures.Name = "replaceunusedfronttextures";
|
||||
this.replaceunusedfronttextures.Size = new System.Drawing.Size(144, 17);
|
||||
this.replaceunusedfronttextures.TabIndex = 46;
|
||||
this.replaceunusedfronttextures.Text = "Replace unused textures";
|
||||
this.replaceunusedfronttextures.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// frontflagsgroup
|
||||
//
|
||||
this.frontflagsgroup.Controls.Add(this.flagsFront);
|
||||
|
@ -862,7 +875,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
//
|
||||
// frontmid
|
||||
//
|
||||
this.frontmid.Location = new System.Drawing.Point(309, 217);
|
||||
this.frontmid.Location = new System.Drawing.Point(309, 225);
|
||||
this.frontmid.MultipleTextures = false;
|
||||
this.frontmid.Name = "frontmid";
|
||||
this.frontmid.Required = false;
|
||||
|
@ -874,7 +887,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
//
|
||||
// fronthigh
|
||||
//
|
||||
this.fronthigh.Location = new System.Drawing.Point(309, 19);
|
||||
this.fronthigh.Location = new System.Drawing.Point(309, 35);
|
||||
this.fronthigh.MultipleTextures = false;
|
||||
this.fronthigh.Name = "fronthigh";
|
||||
this.fronthigh.Required = false;
|
||||
|
@ -914,6 +927,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.backgroup.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.backgroup.Controls.Add(this.replaceunusedbacktextures);
|
||||
this.backgroup.Controls.Add(this.groupBox4);
|
||||
this.backgroup.Controls.Add(this.backflagsgroup);
|
||||
this.backgroup.Controls.Add(this.backscalegroup);
|
||||
|
@ -929,6 +943,16 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.backgroup.TabStop = false;
|
||||
this.backgroup.Text = " ";
|
||||
//
|
||||
// replaceunusedbacktextures
|
||||
//
|
||||
this.replaceunusedbacktextures.AutoSize = true;
|
||||
this.replaceunusedbacktextures.Location = new System.Drawing.Point(312, 15);
|
||||
this.replaceunusedbacktextures.Name = "replaceunusedbacktextures";
|
||||
this.replaceunusedbacktextures.Size = new System.Drawing.Size(144, 17);
|
||||
this.replaceunusedbacktextures.TabIndex = 47;
|
||||
this.replaceunusedbacktextures.Text = "Replace unused textures";
|
||||
this.replaceunusedbacktextures.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// groupBox4
|
||||
//
|
||||
this.groupBox4.Controls.Add(this.resetbacklight);
|
||||
|
@ -1290,7 +1314,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
//
|
||||
// backmid
|
||||
//
|
||||
this.backmid.Location = new System.Drawing.Point(309, 217);
|
||||
this.backmid.Location = new System.Drawing.Point(309, 225);
|
||||
this.backmid.MultipleTextures = false;
|
||||
this.backmid.Name = "backmid";
|
||||
this.backmid.Required = false;
|
||||
|
@ -1302,7 +1326,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
//
|
||||
// backhigh
|
||||
//
|
||||
this.backhigh.Location = new System.Drawing.Point(309, 19);
|
||||
this.backhigh.Location = new System.Drawing.Point(309, 35);
|
||||
this.backhigh.MultipleTextures = false;
|
||||
this.backhigh.Name = "backhigh";
|
||||
this.backhigh.Required = false;
|
||||
|
@ -1359,6 +1383,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.fieldslist.Name = "fieldslist";
|
||||
this.fieldslist.PropertyColumnVisible = true;
|
||||
this.fieldslist.PropertyColumnWidth = 150;
|
||||
this.fieldslist.ShowFixedFields = true;
|
||||
this.fieldslist.Size = new System.Drawing.Size(527, 602);
|
||||
this.fieldslist.TabIndex = 0;
|
||||
this.fieldslist.TypeColumnVisible = true;
|
||||
|
@ -1406,6 +1431,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.tabfront.ResumeLayout(false);
|
||||
this.tabfront.PerformLayout();
|
||||
this.frontgroup.ResumeLayout(false);
|
||||
this.frontgroup.PerformLayout();
|
||||
this.frontflagsgroup.ResumeLayout(false);
|
||||
this.frontscalegroup.ResumeLayout(false);
|
||||
this.groupBox6.ResumeLayout(false);
|
||||
|
@ -1414,6 +1440,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.tabback.ResumeLayout(false);
|
||||
this.tabback.PerformLayout();
|
||||
this.backgroup.ResumeLayout(false);
|
||||
this.backgroup.PerformLayout();
|
||||
this.groupBox4.ResumeLayout(false);
|
||||
this.groupBox4.PerformLayout();
|
||||
this.backflagsgroup.ResumeLayout(false);
|
||||
|
@ -1517,5 +1544,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
private CodeImp.DoomBuilder.GZBuilder.Controls.TagsSelector tagsselector;
|
||||
private System.Windows.Forms.Button resetfrontlight;
|
||||
private System.Windows.Forms.Button resetbacklight;
|
||||
private System.Windows.Forms.CheckBox replaceunusedfronttextures;
|
||||
private System.Windows.Forms.CheckBox replaceunusedbacktextures;
|
||||
}
|
||||
}
|
|
@ -102,22 +102,22 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
public readonly int Brightness;
|
||||
public readonly bool AbsoluteBrightness;
|
||||
|
||||
public readonly string TextureTop;
|
||||
public readonly string TextureMid;
|
||||
public readonly string TextureLow;
|
||||
public readonly string HighTexture;
|
||||
public readonly string MiddleTexture;
|
||||
public readonly string LowTexture;
|
||||
|
||||
public SidedefProperties(Sidedef side)
|
||||
{
|
||||
Flags = side.GetFlags();
|
||||
|
||||
//offset
|
||||
// Offset
|
||||
OffsetX = side.OffsetX;
|
||||
OffsetY = side.OffsetY;
|
||||
|
||||
Brightness = UniFields.GetInteger(side.Fields, "light", 0);
|
||||
AbsoluteBrightness = side.Fields.GetValue("lightabsolute", false);
|
||||
|
||||
//scales
|
||||
// Scale
|
||||
ScaleTopX = UniFields.GetFloat(side.Fields, "scalex_top", 1.0f);
|
||||
ScaleTopY = UniFields.GetFloat(side.Fields, "scaley_top", 1.0f);
|
||||
ScaleMidX = UniFields.GetFloat(side.Fields, "scalex_mid", 1.0f);
|
||||
|
@ -125,7 +125,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
ScaleBottomX = UniFields.GetFloat(side.Fields, "scalex_bottom", 1.0f);
|
||||
ScaleBottomY = UniFields.GetFloat(side.Fields, "scaley_bottom", 1.0f);
|
||||
|
||||
//offsets
|
||||
// Local offsets
|
||||
OffsetTopX = UniFields.GetFloat(side.Fields, "offsetx_top", 0f);
|
||||
OffsetTopY = UniFields.GetFloat(side.Fields, "offsety_top", 0f);
|
||||
OffsetMidX = UniFields.GetFloat(side.Fields, "offsetx_mid", 0f);
|
||||
|
@ -133,10 +133,10 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
OffsetBottomX = UniFields.GetFloat(side.Fields, "offsetx_bottom", 0f);
|
||||
OffsetBottomY = UniFields.GetFloat(side.Fields, "offsety_bottom", 0f);
|
||||
|
||||
//textures
|
||||
TextureTop = side.HighTexture;
|
||||
TextureMid = side.MiddleTexture;
|
||||
TextureLow = side.LowTexture;
|
||||
// Textures
|
||||
HighTexture = side.HighTexture;
|
||||
MiddleTexture = side.MiddleTexture;
|
||||
LowTexture = side.LowTexture;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -149,7 +149,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
// Initialize
|
||||
InitializeComponent();
|
||||
|
||||
//mxd. Widow setup
|
||||
// Widow setup
|
||||
if(location != Point.Empty)
|
||||
{
|
||||
this.StartPosition = FormStartPosition.Manual;
|
||||
|
@ -169,7 +169,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
flags.Add(lf.Value, lf.Key);
|
||||
flags.Enabled = General.Map.Config.LinedefFlags.Count > 0;
|
||||
|
||||
//mxd
|
||||
// Fill sidedef flags lists
|
||||
foreach(KeyValuePair<string, string> lf in General.Map.Config.SidedefFlags)
|
||||
{
|
||||
flagsFront.Add(lf.Value, lf.Key);
|
||||
|
@ -184,7 +184,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
// Fill activations list
|
||||
foreach(LinedefActivateInfo ai in General.Map.Config.LinedefActivates) udmfactivates.Add(ai.Title, ai);
|
||||
|
||||
//mxd. Fill keys list
|
||||
// Fill keys list
|
||||
keynumbers = new List<int>();
|
||||
if(General.Map.Config.Enums.ContainsKey("keys"))
|
||||
{
|
||||
|
@ -211,7 +211,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
// Fill universal fields list
|
||||
fieldslist.ListFixedFields(General.Map.Config.LinedefFields);
|
||||
|
||||
//initialize controls
|
||||
// Initialize controls
|
||||
frontUdmfControls = new List<PairedFieldsControl> { pfcFrontOffsetTop, pfcFrontOffsetMid, pfcFrontOffsetBottom, pfcFrontScaleTop, pfcFrontScaleMid, pfcFrontScaleBottom };
|
||||
backUdmfControls = new List<PairedFieldsControl> { pfcBackOffsetTop, pfcBackOffsetMid, pfcBackOffsetBottom, pfcBackScaleTop, pfcBackScaleMid, pfcBackScaleBottom };
|
||||
|
||||
|
@ -225,13 +225,17 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
foreach(KeyValuePair<string, string> lf in General.Map.Config.LinedefRenderStyles)
|
||||
renderStyle.Items.Add(lf.Value);
|
||||
|
||||
//Restore value linking
|
||||
// Restore value linking
|
||||
pfcFrontScaleTop.LinkValues = linkFrontTopScale;
|
||||
pfcFrontScaleMid.LinkValues = linkFrontMidScale;
|
||||
pfcFrontScaleBottom.LinkValues = linkFrontBottomScale;
|
||||
pfcBackScaleTop.LinkValues = linkBackTopScale;
|
||||
pfcBackScaleMid.LinkValues = linkBackMidScale;
|
||||
pfcBackScaleBottom.LinkValues = linkBackBottomScale;
|
||||
|
||||
// Apply texture replacement settings
|
||||
replaceunusedfronttextures.Checked = General.Settings.ReadSetting("editlinedefswindow.replaceunusedfronttextures", true);
|
||||
replaceunusedbacktextures.Checked = General.Settings.ReadSetting("editlinedefswindow.replaceunusedbacktextures", true);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
@ -301,11 +305,11 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
frontlow.Required = fl.Front.LowRequired();
|
||||
frontsector.Text = fl.Front.Sector.Index.ToString();
|
||||
|
||||
//flags
|
||||
// Flags
|
||||
foreach(CheckBox c in flagsFront.Checkboxes)
|
||||
if(fl.Front.Flags.ContainsKey(c.Tag.ToString())) c.Checked = fl.Front.Flags[c.Tag.ToString()];
|
||||
|
||||
//front settings
|
||||
// Front settings
|
||||
foreach(PairedFieldsControl pfc in frontUdmfControls)
|
||||
pfc.SetValuesFrom(fl.Front.Fields, true);
|
||||
|
||||
|
@ -326,11 +330,11 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
backlow.Required = fl.Back.LowRequired();
|
||||
backsector.Text = fl.Back.Sector.Index.ToString();
|
||||
|
||||
//flags
|
||||
// Flags
|
||||
foreach(CheckBox c in flagsBack.Checkboxes)
|
||||
if(fl.Back.Flags.ContainsKey(c.Tag.ToString())) c.Checked = fl.Back.Flags[c.Tag.ToString()];
|
||||
|
||||
//back settings
|
||||
// Back settings
|
||||
foreach(PairedFieldsControl pfc in backUdmfControls)
|
||||
pfc.SetValuesFrom(fl.Back.Fields, true);
|
||||
|
||||
|
@ -829,11 +833,16 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
fieldslist.Focus();
|
||||
}
|
||||
|
||||
//mxd. Store window location
|
||||
//mxd. Store window settings
|
||||
private void LinedefEditForm_FormClosing(object sender, FormClosingEventArgs e)
|
||||
{
|
||||
// Save location and active tab
|
||||
location = this.Location;
|
||||
activetab = tabs.SelectedIndex;
|
||||
|
||||
// Save persistent settings
|
||||
General.Settings.WriteSetting("editlinedefswindow.replaceunusedfronttextures", replaceunusedfronttextures.Checked);
|
||||
General.Settings.WriteSetting("editlinedefswindow.replaceunusedbacktextures", replaceunusedbacktextures.Checked);
|
||||
}
|
||||
|
||||
// Help!
|
||||
|
@ -1055,23 +1064,31 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
private void fronthigh_OnValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
if(preventchanges) return;
|
||||
MakeUndo(); //mxd
|
||||
MakeUndo();
|
||||
|
||||
//restore values
|
||||
// Restore values
|
||||
if(string.IsNullOrEmpty(fronthigh.TextureName))
|
||||
{
|
||||
int i = 0;
|
||||
|
||||
foreach(Linedef l in lines)
|
||||
{
|
||||
if(l.Front != null) l.Front.SetTextureHigh(linedefprops[i].Front != null ? linedefprops[i].Front.TextureTop : "-");
|
||||
if(l.Front != null) l.Front.SetTextureHigh(linedefprops[i].Front != null ? linedefprops[i].Front.HighTexture : "-");
|
||||
i++;
|
||||
}
|
||||
}
|
||||
else //update values
|
||||
}
|
||||
// Update values
|
||||
else
|
||||
{
|
||||
foreach(Linedef l in lines)
|
||||
if(l.Front != null) l.Front.SetTextureHigh(fronthigh.GetResult(l.Front.HighTexture));
|
||||
int i = 0;
|
||||
foreach(Linedef l in lines)
|
||||
{
|
||||
if(l.Front != null
|
||||
&& (replaceunusedfronttextures.Checked
|
||||
|| (l.Front.HighRequired()
|
||||
|| (linedefprops[i].Front != null && linedefprops[i].Front.HighTexture != "-"))))
|
||||
l.Front.SetTextureHigh(fronthigh.GetResult(l.Front.HighTexture));
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
// Update the used textures
|
||||
|
@ -1084,23 +1101,31 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
private void frontmid_OnValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
if(preventchanges) return;
|
||||
MakeUndo(); //mxd
|
||||
MakeUndo();
|
||||
|
||||
//restore values
|
||||
// Restore values
|
||||
if(string.IsNullOrEmpty(frontmid.TextureName))
|
||||
{
|
||||
int i = 0;
|
||||
|
||||
foreach(Linedef l in lines)
|
||||
{
|
||||
if(l.Front != null) l.Front.SetTextureMid(linedefprops[i].Front != null ? linedefprops[i].Front.TextureMid : "-");
|
||||
if(l.Front != null) l.Front.SetTextureMid(linedefprops[i].Front != null ? linedefprops[i].Front.MiddleTexture : "-");
|
||||
i++;
|
||||
}
|
||||
}
|
||||
else //update values
|
||||
}
|
||||
// Update values
|
||||
else
|
||||
{
|
||||
foreach(Linedef l in lines)
|
||||
if(l.Front != null) l.Front.SetTextureMid(frontmid.GetResult(l.Front.MiddleTexture));
|
||||
int i = 0;
|
||||
foreach(Linedef l in lines)
|
||||
{
|
||||
if(l.Front != null
|
||||
&& (replaceunusedfronttextures.Checked
|
||||
|| (l.Front.MiddleRequired()
|
||||
|| (linedefprops[i].Front != null && linedefprops[i].Front.MiddleTexture != "-"))))
|
||||
l.Front.SetTextureMid(frontmid.GetResult(l.Front.MiddleTexture));
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
// Update the used textures
|
||||
|
@ -1113,23 +1138,31 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
private void frontlow_OnValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
if(preventchanges) return;
|
||||
MakeUndo(); //mxd
|
||||
MakeUndo();
|
||||
|
||||
//restore values
|
||||
// Restore values
|
||||
if(string.IsNullOrEmpty(frontlow.TextureName))
|
||||
{
|
||||
int i = 0;
|
||||
|
||||
foreach(Linedef l in lines)
|
||||
{
|
||||
if(l.Front != null) l.Front.SetTextureLow(linedefprops[i].Front != null ? linedefprops[i].Front.TextureLow : "-");
|
||||
if(l.Front != null) l.Front.SetTextureLow(linedefprops[i].Front != null ? linedefprops[i].Front.LowTexture : "-");
|
||||
i++;
|
||||
}
|
||||
}
|
||||
else //update values
|
||||
}
|
||||
// Update values
|
||||
else
|
||||
{
|
||||
int i = 0;
|
||||
foreach(Linedef l in lines)
|
||||
if(l.Front != null) l.Front.SetTextureLow(frontlow.GetResult(l.Front.LowTexture));
|
||||
{
|
||||
if(l.Front != null
|
||||
&& (replaceunusedfronttextures.Checked
|
||||
|| (l.Front.LowRequired()
|
||||
|| (linedefprops[i].Front != null && linedefprops[i].Front.LowTexture != "-"))))
|
||||
l.Front.SetTextureLow(frontlow.GetResult(l.Front.LowTexture));
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
// Update the used textures
|
||||
|
@ -1142,23 +1175,31 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
private void backhigh_OnValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
if(preventchanges) return;
|
||||
MakeUndo(); //mxd
|
||||
MakeUndo();
|
||||
|
||||
//restore values
|
||||
// Restore values
|
||||
if(string.IsNullOrEmpty(backhigh.TextureName))
|
||||
{
|
||||
int i = 0;
|
||||
|
||||
foreach(Linedef l in lines)
|
||||
{
|
||||
if(l.Back != null) l.Back.SetTextureHigh(linedefprops[i].Back != null ? linedefprops[i].Back.TextureTop : "-");
|
||||
if(l.Back != null) l.Back.SetTextureHigh(linedefprops[i].Back != null ? linedefprops[i].Back.HighTexture : "-");
|
||||
i++;
|
||||
}
|
||||
}
|
||||
else //update values
|
||||
}
|
||||
// Update values
|
||||
else
|
||||
{
|
||||
int i = 0;
|
||||
foreach(Linedef l in lines)
|
||||
if(l.Back != null) l.Back.SetTextureHigh(backhigh.GetResult(l.Back.HighTexture));
|
||||
{
|
||||
if(l.Back != null
|
||||
&& (replaceunusedbacktextures.Checked
|
||||
|| (l.Back.HighRequired()
|
||||
|| (linedefprops[i].Back != null && linedefprops[i].Back.HighTexture != "-"))))
|
||||
l.Back.SetTextureHigh(backhigh.GetResult(l.Back.HighTexture));
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
// Update the used textures
|
||||
|
@ -1171,23 +1212,31 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
private void backmid_OnValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
if(preventchanges) return;
|
||||
MakeUndo(); //mxd
|
||||
MakeUndo();
|
||||
|
||||
//restore values
|
||||
// Restore values
|
||||
if(string.IsNullOrEmpty(backmid.TextureName))
|
||||
{
|
||||
int i = 0;
|
||||
|
||||
foreach(Linedef l in lines)
|
||||
{
|
||||
if(l.Back != null) l.Back.SetTextureMid(linedefprops[i].Back != null ? linedefprops[i].Back.TextureMid : "-");
|
||||
if(l.Back != null) l.Back.SetTextureMid(linedefprops[i].Back != null ? linedefprops[i].Back.MiddleTexture : "-");
|
||||
i++;
|
||||
}
|
||||
}
|
||||
else //update values
|
||||
}
|
||||
// Update values
|
||||
else
|
||||
{
|
||||
int i = 0;
|
||||
foreach(Linedef l in lines)
|
||||
if(l.Back != null) l.Back.SetTextureMid(backmid.GetResult(l.Back.MiddleTexture));
|
||||
{
|
||||
if(l.Back != null
|
||||
&& (replaceunusedbacktextures.Checked
|
||||
|| (l.Back.MiddleRequired()
|
||||
|| (linedefprops[i].Back != null && linedefprops[i].Back.MiddleTexture != "-"))))
|
||||
l.Back.SetTextureMid(backmid.GetResult(l.Back.MiddleTexture));
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
// Update the used textures
|
||||
|
@ -1200,23 +1249,31 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
private void backlow_OnValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
if(preventchanges) return;
|
||||
MakeUndo(); //mxd
|
||||
MakeUndo();
|
||||
|
||||
//restore values
|
||||
// Restore values
|
||||
if(string.IsNullOrEmpty(backlow.TextureName))
|
||||
{
|
||||
int i = 0;
|
||||
|
||||
foreach(Linedef l in lines)
|
||||
{
|
||||
if(l.Back != null) l.Back.SetTextureLow(linedefprops[i].Back != null ? linedefprops[i].Back.TextureLow : "-");
|
||||
if(l.Back != null) l.Back.SetTextureLow(linedefprops[i].Back != null ? linedefprops[i].Back.LowTexture : "-");
|
||||
i++;
|
||||
}
|
||||
}
|
||||
else //update values
|
||||
}
|
||||
// Update values
|
||||
else
|
||||
{
|
||||
int i = 0;
|
||||
foreach(Linedef l in lines)
|
||||
if(l.Back != null) l.Back.SetTextureLow(backlow.GetResult(l.Back.LowTexture));
|
||||
{
|
||||
if(l.Back != null
|
||||
&& (replaceunusedbacktextures.Checked
|
||||
|| (l.Back.LowRequired()
|
||||
|| (linedefprops[i].Back != null && linedefprops[i].Back.LowTexture != "-"))))
|
||||
l.Back.SetTextureLow(backlow.GetResult(l.Back.LowTexture));
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
// Update the used textures
|
||||
|
|
|
@ -146,7 +146,7 @@
|
|||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADM
|
||||
CAAAAk1TRnQBSQFMAgEBAgEAAcABAAHAAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
||||
CAAAAk1TRnQBSQFMAgEBAgEAAcgBAAHIAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
|
||||
AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
|
||||
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
|
||||
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
|
||||
|
|
6
Source/Core/Windows/SectorEditForm.Designer.cs
generated
6
Source/Core/Windows/SectorEditForm.Designer.cs
generated
|
@ -265,7 +265,8 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
//
|
||||
// label2
|
||||
//
|
||||
label2.Location = new System.Drawing.Point(193, 16);
|
||||
label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
|
||||
label2.Location = new System.Drawing.Point(196, 16);
|
||||
label2.Name = "label2";
|
||||
label2.Size = new System.Drawing.Size(114, 16);
|
||||
label2.TabIndex = 15;
|
||||
|
@ -283,7 +284,8 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
//
|
||||
// label4
|
||||
//
|
||||
label4.Location = new System.Drawing.Point(313, 16);
|
||||
label4.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
|
||||
label4.Location = new System.Drawing.Point(316, 16);
|
||||
label4.Name = "label4";
|
||||
label4.Size = new System.Drawing.Size(114, 16);
|
||||
label4.TabIndex = 14;
|
||||
|
|
Loading…
Reference in a new issue