dynasty Posted June 24, 2013 Share Posted June 24, 2013 Looking forward to the new maps. :) Just a quick note: it looks like the maximum timeout is 65535, or roughly 18 minutes. I haven't checked it in detail, but it looks like you can squeeze in a division (an unsigned right shift, "shr") where the nop's are to accomodate longer timed games. http://forum.dune2k.com/topic/18875-dune-2-exe-editing-programming-issues/page-25#entry380308 1 Quote Link to comment Share on other sites More sharing options...
drnovice Posted June 24, 2013 Share Posted June 24, 2013 Uhm I saw that g_timerGame & g_tickScenarioStart are uint32, instead g_scenario.timeOut is uint16, but mapSettingTimeout is defined as dw (double word).The problem looks like the registers contain only a word as max length (00000000|00000000).How would you use shr into opcode? We could set dx register to shr 4, so we can have near: 18 * 2 * 2 * 2 * 2 => 18 * 2^4 = 288 mins, almost 5 hour of max timeout. Quote Link to comment Share on other sites More sharing options...
dynasty Posted June 24, 2013 Share Posted June 24, 2013 I was thinking of using "shr dx, 1" to divide by 2. Looking moreclosely though, it looks like you aren't using the high bits, whichwill introduce problems later. There's not enough any room tocompletely do: (int32)g_timerGame - (int32)g_tickScenarioStart >= g_scenario.timeOut However, instead of taking the first two bytes of g_timerGame andg_tickScenarioStart (i.e. the least significant figures), we can workon the second and third bytes to simulate a divide by 256.(Neglecting to most significant byte shouldn't be a problem.)So maybe something like this will work: mov dx, word ptr timer_1 + 1 sub dx, word_46CC1 cmp dx, mapSettingTimeout "(int16)(g_timerGame / 256) - (int16)(g_tickScenarioStart / 256) >= g_scenario.timeOut" Set a timeout of 60 * 60 / 256 ~= 14 for 1 minute. 1 Quote Link to comment Share on other sites More sharing options...
drnovice Posted June 24, 2013 Share Posted June 24, 2013 I solved so:http://forum.dune2k.com/topic/18875-dune-2-exe-editing-programming-issues/page-25#entry380308 One minute is 225 value into Scenario INI file Timeout variable.In this way you can obtain a max timeout of near 5 hours to do the prefixed goal.I think it's enough, but it's possibile set shr to 5, to reach more than 9 hours as max timeout possible. Once again, thanks to notify! ;) 1 Quote Link to comment Share on other sites More sharing options...
MrFlibble Posted June 24, 2013 Author Share Posted June 24, 2013 I solved so:http://forum.dune2k.com/topic/18875-dune-2-exe-editing-programming-issues/page-25#entry380308Awesome work as usual! ^_^I think it's enough, but it's possibile set shr to 5 to reach more than 9 hours as max timeout possible.I've just tried to imagine someone playing a Dune IImission for 9 hours :D I fancy the only thing you can do to amuse yourself after the AI is defeated is to harvest nearly all the spice and then try to fill up the whole map with more spice via the trick with the destroyed harvester that is >50% full. Oh, and you can combine that with destroying an endless supply of enemy harvesters if you keep their refineries intact.Oh yes, and with segra's looped reinforcements fix, one can have some small battle with enemy air-dropped forces once in a while.BTW, I wonder how much points one can score that way. Also, I think some games from that time might crash or lock up if they run for too long..? Quote Link to comment Share on other sites More sharing options...
drnovice Posted June 24, 2013 Share Posted June 24, 2013 I think to increase game longevity it isn't necessary make too long Scenario Missions, instead we could create Campaigns that have more than 9 Scenario Missions levels, but we should do a complete background storyline to link these Missions. 1 Quote Link to comment Share on other sites More sharing options...
MrFlibble Posted June 24, 2013 Author Share Posted June 24, 2013 Heh, it's just that I thought that even five hours is more than necessary to beat a Dune II mission :) It isn't really about the time you spend playing, but rather about the game potential to be played for a certain period of time. Once you reach the upper limit of individual mission design (e.g. the number of units, structures, AI players and resources you can place on a map, as well as its maximum size), the maximum time a mission can be played will be limited accordingly.On an unrelated note, I remember you posted a video in one of the editing threads here some time ago, but I can't seem to find it. Could you please link to it again? And if you have more Dune II or DuneX videos uploaded somewhere (even if it's pure testing), could you please point to them too? Quote Link to comment Share on other sites More sharing options...
drnovice Posted June 24, 2013 Share Posted June 24, 2013 Only these: http://www.youtube.com/user/drnovice612ita?feature=watch 1 Quote Link to comment Share on other sites More sharing options...
MrFlibble Posted June 24, 2013 Author Share Posted June 24, 2013 Nice, thanks! :) Quote Link to comment Share on other sites More sharing options...
dynasty Posted June 29, 2013 Share Posted June 29, 2013 drnovice, you still aren't taking any part of the high bytes ofg_timerGame and g_tickScenarioStart into the calculation, which willlead to problems after 18 minutes (or maybe 9 minutes?). The original logic was: mov ax, word ptr timer_1+2 ; ax = high bytes of g_timerGame mov dx, word ptr timer_1 ; dx = low bytes of g_timerGame cmp ax, word_46CCE ; compare high bytes of g_timerGame and s_tickGameTimeout jg short loc_22395 ; Jump if high bytes of g_timerGame is greater than high bytes of s_tickGameTimeout jl short loc_22390 ; Jump if high bytes of g_timerGame is less than high bytes of s_tickGameTimeout ; High bytes are the same, so compare low bytes cmp dx, word_46CCC ; compare low bytes of g_timerGame and s_tickGameTimeout jnb short loc_22395 ; Jump if Not Below (CF=0) "if ((int32)g_timerGame < (int32)s_tickGameTimeout)" Whereas the current patch is: mov ax, word ptr timer_1+2 ; ax = high bytes of g_timerGame mov dx, word ptr timer_1 ; dx = low bytes of g_timerGame sub dx, word_46CC0 ; dx = low bytes of g_timerGame - low bytes of g_tickScenarioStart mov cl, 4 shr dx, cl ; dx = (low bytes of g_timerGame - low bytes of g_tickScenarioStart) / 16 cmp dx, mapSettingTimeout ; compare dx to g_scenario.timeOut jb short loc_22395 "if ((((int16)g_timerGame) - ((int16)g_tickScenarioStart)) / 16 > g_scenario.timeOut)"I think these are signed comparisons, which halves the maximum time. The signed comparison is important when you load a saved game because it will setg_tickScenarioStart = g_timerGame - savedElapsedGameTicks. 1 Quote Link to comment Share on other sites More sharing options...
drnovice Posted June 29, 2013 Share Posted June 29, 2013 I assume that max possible value is 65535, 11111111|11111111 binary.So it's evident that max possible value of "(g_timerGame - g_tickScenarioStart) / 16" must be the same.I discard the high parts since g_scenario.timeOut never will reach it.Mabye the only thing was to set jbe instead jb. However the Savegame point start isn't fixed by patch, so I must try another solutions. 1 Quote Link to comment Share on other sites More sharing options...
drnovice Posted July 1, 2013 Share Posted July 1, 2013 Thanks to Dynasty's suggestion, I took high 8 bits of lower register and low 8 bits of higher register to obtain a value between 256 and 16777215 (a max of more than 4660 mins or more than 77 hours of possible timeout) to compare with uint16 g_scenario.timeOut. http://forum.dune2k.com/topic/18875-exe-editing-programming-issues/page-25#entry380308 if ( ((uint32)g_timerGame / 256) - ((uint32)g_tickScenarioStart / 256) >= (uint16)g_scenario.timeOut )I tested with 3 mins (TimeOut=42) at starting game and with Restart Scenario. I tested even with Save/Load game.I also tested with 20 mins (TimeOut=280) and it works (Restart Scenario + Save/Load game). 1 Quote Link to comment Share on other sites More sharing options...
drnovice Posted August 9, 2013 Share Posted August 9, 2013 I looked at the (Mercenary) Guild's planet: what about Tandis III ? ??? I can't find any info. Tandis Four is background for Star Wars, afaik the Guild doesn't live in a planet, but it controls Tupile the "sanctuary planet". Quote Link to comment Share on other sites More sharing options...
MrFlibble Posted August 10, 2013 Author Share Posted August 10, 2013 I looked at the (Mercenary) Guild's planet: what about Tandis III ? ??? I can't find any info.Tandis Four is background for Star Wars, afaik the Guild doesn't live in a planet, but it controls Tupile the "sanctuary planet"."Tandis III" is completely made-up (by me) :) I think that I was subconsciously influenced by the Tandy 3 voice sound device option in the game's setup.I also made up the Mercenary Guild. It is by no means the same thing as the Spacing Guild, but it seemed logical that the mercenaries would be united in some kind of a guild too (although FH never mentions anything like that, mercenaries probably came from a variety of sources and were not united into any single organization).I didn't know about a Tandis Four in Star Wars (I only remember Tantive IV (spelling?) which was Princess Leia's Corellian Corvette?). Unless I came across the name Tandis Four while playing Dark Forces or reading Wookiepedia and subconsciously memorized it, we can count this as yet another (unintentional) parallel between the two universes :) Quote Link to comment Share on other sites More sharing options...
Nyerguds Posted November 5, 2015 Share Posted November 5, 2015 Looks like the images in the first post don't work... might want to reupload to a more reliable host like imgur or something. Quote Link to comment Share on other sites More sharing options...
MrFlibble Posted November 5, 2015 Author Share Posted November 5, 2015 I don't think I have those images anymore. Quote Link to comment Share on other sites More sharing options...
Nyerguds Posted November 10, 2015 Share Posted November 10, 2015 http://cnc-comm.com/community/index.php?action=mgallery;sa=album;id=38 https://web.archive.org/web/20130301190534/http://forum.dune2k.com/topic/18360-dune-2-extended-project/ Sure you do :P Heck, you can actually still download the images from the broken image links on the first page. It's just that ImageShack went crazy for some reason and no longer seems to allow embedding images, or something. So yeah, my advice... just switch to Imgur :) 1 Quote Link to comment Share on other sites More sharing options...
MrFlibble Posted November 11, 2015 Author Share Posted November 11, 2015 You're right. I'm just being lazy (well, actually not very motivated because of being very busy), and I haven't really maintained the project for a long while. I have an Imgur account so I should get those online soon. Quote Link to comment Share on other sites More sharing options...
drnovice Posted November 12, 2015 Share Posted November 12, 2015 We need to write an original plot for DuneX Campaigns, keeping in mind that levels don't need necessarily be 3 scenario per mission. It could be hacked to be 4 o 5 choice every "Select your next conquest" step, remembering to increase scenario.ini files for every choices in every step. Quote Link to comment Share on other sites More sharing options...
MrFlibble Posted November 18, 2015 Author Share Posted November 18, 2015 If you have the time to script a new campaign, you're welcome to do that. It would be interesting to explore more scenario combinations that are possible, e.g. missions with no base building. However I have absolutely no time for that ATM. Quote Link to comment Share on other sites More sharing options...
MrFlibble Posted June 10, 2017 Author Share Posted June 10, 2017 The v1.29 download was apparently lost during forum updates, so I had to re-upload the file. Quote Link to comment Share on other sites More sharing options...
Nyerguds Posted June 13, 2017 Share Posted June 13, 2017 Mirrored it on my site now http://nyerguds.arsaneus-design.com/dune/dune2x/ Quote Link to comment Share on other sites More sharing options...
MrFlibble Posted June 14, 2017 Author Share Posted June 14, 2017 Great, thanks a lot! ^_^ Wow, you have all the screenshots from the CnC Comm Centre Gallery, cool! Quote Link to comment Share on other sites More sharing options...
Sailed Vegetable Posted December 7, 2019 Share Posted December 7, 2019 It's fully playable mod? I have a problem with freeman compaign (3c mission i guess). Unit limits not allow me to constract enough army. I don't know is it my skill or what? But the mod itself is very nice. Quote Link to comment Share on other sites More sharing options...
MrFlibble Posted August 3, 2020 Author Share Posted August 3, 2020 On 12/7/2019 at 2:00 PM, Sailed Vegetable said: It's fully playable mod? I have a problem with freeman compaign (3c mission i guess). Unit limits not allow me to constract enough army. I don't know is it my skill or what? Apologies for the super belated reply. The missions have not been all thoroughly playtested, and most are indeed little more than playable place-holders. We intended to have much greater mission diversity but this has not materialised (yet). I'm afraid the project is on hold indefinitely at this moment, but scenario designers are welcome to try out something if they want. Dune II is definitely capable of clever missions beyond the original's scope of build up the base and wipe out the AI. A recent mission pack by a fellow Russian map maker proves this:https://www.youtube.com/watch?v=32EPgm0wePM Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.