Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

DLL Talk / The Matrix1Utils plugins collection

Author
Message
Olby
19
Years of Service
User Offline
Joined: 21st Aug 2003
Location:
Posted: 24th Mar 2008 23:57
Man this is some real psychedelic stuff. Great work Ian.


ACER Aspire 5920G: Core2Duo 2.2GHZ, 2GB, GeForce 8600M GT 1280MB, DirectX10, DBPro 6.7
MSon
18
Years of Service
User Offline
Joined: 13th Jul 2004
Location: Earth, (I Think).
Posted: 25th Mar 2008 00:08
Thanks Ian, This should be perfect

Everyone Be Cool, You, Be Cool.
wildbill
16
Years of Service
User Offline
Joined: 14th Apr 2006
Location:
Posted: 25th Mar 2008 03:11
Just can't thank you enough for all the work you have done. I sometimes think that half of my code consists of your functions.
Pixel Paint
15
Years of Service
User Offline
Joined: 15th Sep 2007
Location:
Posted: 4th Apr 2008 04:34
Maybe I missed something, but why is the FIND FREE BANK command gone?
IanM
Retired Moderator
20
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 4th Apr 2008 15:23
You did - the release notices

It's not gone - it has moved. It's now included within the bank plug-in itself.

The resources plug-in (number 5?) now only deals with DBPro resources, with the current lone exception of objects, which as I'm tracking objects in plug-in number 19, now has the FIND FREE OBJECT function as well.

NeX the Fairly Fast Ferret
17
Years of Service
User Offline
Joined: 10th Apr 2005
Location: The Fifth Plane of Oblivion
Posted: 6th Apr 2008 13:54
I'm not sure that the GET WINDOW CLIENT HEIGHT and GET WINDOW CLIENT WIDTH commands work. For me, they return zero. Neat plugins collection.


I fail at life. No, really.
IanM
Retired Moderator
20
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 6th Apr 2008 14:20
Well, the GET WINDOW CLIENT WIDTH works fine, but that last round of changes I did to that plug-in broke the GET CLIENT WINDOW HEIGHT.

Thanks for pointing it out

NeX the Fairly Fast Ferret
17
Years of Service
User Offline
Joined: 10th Apr 2005
Location: The Fifth Plane of Oblivion
Posted: 6th Apr 2008 14:21
No problem.


I fail at life. No, really.
MSon
18
Years of Service
User Offline
Joined: 13th Jul 2004
Location: Earth, (I Think).
Posted: 6th Apr 2008 22:23 Edited at: 6th Apr 2008 22:34
Question about WRITE BANK STRING, Is it 1 position per charicter? Wondering as i'll need to send 2 strings so trying to make sure i get the positioning correct.

I think this is right, but not sure


Thanks in advance

Everyone Be Cool, You, Be Cool.
IanM
Retired Moderator
20
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 6th Apr 2008 22:35 Edited at: 6th Apr 2008 22:37
Yes, it's one character = one byte, and positions are specified as byte offsets from the start of the bank.

[EDIT]Yes, your code that's writing to the bank looks good to me.

Roxas
17
Years of Service
User Offline
Joined: 11th Nov 2005
Location: http://forum.thegamecreators.com
Posted: 10th Apr 2008 15:38 Edited at: 10th Apr 2008 15:39
Where is sort array ? I need it

Edit:
NVM Dint see that there was download on page9

Your signature has been erased by a mod because it was too big
Roxas
17
Years of Service
User Offline
Joined: 11th Nov 2005
Location: http://forum.thegamecreators.com
Posted: 10th Apr 2008 17:42
Oh about the sort array thingy.. Could you do so that you can sort diffrent elements?

Lets say i have UDT (Tick as Integer, Name as String) and i want to only sort the Tick element.

Why like this? So i can keep track of the name of the index what got sorted.

Your signature has been erased by a mod because it was too big
IanM
Retired Moderator
20
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 10th Apr 2008 19:28
That's a reasonable request ... but there's a big problem.

Once your code has compiled to an exe, the UDT definition is gone - neither the exe or the plug-ins have access to it. That means that the array plug-in has no way of knowing the type of the field you want to sort by or it's offset into the type.

I could put a system in place that would allow you to create a specification for the type so that the array can be sorted on fields you specify, but it'll be unsafe - if you tell it the wrong details, then it will go wrong and may even crash your program with a nasty error message.

I think that I'll do this anyway, as it's useful.

Quote: "NVM Dint see that there was download on page9"

A link to the very latest download is always in the first post, along with a link to the release details for that download. Make sure you downloaded the zip with the date of 24.03.2008 in the filename.

Pixel Paint
15
Years of Service
User Offline
Joined: 15th Sep 2007
Location:
Posted: 11th Apr 2008 00:40
In a shortcut or EXE file viewed with notepad, when it shows strings like: "C o m m e n t s :", do you what ASCII number the spaces are between each character?
IanM
Retired Moderator
20
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 11th Apr 2008 00:48
The characters are Unicode, which is stored as 2 bytes. When converting from 7 bit ASCII characters to Unicode the high byte is set to 0.

Roxas
17
Years of Service
User Offline
Joined: 11th Nov 2005
Location: http://forum.thegamecreators.com
Posted: 11th Apr 2008 08:42
Ah thanks IanM! Will make sure that my engine puts correct details

This would save me to create my own sorting formula and plugins are always faster ^^

Your signature has been erased by a mod because it was too big
pcRaider
15
Years of Service
User Offline
Joined: 30th May 2007
Location:
Posted: 12th Apr 2008 15:21 Edited at: 12th Apr 2008 15:24
Thank you for Matrix1Utils.
A trifling bug.
HelpMatrix1Util_22open_datafile_to_append.html
Description
If using the command form of this instruction, you can check if the file was sucessfully opened by using the DATAFILE EXIST() function.
It is spelling error. successfully
Grandma
17
Years of Service
User Offline
Joined: 26th Dec 2005
Location: Norway, Guiding the New World Order
Posted: 12th Apr 2008 17:43
I found a slightly more serious bug.

If you use write datafile string on an empty string, it will silently crash.



Like this does. However if you add the line
below the declaration, then it won't crash.

This message was brought to you by Grandma industries.

Making yesterdays games, today!
IanM
Retired Moderator
20
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 12th Apr 2008 17:57
Thanks for spotting that - it's a simple null-pointer problem.

When you define a string but don't assign anything to it, it defaults to 0. When you assign a value (even empty string), memory is allocated for that string and the string is them pointed to that memory.

I'll simply change the code to detect if the string pointer is null and if so, substitute an empty string - should be a small change to an existing line of code

@pcRaider,
Thanks for that too - it's all over the place in the help for that plug-in. Spell it wrong once, then duplicate over and over with copy/paste

Grandma
17
Years of Service
User Offline
Joined: 26th Dec 2005
Location: Norway, Guiding the New World Order
Posted: 12th Apr 2008 18:14
Quote: "I'll simply change the code to detect if the string pointer is null and if so, substitute an empty string - should be a small change to an existing line of code"


Cool.

That'll save me the trouble of len-checking my strings before I save my huge type arrays that won't always have all its strings in use.

This message was brought to you by Grandma industries.

Making yesterdays games, today!
IanM
Retired Moderator
20
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 12th Apr 2008 18:20
In the meantime, you can do something like the following until I re-release the plug-in:


Benjamin
20
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 12th Apr 2008 19:13 Edited at: 12th Apr 2008 19:14
You know, you can simply do if StringToWrite$ then ... to check if it's null (or rather, to check that it's not null).

Roxas
17
Years of Service
User Offline
Joined: 11th Nov 2005
Location: http://forum.thegamecreators.com
Posted: 13th Apr 2008 10:57
IanM any updates ? I propaply make my own sorting formula for a while until you get the new version out

Your signature has been erased by a mod because it was too big
IanM
Retired Moderator
20
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 13th Apr 2008 12:22
If you desperately need it now, then that would be best for now.

Just remember to use the SWAP ARRAY ITEMS command to swap items, rather than copy into a temp variable. It's a lot faster, even for basic array types.

Roxas
17
Years of Service
User Offline
Joined: 11th Nov 2005
Location: http://forum.thegamecreators.com
Posted: 13th Apr 2008 13:22
Well actually i can wait.. I just make temporary solution so that my ActList only shows 1 stack of turns. When the new one comes i will make it show more stack of turns. This works now like this cuz i can find 1 stack of turns with your plugin ^^

Your signature has been erased by a mod because it was too big
Code Dragon
16
Years of Service
User Offline
Joined: 21st Aug 2006
Location: Everywhere
Posted: 14th Apr 2008 01:16
IanM, this plugin pack is incredible. I really don't understand how I didn't decided to try it sooner. I've had DBPro versions of some of those string functions for trim$ and tokenizing a long time, but now that's nearly 100 lines of code I don't have to keep track of anymore.

I've experienced no bugs at all so far in using these plugins. Also, by replacing some of the calls to the eXtends string functions with calls to Matrix1Util_16, bugs that I've fixed more than once are gone. I wish I could use the zone functions, my app would have lots of areas it could be speed up, but it's a little more complex than checking if a point is in a 3D area. Is it possible to get or set individual coordinates in the zones?

I will be replacing some of the eXtends free functions with calls to Matrix1Util_05, eXtends doesn't reset to 1 when you get to 64 files, and it's been limiting the amount of time my program can run. I can't replace them all though otherwise eXtends won't work.

Again, thanks for these amazing plugins.

Mistrel
Retired Moderator
17
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 14th Apr 2008 13:05 Edited at: 14th Apr 2008 13:06
There seems to be a problem peeking from a double integer. The following code doesn't work.





http://3dfolio.com
IanM
Retired Moderator
20
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 14th Apr 2008 15:18
That's weird - it worked in the past, but doesn't work now. A quick scan doesn't show anything wrong with the code either. I'll take a more detailed look tonight.

@Code Dragon,
These plug-ins are the biggest open secret on the forums .

I don't quite get what you mean with the zones - if you can clarify (maybe with a 'for instance' example) I'll certainly see what I can do.

@Roxas,
I've got a working proof-of-concept for sorting typed arrays together now - I'll work on coming up with a final command set and integrating it into the e4xisting plug-in over this week - it'll be a part of the next release.

Olby
19
Years of Service
User Offline
Joined: 21st Aug 2003
Location:
Posted: 14th Apr 2008 17:40
Quote: "I don't quite get what you mean with the zones - if you can clarify (maybe with a 'for instance' example) I'll certainly see what I can do."


I think he meant that it would be nice to retrieve X,Y and Z coordinates where the object is currently in the zone rather than simple is/is not in the zone.


ACER Aspire 5920G: Core2Duo 2.2GHZ, 2GB, GeForce 8600M GT 1280MB, DirectX10, DBPro 6.7
IanM
Retired Moderator
20
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 14th Apr 2008 19:30
Sorry, but that's not any clearer really.

Do you mean:
- Whether an object overlaps a zone
- Specify a 3d volume and see if that overlaps a zone
- Other

Either way, I don't see how you got to any of those from what Code Dragon wrote.

I'm completely open to any suggestions for enhancements to these plug-ins on the condition that:
1. I have the time.
2. I have the capability.
3. I can understand what's being asked for

Roxas
17
Years of Service
User Offline
Joined: 11th Nov 2005
Location: http://forum.thegamecreators.com
Posted: 14th Apr 2008 20:53
Awesome ianm!

Your signature has been erased by a mod because it was too big
Code Dragon
16
Years of Service
User Offline
Joined: 21st Aug 2006
Location: Everywhere
Posted: 14th Apr 2008 23:09
I meant how to retrieve the startx, starty, startz, endx, endy, and endz of zones. I realized that by recalling the set zone command you can reset these numbers without having to clear the zone, but it would be nice to be able to get these numbers as well.

IanM
Retired Moderator
20
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 14th Apr 2008 23:11
Oh, that's an easy one - I'll aim to get that in the next release.

Code Dragon
16
Years of Service
User Offline
Joined: 21st Aug 2006
Location: Everywhere
Posted: 14th Apr 2008 23:32 Edited at: 14th Apr 2008 23:35
Thanks. I've been thinking, it would be better to just have one command and a parameter 0-5 to specify which coordinate to retrieve. That would allow calculations using for next loops.

Pixel Paint
15
Years of Service
User Offline
Joined: 15th Sep 2007
Location:
Posted: 15th Apr 2008 04:47 Edited at: 15th Apr 2008 04:54
Also, based off of what Code Dragon said, could you also make a command like: zone position x(x,y,z) that returns a -1 if the coords specified aren't in the zone, or if they are, return where?

Does this make sense?
IanM
Retired Moderator
20
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 15th Apr 2008 19:50
Ok, now I'm going to have to ask you to clarify what you mean. My first thought is that you want the (badly named) ZONE3D function.

Perhaps the ZONE3D and ZONE2D functions need to be renamed to POINT IN ZONE?

Pixel Paint
15
Years of Service
User Offline
Joined: 15th Sep 2007
Location:
Posted: 15th Apr 2008 23:44
No... the same idea as that command, exept return where it is in the zone, not just if it's in there or not.
Olby
19
Years of Service
User Offline
Joined: 21st Aug 2003
Location:
Posted: 16th Apr 2008 18:56
^ cosign! Thats what I wanted to say too.


ACER Aspire 5920G: Core2Duo 2.2GHZ, 2GB, GeForce 8600M GT 1280MB, DirectX10, DBPro 6.7
IanM
Retired Moderator
20
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 16th Apr 2008 19:19
*Still slightly confused*

Ok, if you have a zone from -1,-1,-1 to 5,5,5 and a point inside the zone at 1,1,1 what result are you expecting, and what functions would you need to get that result?

Pixel Paint
15
Years of Service
User Offline
Joined: 15th Sep 2007
Location:
Posted: 17th Apr 2008 02:00 Edited at: 17th Apr 2008 02:00
Let's just say it's a 2D zone.

The zone coords are 1,1 and 5,5
If the point was inside the zone at 3,3 you would have 2 commands:

xpoint=get zone point x(zoneNum,3,3)
ypoint=get zone point y(zoneNum,3,3)
They would all return 2.


Edit:Actually, I just thought of another way. With Code Dragon's command idea you can do it with just subtraction.

xpoint=startx(zoneNum)-x `(the x position of the point)
ypoint=starty(zoneNum)-y `(the y position of the point)

It would be nice if it was in the plugin, but I guess it doesn't need to be.
Roxas
17
Years of Service
User Offline
Joined: 11th Nov 2005
Location: http://forum.thegamecreators.com
Posted: 18th Apr 2008 15:31
Quote: "I've got a working proof-of-concept for sorting typed arrays together now - I'll work on coming up with a final command set and integrating it into the e4xisting plug-in over this week - it'll be a part of the next release."


Any news My thumbs needs coding

Your signature has been erased by a mod because it was too big
IanM
Retired Moderator
20
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 18th Apr 2008 15:57
Yep, the code is basically done and so are the help files - I'm currently tuning the code.

After that, I need to do a final review of the help files, fix a few bits & pieces elsewhere, and then I'll build the release. It may be all done by the end of this weekend, but no promises.

Grandma
17
Years of Service
User Offline
Joined: 26th Dec 2005
Location: Norway, Guiding the New World Order
Posted: 18th Apr 2008 16:18
Looking forward to it.

This message was brought to you by Grandma industries.

Making yesterdays games, today!
Roxas
17
Years of Service
User Offline
Joined: 11th Nov 2005
Location: http://forum.thegamecreators.com
Posted: 19th Apr 2008 13:08
Me too

Your signature has been erased by a mod because it was too big
Scraggle
Moderator
19
Years of Service
User Offline
Joined: 10th Jul 2003
Location: Yorkshire
Posted: 20th Apr 2008 14:53
Hey Ian.

I don't know if this is possible but if it can be done then it would make a great addition to the Limb commands.

CREATE OBJECT FROM OBJECT LIMB newObjectNumber, ObjectNumber, LimbNumber

Say, for example, you have a character that uses a shield and that shield is a separate limb, it would be great if you could remove that limb, save it as an object and load it in again ready to apply to another object.

I suspect there would be texturing and/or UV mapping problems but if you know of a way to do it and you feel it would make a worthy addition, I know I could certainly make use of it.

Thanks



IanM
Retired Moderator
20
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 20th Apr 2008 19:50
I've taken a quick look into it and it couldn't find a quick solution.

It's a good idea, so I'll add it to my list of things to look at after the next release.

Roxas
17
Years of Service
User Offline
Joined: 11th Nov 2005
Location: http://forum.thegamecreators.com
Posted: 20th Apr 2008 20:45
Isnt there already that command :S?

Your signature has been erased by a mod because it was too big
IanM
Retired Moderator
20
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 20th Apr 2008 20:51
Yup - MAKE OBJECT FROM LIMB - I didn't spot it because I was looking for something new in the Basic3D DLL. Off the list it comes

Scraggle
Moderator
19
Years of Service
User Offline
Joined: 10th Jul 2003
Location: Yorkshire
Posted: 20th Apr 2008 21:01
Hey, what do you know?!!

I scoured the help files and still managed to miss it.



Grandma
17
Years of Service
User Offline
Joined: 26th Dec 2005
Location: Norway, Guiding the New World Order
Posted: 20th Apr 2008 23:16 Edited at: 20th Apr 2008 23:17
Yup, I bet it's really _out there_ now that you know for a fact that it's there. I look for something (i'm not sure it's there but i'm looking really hard so I can be sure). I later discover that it was there all along, and now I can't miss it. It's almost gauging my eyes out and screaming for attention.

If a law haven't been assigned for this phenomenon yet (like Murphy's law), then it's about time.

This message was brought to you by Grandma industries.

Making yesterdays games, today!

Login to post a reply

Server time is: 2023-02-01 16:47:44
Your offset time is: 2023-02-01 16:47:44