Jump to content

Klofkac

Fedaykin
  • Posts

    390
  • Joined

  • Last visited

  • Days Won

    40

Klofkac last won the day on September 16

Klofkac had the most liked content!

3 Followers

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Klofkac's Achievements

Rookie

Rookie (2/14)

  • Very Popular Rare
  • Dedicated Rare
  • First Post Rare
  • Collaborator Rare
  • Week One Done Rare

Recent Badges

168

Reputation

  1. Yes. Just copy all the files included in the package into your Dune 2000 folder, whatever version you have. I'm personally using it with Gruntmods.
  2. Update from 2021-09-13: 2) Events system 2a) General changes - Added "Auto-block" and "Blocked" event property. If "Blocked" flag is set, the event won't execute even if all conditions are true for that event. If "Auto-block" is set, then event will automatically block itself when it is executed. The "Auto-block" is basically "Execute once" behavior without using an additional "Flag" condition and "Set Flag" event, the flag is integrated into the event itself. 2b) Original event type changes Allegiance: Added "Both-sided" option so you can change diplomacy in both directions within a single event Play Sound: Can now have two types: "Global" (original behavior) and "Point" (will make sound at specific coordinates) Set Cash: Should work without crashes, added three operations: "Set", "Plus" and "Minus" Set Tech: Added option to immediately update available buildings and units Reveal map: Radius 0 (reveal whole map) will properly reveal radar map Show Message: Customizable message duration (the Unknown value is now used as duration in ticks) 2c) New event types Switch My Side: You can now change the side you play as (like the Debug feature) in the middle of mission. You can also turn off AI on side you switch to and turn on AI on side you switch from. "Reveal Base" option will also reveal tiles seen by buildings of the target side. Hide Map: Hides all map (like Hide Map crate type). If executed periodically, it can be used to simulate "Fog of War" mechanics - useful to mimic "darkness" (like inside caves). Un/block Event: Changes the "blocked" state of specific event Damage Tiles: Will cause damage to specific tile, like it was hit by specified weapon, without shooting a projectile. "Player": The side which gets score for killing buildings/units. "Pixel position": Pixel-precise target coordinates: [16 , 16] = center of tile, [0 , 0] = top-left, [31 , 31] = bottom-right "Rand. spread": Random inaccuracy (like Death Hand) in X and Y axis in pixels (32 = 1 tile) "Spread type": Random distribution in either square (rectangle) or circe (ellipse) shape "Hit explosion": Whether to show weapon's hit animation at target point Add Unit: Add a single unit at specified place. The unit can move in any direction after it is spawned: "Random": works is same way as when a building is destroyed/sold and infantry coming out of it will move in random direction Specific direction: works in same way as when a unit comes out of barracks/factory Add Building: Adds building at specified place. You can add building either with or without concrete, either instantly or with buildup animation, and also add refinery without a harvester coming with it. Add Projectile: Shoots projectile of a specific weapon from source position to target position. Source position is always center of specified tile. For target position you can specify "Pixel position" and "Rand. spread" in same way "Play sound": Whether to play weapon's firing sound from source tile Note that the distance from source to target is limited due to computation limitations to about 70 tiles. Add Explosion: Makes an animation at specified position. "Player" will specify color of deviator dust. You can specify "Pixel position" and "Rand. spread" in same way. "Play sound": Whether to play explosion's sound from the tile Add Crate: Add any type of crate during game. "Ext. data": Extension data, have different meaning for each crate type "Respawns": Number of respawns of Spice Bloom Spawner "Expiration": Time in ticks after which crate will disappear or spice bloom rises/explodes Add Concrete: Add concrete for specific side. If "Tile bitmask" is zero, it fills specified area with concrete (only buildable tiles). If "Tile bitmask" is nonzero, it places concrete of defined shape (up to 4*4 size, only buildable tiles) and reveals the tiles. Spice Bloom: Simulates explosion of a spice bloom crate at specified place. Shake Screen: Shakes screen for specified duration of ticks Center Viewport: Centers camera view at specified place. If executed periodically, it locks the screen. Change Map Block: Changes tiles at specified place to different tiles. Maximum is 12 tiles in single event due to data size limitation (i.e. 4*3 area, 2*6 area). If the target tile is not buildable, buildings and concrete on it will be destroyed (except buildings which do not require concrete). If target tile does not have "drive on" attribute, vehicles on it will be destroyed. If target tile does not have "walk on" attribute, infantry on it will be killed. If target tile does not have "sandy" attribute, spice on it will be removed. If target tile has "occupied by building/unit/infantry" attribute, units on it will be killed in respective way. Tile attributes will be changed to target tile's attributes, but building/unit owner will be preserved. Transform Tiles: Similar to "Change Map Block", but you can globally change specific tiles across whole map into their target counterparts. You can specify up to 6 "from-to" tile pairs. Change Tile Attributes: You can change attributes of tiles in specified map area. Either set attributes to absolute balue, or add or remove specified attributes. Change Tile Damage: Manipulates with tile's "Damage" property. The rock and sand craters are driven by tile's damage property (the more damage the bigger craters). You can set damage of tiles in specified map area to specific value or add/substract specific amount of damage. The damage range is 0 (healthy) to 255 (biggest craters). 3) Bug fixes - When you change side you play as using Debug menu, it will restore to original after restarting map (does not work when you save game with the side changed and load it back) - Exclude OPTIONS.AUD and SCORE.AUD music tracks from random music rotation 4) Extensions and improvements - Preserve original tiles beneath spice, concrete and building skirt tiles after spice/concrete/building is removed - Concrete pre-paced on map using specific tiles having "concrete" attribute will be indestructible - Spice works properly in tilesets where spice and buildings can be placed on same tiles (i.e. Red Alert) (you cannot place buildings on spice but can place them where it was harvested, spice blooms won't create spice underneath buildings) First post edited and download link updated.
  3. Update from 2021-07-27: - Fixed: Practice AI won't go/turn off berserk mode if it receives a MCV later during mission - Fixed: Increased the message duration to 400 ticks also for built-in messages (neutral became hostile etc) - Fixed: In-game briefing UI lockup, custom briefing will always show for any mission number or side - Added support for different type of infantry released from destroyed/sold building for different side (This is driven by Owner side setting for unit types - the first infantry owned by a side matches) - Added custumizable max. number of infantry to be released from destroyed/sold building and customizable chance (This is driven by infantryReleaseLimit and infantryReleaseChance rules) First post edited and download link updated. Maximum map size cannot be increased, unfortunately. I'm planning to do some improvements to the events system and add some new event types, according to how much possible it is to implement and integrate into game code.
  4. Ok, thanks for mentioning this, I was not thinking about it. Here's my point: Imagine a practice AI player loses its construction yard and cannot obtain MCV in any way, but still has barracks and can make engineers. Then I was like "ok, I deploy extra CY just for you to capture, then you get a CY and can build new buildings again". AI player eventually captured the CY, but sold it immediately anyway, and I said "How DUMB!!! Here you got a CY and got rescued, but you sold it, how you are STUPID dumb ass!". So for such situation, more logical behavior would be keeping the CY and I wished AI did so. But as you say, it's hard to make it perfect, as keeping captured structures would also have unwanted side effects.
  5. That was something I was thinking about myself! This could be an improvement that would make AIs more useful and acting more logically. I will take a look at this at some point in future.
  6. Update from 2021-07-01: - Customizable message duration for Show Message event (the Unknown value is now used as duration in ticks) - AI won't collect customized explosive crates or crates with image 4 - Fixed: Building upgrade tooltip now shows correct cost for easy and hard difficulty - Fixed: Exploding barrel, sardaukar and grenadier death damage is now properly dealt in the middle of building/unit - Fixed: Missing devastator self-destruct sound - Fixed: Damaged unit speed (units with red health bar are now slower than units with yellow health bar) - Fixed: MCV could be deployed on crates - Fixed: Error messages when winning/losing as side > 2 - Fixed: Infantry rarely remaining invulnerable after being released from a destroyed building - Fixed: AI getting stuck in infinite loop building and cancelling concrete when it's about to (re)build a building - Fixed: AI starting building upgrade with zero credits causing upgrade stuck in HOLD state - Fixed: AI losing ability to order units from starport after it tries to order a unit with low cash First post edited and download link updated.
  7. Hello! D2kEditor 2.0 is finally out! First post updated, find the download there! There are only a few small changes since the release candidate, but I believe it is worth updating for you! Added: In structures mode you can erase structures when right button is held and mouse is moved Fixed: Custom message text not properly saving for Show Message event Fixed: Buggy Create Events functionality (Add harvester replacement, unit spawn, side annihilated message) Changed: Building Types and Unit Types are now called Building Groups and Unit Groups Changed: File config/templates_other.txt renamed to config/group_ids.txt Added: Two remaining CashStash AI properties This version can be uploaded to D2k+ website and mods and tools index. Enjoy!
  8. Update from 2021-06-16: - Added new crate type: Execute event - Added possibility to specify different pickup animation for different powerup crate mode - Changed "Set tech" event to behave like originally, the new behavior (immediate update of available buildings and units) will be made optional later First post edited and download link updated.
  9. Update from 2021-06-16: - Fixed crash when picking up many unit crates next to each other - Made explosion crates shootable (can be specified for each crate individually) - Extended Spice Bloom and Spice Bloom Spawner crates: More spice bloom types (classic, instant circle/square, Dune 2 style) and customizable range - Extended Reveal Map crate: It can reveal a circle (same as Reveal map event) in relative position near to the crate - Extended Stealth crate: Has more functions (heal unit, change unit type) and customizable range First post edited and download link updated.
  10. Yesterday I implemented the extended reveal map crate, which would reveal a circle in a place near to the crate. I was also experimenting with a crate which would change unit stats (basically extending stealth crate). Changing health (i.e. full or partial healing) was pretty straightforward, but changing other stats (I wanted to try changing unit speed or rate of fire) was not much possible through. That would require additional changes in code, so that individual unit's value is used instead of global value for respective unit type, specified in templates.bin. But one interesting thing, I tried changing unit's type for existing unit on the fly, and that kinda worked. Wonder whether that would be any useful, but seems rather as obscure thing to me. I could also change the range of effect for the stealth crate. By default it turns stealth all units which are at most 2 tiles far from the crate in both X and Y directions. You could probably give me ideas gow the crate could be customized (i.e. different kinds of effects, customizable range etc). Basically I'm now concentrating on implementing the extended crates, after that I will take a look at the points and bug fixes reported by @Fey one by one.
  11. Eh, you got crazy with the number of things I should look at and fix, lol. Not sure if I will manage everything, and I'll take my time. I got also my own ideas what new stuff to add, I believe you will like them. Oh, really strange, no idea, maybe the exe FunkyFr3sh provided to me is somehow different. I'll take a look at some time, thanks Cm_blast for the tip. Yes I noticed that myself and fixed that, will be part of next editor release (the last release was a not the final v2.0, so luckily I still have place for such bug fixes). It was caused by the new auto-apply feature. I'm planning to implement a user-friendly way to place customized crates in the editor. But that will be done later, I still want to finalize (finally!) the version 2.0 which will not have this yet, but just after that I'll start v2.1 where I will only concentrate on adding stuff which I add within exe patching. Of course it will take time.
  12. Update from 2021-06-05: Extended crates functionality and customization - You can place any crate/spice bloom types using any of 8 available graphics (4 crate sprites, 4 spice bloom sprites) - Extended Cash crate: Can give you customizable amount of money (multiplies by 100) - Extended Explosion crate: You can specify which "weapon" is used and use that weapon's hit explosion - Extended Unit crate: You can specify which unit exactly it will give, for infantry it can give either 1 or 5 First post edited and download link updated. The first post contains description how to use the extended crates.
  13. Update from 2021-05-20: - Extended maximum length of in-game briefing loaded from mission ini file (from 4096 to 65536 characters) - Fixed disappearing crates and spice blooms when AI-controlled units are nearby - Made set cash event set the cash instead of add First post edited and download link updated.
  14. Hello all, so finally I got into Dune 2000 patching and fixing up things and adding new features! I had a talk with FunkyFr3sh and got some useful information and stuff needed for continuation of game pathing. I'm going to use the latest FunkyFr3sh's Cncnet version as a base (not the Gruntmods version which is not the latest one and can miss some important features), which should be fine and work well. I'm using the same patching methods and tools, which is pretty easy to use and only Dune2000.exe needs to be distributed. The latest version of cncnet's ddraw.dll needs to be used so I'm putting it in the zip file as well. I would also like to say many thanks to Tomsons26 and The Code Conqueors team for his hard work on reverse engineering Dune2000 with IDA, which helped me very much with seeing and understanding the code and which made game patching easier than it ever could be. Patching, which is practically kind of "source code modding" is lot of fun and can bring lot of new possibilities into the game. Download here: dune2000-sp-patches_2021-09-13.7z Updated version of D2kEditor where you can use the new features: D2kEditorv2.1dev1.7z Feature list: 1) Crates system - Added support for static pre-placed crates in maps + extended crates functionality and customization - Crates can be pre-placed using special values - You can place any crate/spice bloom types using any of 8 available graphics (4 crate sprites, 4 spice bloom sprites) - Extended Cash crate: Can give you customizable amount of money (multiplies by 100) - Extended Explosion crate: You can specify which "weapon" is used, crate can be detonated by shooting on it - Extended Reveal map crate: It can reveal a circle (same as Reveal map event) in relative position near to the crate - Extended Unit crate: You can specify which unit exactly it will give, for infantry it can give either 1 or 5 - Extended Stealth crate: Has more unit-powerup functions (heal unit, change unit type), customizable range and pickup animation - Extended Spice blooms: More spice bloom types (classic, instant circle/square, Dune 2 style) and customizable range - New crate type: Execute event! You can go wild and execute any event or chain of events you like. - Fixed disappearing crates and spice blooms when AI-controlled units are nearby. AI can actively collect crates. - AI won't collect customized explosive crates or crates with image 4 - How to use extended crates is described below 2) Events system 2a) General changes - Added "Auto-block" and "Blocked" event property. If "Blocked" flag is set, the event won't execute even if all conditions are true for that event. If "Auto-block" is set, then event will automatically block itself when it is executed. The "Auto-block" is basically "Execute once" behavior without using an additional "Flag" condition and "Set Flag" event, the flag is integrated into the event itself. 2b) Original event type changes Allegiance: Added "Both-sided" option so you can change diplomacy in both directions within a single event Play Sound: Can now have two types: "Global" (original behavior) and "Point" (will make sound at specific coordinates) Set Cash: Should work without crashes, added three operations: "Set", "Plus" and "Minus" Set Tech: Added option to immediately update available buildings and units Reveal map: Radius 0 (reveal whole map) will properly reveal radar map Show Message: Customizable message duration (the Unknown value is now used as duration in ticks) 2c) New event types Switch My Side: You can now change the side you play as (like the Debug feature) in the middle of mission. You can also turn off AI on side you switch to and turn on AI on side you switch from. "Reveal Base" option will also reveal tiles seen by buildings of the target side. Hide Map: Hides all map (like Hide Map crate type). If executed periodically, it can be used to simulate "Fog of War" mechanics - useful to mimic "darkness" (like inside caves). Un/block Event: Changes the "blocked" state of specific event Damage Tiles: Will cause damage to specific tile, like it was hit by specified weapon, without shooting a projectile. "Player": The side which gets score for killing buildings/units. "Pixel position": Pixel-precise target coordinates: [16 , 16] = center of tile, [0 , 0] = top-left, [31 , 31] = bottom-right "Rand. spread": Random inaccuracy (like Death Hand) in X and Y axis in pixels (32 = 1 tile) "Spread type": Random distribution in either square (rectangle) or circe (ellipse) shape "Hit explosion": Whether to show weapon's hit animation at target point Add Unit: Add a single unit at specified place. The unit can move in any direction after it is spawned: "Random": works is same way as when a building is destroyed/sold and infantry coming out of it will move in random direction Specific direction: works in same way as when a unit comes out of barracks/factory Add Building: Adds building at specified place. You can add building either with or without concrete, either instantly or with buildup animation, and also add refinery without a harvester coming with it. Add Projectile: Shoots projectile of a specific weapon from source position to target position. Source position is always center of specified tile. For target position you can specify "Pixel position" and "Rand. spread" in same way "Play sound": Whether to play weapon's firing sound from source tile Note that the distance from source to target is limited due to computation limitations to about 70 tiles. Add Explosion: Makes an animation at specified position. "Player" will specify color of deviator dust. You can specify "Pixel position" and "Rand. spread" in same way. "Play sound": Whether to play explosion's sound from the tile Add Crate: Add any type of crate during game. "Ext. data": Extension data, have different meaning for each crate type "Respawns": Number of respawns of Spice Bloom Spawner "Expiration": Time in ticks after which crate will disappear or spice bloom rises/explodes Add Concrete: Add concrete for specific side. If "Tile bitmask" is zero, it fills specified area with concrete (only buildable tiles). If "Tile bitmask" is nonzero, it places concrete of defined shape (up to 4*4 size, only buildable tiles) and reveals the tiles. Spice Bloom: Simulates explosion of a spice bloom crate at specified place. Shake Screen: Shakes screen for specified duration of ticks Center Viewport: Centers camera view at specified place. If executed periodically, it locks the screen. Change Map Block: Changes tiles at specified place to different tiles. Maximum is 12 tiles in single event due to data size limitation (i.e. 4*3 area, 2*6 area). If the target tile is not buildable, buildings and concrete on it will be destroyed (except buildings which do not require concrete). If target tile does not have "drive on" attribute, vehicles on it will be destroyed. If target tile does not have "walk on" attribute, infantry on it will be killed. If target tile does not have "sandy" attribute, spice on it will be removed. If target tile has "occupied by building/unit/infantry" attribute, units on it will be killed respectively. Tile attributes will be changed to target tile's attributes, but building/unit owner will be preserved. Transform Tiles: Similar to "Change Map Block", but you can globally change specific tiles across whole map into their target counterparts. You can specify up to 6 "from-to" tile pairs. Change Tile Attributes: You can change attributes of tiles in specified map area. Either set attributes to absolute balue, or add or remove specified attributes. Change Tile Damage: Manipulates with tile's "Damage" property. The rock and sand craters are driven by tile's damage property (the more damage the bigger craters). You can set damage of tiles in specified map area to specific value or add/substract specific amount of damage. The damage range is 0 (healthy) to 255 (biggest craters). 3) Bug fixes - Fixed: Building upgrade tooltip now shows correct cost for easy and hard difficulty - Fixed: Exploding barrel, sardaukar and grenadier death damage is now properly dealt in the middle of building/unit - Fixed: Missing devastator self-destruct sound - Fixed: Damaged unit speed (units with red health bar are now slower than units with yellow health bar) - Fixed: MCV could be deployed on crates - Fixed: Error messages when winning/losing as side > 2 - Fixed: Infantry rarely remaining invulnerable after being released from a destroyed building - Fixed: AI getting stuck in infinite loop building and cancelling concrete when it's about to (re)build a building - Fixed: AI starting building upgrade with zero credits causing upgrade stuck in HOLD state - Fixed: AI losing ability to order units from starport after it tries to order a unit with low cash - Fixed: Practice AI won't go/turn off berserk mode if it receives a MCV later during mission - Fixed: Increased the message duration to 400 ticks also for built-in messages (neutral became hostile etc) - Fixed: In-game briefing UI lockup, custom briefing will always show for any mission number or side - Fixed: When you change side you play as using Debug menu, it will restore to original after restarting map (does not work when you save game with the side changed and load it back) - Fixed: Excluded OPTIONS.AUD and SCORE.AUD music tracks from random music rotation 4) Extensions and improvements - Extended maximum length of in-game briefing loaded from mission ini file (from 4096 to 65536 characters) - Added support for different type of infantry released from destroyed/sold building for different side (This is driven by Owner side setting for unit types - the first infantry owned by a side matches) - Added custumizable max. number of infantry to be released from destroyed/sold building and customizable chance (This is driven by infantryReleaseLimit and infantryReleaseChance rules) - Preserve original tiles beneath spice, concrete and building skirt tiles after spice/concrete/building is removed - Concrete pre-paced on map using specific tiles having "concrete" attribute will be indestructible - Spice works properly in tilesets where spice and buildings can be placed on same tiles (i.e. Red Alert) (you cannot place buildings on spice but can place them where it was harvested, spice blooms won't create spice underneath buildings) How to place crates with special values: Please test the new features and let me know if you see any problems. Here is github repository with my own added patches: https://github.com/jkoncick/dune2000-sp-patches
  15. Oh nice to see you again @FunkyFr3sh, we all thought you were gone for good. Thanks for showing up here and offering me the source code. If you're on Discord, maybe we could discuss it further there?
×
×
  • Create New...