New Source Project: unDink
Toa e-mailed the following to me, asking that I post it as a news item. As this didn't seem to fit very well in the news portion of this site, I asked that he post it on the forums.
That was about a week ago, so I guess he thinks I snubbed him and think that he is a horrible person or something. I really think it sounds like a cool idea, though, so I'm posting it here for him.
Greetings. I'm working on a revision of the Dink engine and I have some questions for DMOD authors. I've already done a lot of work, rewrote a lot of code, and fixed a few thousand bugs, but I've run into some problems regarding the behavior of item events and some DinkC commands and I need the Dink community's help in resolving these issues.
In DinkC, the "kill_this_item" and "kill_this_magic" commands call three events: "holdingdrop", "disarm", and then reloads the script to call "drop".
However, the "kill_cur_item" and "kill_cur_magic" commands call "disarm", and reloads the script to call "holdingdrop" and "drop".
The same three events occur in different orders and "disarm" requires a script reload. (The reload is not at issue here; "disarm" usually ends with "kill_this_task".)
My question is: In what order should these three events be called? What order do existing items depend on?
Also, are there any DMOD items that use "holdingdrop"? If so, do any of them require it? (Will the item work if "holdingdrop" is not called?) I would like to remove "holdingdrop". Between "disarm" and "drop", I doubt that there is a well-defined purpose for it.
Another event, "armmovie", isn't well documented and after examining the engine source code, I feel it may be useless. Does anyone use "armmovie"? If so, what do you use it for and is it required by the item? I would like to remove it.
Another matter is "copy_bmp". The DinkC Reference v3.2 has been a great help in describing the behavior and bugs of this command. I would like to know if anyone exploits the palette bug in "copy_bmp" or otherwise requires the use of an image's custom palette in "copy_bmp". Also, if at all possible, I would like to remove the "copy_bmp" command completely. If your DMOD absolutely requires this command, please tell me what behavior is required and the name of the DMOD so I can see this command in action. If this command is kept, should the image be stretched to fit the screen, or cropped instead?
And finally, does anyone depend on the world-map wrapping behavior? (When Dink goes right from a screen on the right side, he wraps around to a screen on the left side, and vice versa.) I may have accidentally changed this behavior when I rewrote the screen walk-off function to allow Dink to wrap vertically around the map.
Any information or commentary you can give me will be greatly appreciated. I'll be checking the replies to this post over the next week or so before I commit to any changes.
(On a side note, yes I am keeping reDink's additions, with the exception of the time argument for "fade_down". My revision of the palette fading didn't anticipate this option. If you absolutely need it, tell me.)
- toa
"I eat C for breakfast, and oceans for lunch."
P.S. This version's name is unDink v2.67 and, at this time, I am not accepting feature requests. I'd rather get the existing features working before I move forward.
That was about a week ago, so I guess he thinks I snubbed him and think that he is a horrible person or something. I really think it sounds like a cool idea, though, so I'm posting it here for him.
Greetings. I'm working on a revision of the Dink engine and I have some questions for DMOD authors. I've already done a lot of work, rewrote a lot of code, and fixed a few thousand bugs, but I've run into some problems regarding the behavior of item events and some DinkC commands and I need the Dink community's help in resolving these issues.
In DinkC, the "kill_this_item" and "kill_this_magic" commands call three events: "holdingdrop", "disarm", and then reloads the script to call "drop".
However, the "kill_cur_item" and "kill_cur_magic" commands call "disarm", and reloads the script to call "holdingdrop" and "drop".
The same three events occur in different orders and "disarm" requires a script reload. (The reload is not at issue here; "disarm" usually ends with "kill_this_task".)
My question is: In what order should these three events be called? What order do existing items depend on?
Also, are there any DMOD items that use "holdingdrop"? If so, do any of them require it? (Will the item work if "holdingdrop" is not called?) I would like to remove "holdingdrop". Between "disarm" and "drop", I doubt that there is a well-defined purpose for it.
Another event, "armmovie", isn't well documented and after examining the engine source code, I feel it may be useless. Does anyone use "armmovie"? If so, what do you use it for and is it required by the item? I would like to remove it.
Another matter is "copy_bmp". The DinkC Reference v3.2 has been a great help in describing the behavior and bugs of this command. I would like to know if anyone exploits the palette bug in "copy_bmp" or otherwise requires the use of an image's custom palette in "copy_bmp". Also, if at all possible, I would like to remove the "copy_bmp" command completely. If your DMOD absolutely requires this command, please tell me what behavior is required and the name of the DMOD so I can see this command in action. If this command is kept, should the image be stretched to fit the screen, or cropped instead?
And finally, does anyone depend on the world-map wrapping behavior? (When Dink goes right from a screen on the right side, he wraps around to a screen on the left side, and vice versa.) I may have accidentally changed this behavior when I rewrote the screen walk-off function to allow Dink to wrap vertically around the map.
Any information or commentary you can give me will be greatly appreciated. I'll be checking the replies to this post over the next week or so before I commit to any changes.
(On a side note, yes I am keeping reDink's additions, with the exception of the time argument for "fade_down". My revision of the palette fading didn't anticipate this option. If you absolutely need it, tell me.)
- toa
"I eat C for breakfast, and oceans for lunch."
P.S. This version's name is unDink v2.67 and, at this time, I am not accepting feature requests. I'd rather get the existing features working before I move forward.
Sounds like a cool idea. Hope you can pull it off. Keep up the good work!
"disarm", "holdingdrop", "drop", would be the correct order, though I doubt it makes a difference to existing items in which order they're called as long as "disarm" is before "drop". Why are you going to remove existing commands? I've never used holdingdrop nor copy_bmp but armmovie can be fairly useful... One thing you should do is make the move_nohard command work.
April 12th 2005, 07:32 PM

toa


No, I didn't think I was snubbed. I just got a job doing yardwork a week ago and most days all I do is mow grass and sleep, so I haven't been on the computer much lately. I don't think I'm gonna be doing this job long though, so unDink is moving forward, just not as fast as it would were I still unemployed.
btw, this site has a messageboard? Wow, you should put a link on the main page or something.
btw, this site has a messageboard? Wow, you should put a link on the main page or something.
