Hardwired/Hybrid - DX9 and DX11 Userlib (Part XI)

Community Forums/Showcase/Hardwired/Hybrid - DX9 and DX11 Userlib (Part XI)

Ploppy(Posted 2015) [#1]
New worklog entry - big Hybrid update

Thanks for all your entries for the logo/icon so far guys - some really good stuff.


Rick Nasher(Posted 2015) [#2]
OK, pleasantly surprised. I apparently missed the previous Hybrid updates(too busy with other stuff). Did try the Hardwired DLL updates though.
But to get to the point, now that I tried Hybrid again, I have a few questions:

1. Does it matter where Hybrid is installed?
2. Do I need to add a path variable and/or other Environment variables as it doesn't come with an installer yet?

Asking this for I first ran it and it gave me a BSOD, which was probably caused by AVAST Antivirus being to aggressive, but then I moved it to C:\Program Files(x86) and ran fine, except that it can't find textures etc.

Bit late but I like what you did to the editor so far.


Ploppy(Posted 2015) [#3]
Hi Rick, it shouldn't matter where it is located. Just make sure the whole of the Hybrid folder is copied and it should work fine. I'm surprised to hear about the bsod. I have never even had one during testing since I started coding all this! And I use avast too! In fact the only time I get a bsod is when I try to use webcam in two different apps at the same time (driver problem I guess). What were you running when you got the bsod? The launcher or were you compiling a program?


Rick Nasher(Posted 2015) [#4]
BSOD only happened the first time I tried to compile&run one of the examples, but it's probable this was caused by Avast in combination with Comodo firewall/sandboxing.

Texture issue is probably cos I assumed they were already in archive which they aren't. Also my system is behaving a bit funny since I last updated windows 7, bit unstable I guess.


xlsior(Posted 2015) [#5]
New worklog entry - big Hybrid update


Just out of curiosity -- why are you keeping the 2D commands DX7 while you already have some DX9 implementation as well?

DX7 is already running through some emulation layer, and sooner or later it's bound to cause issues when MS deprecates more of the old functionality


Ploppy(Posted 2015) [#6]
Hi xlsior, the usage of dx7 is only in reference to any 2d commands used on windows created using the Graphics command. For any 2d functions (text, oval, copyrect, etc) used after a Graphics3d command my own dx9 routines are of course used. The 3d stuff is part of hardwired, the 2d is exclusively hybrid and is to all intents and purposes the same unchanged code used in b3d.


BlitzSupport(Posted 2015) [#7]
Makes sense... cleverly allows for backwards compatibility. Nice!


Rick Nasher(Posted 2015) [#8]
Hmm all working fine now. Just had some weird results when clicked on a sample .hb file and compiled/ran it while media such as textures weren't found(different location). It resulted in a crashed ide.exe that wasn't showing, yet kept running in the back, only visible in Taskmanager.

Couldn't kill this no matter what I tried. In the end a reboot was required. (Perhaps this is why BRL insisted on the default window?)

But this is probably Blitz by design, cos had the same thing a day or so before with a piece of server host and client code, where the hostserver code kept running no matter what I tried.

Orrr... It's my Win7 that's messed up. Oh-no! :-(
Can anyone please confirm this is Blitz? Otherwise it's reinstall time again..


Ploppy(Posted 2015) [#9]
Rick, if you have to time, can you list the steps you took to get to this error. That way I will try the same on my pc to see what results I get - will help me to understand better. Thanks.


Yue(Posted 2015) [#10]
Hi I am trying Hybrid, Maze.hb, blue screen, and the computer, just as some test10 is reset.

Windows XP
512 ram.
100GB HardDisk
Dual processor, 1.6
DirectX 9c


Rick Nasher(Posted 2015) [#11]
Weirdly enough I can't reproduce it anymore.. Must have been an anomaly.


Ploppy(Posted 2015) [#12]
A new update here, I have re-done some of Hybrid's central routines, hoping that this solves the blue-screen problems that both Rick and Yue reported.

New worklog entry


Yue(Posted 2015) [#13]
Error Load Hibryd.

Compěler Environmen Error: Unable to Open Runtime.dll

Windows XP.
DirectX 9C


Ploppy(Posted 2015) [#14]
Ok Yue, can you re-download, I have updated it a little. It should work now...


Yue(Posted 2015) [#15]
Ok, no problem, run exe hibryd.

One moment i am test files hb.


Yue(Posted 2015) [#16]
Everything seems to work fine, but I see strange things like this, and I think that can be a problem. In maze Viking model is seen as negative.



Ploppy(Posted 2015) [#17]
What you see in the image is quite normal for the moment, I haven't yet perfected the code so this is the result on all machines. I will of course complete this code.

For the maze, that's normal - I was testing the EntityNegative command...


Rick Nasher(Posted 2015) [#18]
@Ploppy Dunno what exactly you did or that it's a coincidence but things appear to open/run more speedy, which could be entirely my machine re-behaving as should of course. (perhaps they decided I am harmless and closed the backdoor again lol).

Besides that, I did notice a glitch when I first ran the maze example, showing the dwarfs through the walls. However I can't seem to replicate this, so I don't know if it was because the GPU needed to 'primed' or some oddity in the code.


Yue(Posted 2015) [#19]
@Ploppy
You know where I can find documentation to get started in programming Shaders?

Edit:
@Ploppy
Thanks You :)


Ploppy(Posted 2015) [#20]
What I personally do, as for most things, is google it. I can tell you this much about the HLSL shader language though, it is fairly similar to GLSL from what it seems, GLSL is however not compatible and should not be confused with it. HLSL has also certain similiarities to c++, although it is a very stripped down version. The HLSL compiler is very strict, and will only tolerate minor errors.

Programming shaders is not an easy concept to deal with, as you do have to learn to a certain extent the workings of the gfx adapter - the processes it goes through. What role the vertex shader, a rasteriser and a pixel shader plays in the process for example.

To get you started, you may wish to read this tutorial that looks pretty good, but there is a lot of other docs out there too...
Click here!


Guy Fawkes(Posted 2015) [#21]
Kick arse, Ploppy! Keep up the great work! =)


Xilvan(Posted 2015) [#22]
Hi everyone,

Lately, I was happy to see the
project still be in
preparation.

It looks great!

Maybe I'll try it somewhere
in the following month.

Friendly,


Rick Nasher(Posted 2015) [#23]
Bump.. ;-)


Guy Fawkes(Posted 2015) [#24]
Any updates on this yet?


Guy Fawkes(Posted 2015) [#25]
@Ploppy?


Guy Fawkes(Posted 2015) [#26]
Can someone else tell me what happened to Ploppy?

Thank you!


JesseJoh(Posted 2015) [#27]
I'll do my best to explain:

We're not sure :(


Guy Fawkes(Posted 2015) [#28]
PLEASE PLOPPY! DON'T QUIT HARDWIRED! :(


JesseJoh(Posted 2015) [#29]
Please do not quit Hybrid!


Ploppy(Posted 2015) [#30]
Hello, please don't panic. Do not get the wrong end of the stick, for this is far from the reality of it all. Hardwired is fine, and advancing in it's own way. I am spending quite a lot of time on it, but it is just not in any compilable state. I have nothing to release for the moment. But I am working on it.

As soon as I do have something new, I will of course release, like before. I understand fully that I release updates much less often and less significantly as before. This I cannot help for the moment. What I am working on at the moment is a major general overhaul of my existing code whilst at the same time adding new stuff such as a basic physics sytem. I am tidying a lot of tired code and converting certain old routines from structures to classes (a fairly new c++ concept to me, which is sturdier and friendlier to the c++ compiler and helps me find and eliminate/prevent bugs). That's all I can say for the moment. The next update may be as soon as next week or as far as in a months time, I cannot make any promises and don't wish to make any false promises I cannot stick to.

My aim of course would be to recover the pace I had with Hardwire's development from last year. I feel that this will definately quicken, but for the moment I need to untangle a code that has become very complicated. Once I have achieved this, additional code will be able to be integrated into it much easier for me.

So thanks for your patience, but don't worry Hardwired is still alive. If EVER I had any doubts about it progression I would release its source code without a second thought with the hope that someone would like to pick it up where I left off. But this is not the case, and I'm still having fun with hardwired. Just nothing to release, that's all...:D


Guy Fawkes(Posted 2015) [#31]
YAY! =D


Panno(Posted 2015) [#32]
great news !


Rick Nasher(Posted 2015) [#33]
I wasn't in doubt, I have true faith. ;-)

Plus you already explained before, and it must be a huuuge task to overhaul and review all the code: sure it will take time.

Glad to hear you're bringing in a physics system also Ploppy, that's really good stuff and will add a really missed feature to Blitz. This and of course the shaders, the video playback stuff, DX9/11, 64bit floating point, the IDE, the killing of the default window and tons of other useful stuff you've added sofar already(am I missing something?), sounds like a major achievement if you ask me!


Ploppy(Posted 2015) [#34]
It's just a simple physics system, I'm mainly testing it out for my own amusement - and I may scrap it if I get nowhere. I'm trying to get a few algorthms down to calulate centres of gravity, inertia, friction and air-resistance. I would like to be able to assign a 'weight' index to each entity or eventually a configurable material to an entity to give it its own unique physical qualities. I have a few outside configurable forces planned that I have already begun to put in place such as radial and linear gravity, wind and a vortex like force. Others to come no doubt. But like I said, this is something I am playing with at the moment and I may not release this stuff if it's not working for me.

I did try integrating Physx into hardwired, I donwloaded the sdk but it didn't work out the way I wanted to. Although fantastic it is, and very tempting at the same time (and also a big time-saver) I do not wish to use it as I cannot integrate it into the runtime dll (no static dll in sdk, only dynamic version), meaning one would not be able to compile a bb program that contained Physx stuff without have to include the accompanying dll. It's so much nicer to be able to compile a bb program and have everything in the same exe. Shame really, as Physx seems great.

This physics stuff is however a low priority for me, but is part of the whole code web I am attempting to un-tangle. It is taking a while to clean up my whole code, but is very well worth it from a programming point of view and should increase efficiency and reduce the size of my source and bug count.


therevills(Posted 2015) [#35]
one would not be able to compile a bb program that contained Physx stuff without have to include the accompanying dll


Personally I don't have an issue with including DLLs with my exes. It is nice to have one exe but it isn't the end the of the world :)


Rick Nasher(Posted 2015) [#36]
Ah therevills beat me to it. ;-) I was gonna say:
I can't speak for others but I really wouldn't mind having a separate dll for PhysX. I tried it with Blitz3d before and was pretty good.

Don't know how far you got with it but, in case you won't succeed: will it still be possible to use PhysX as an add on to Hardwired as is with Blitz3d? Or will compatibility be broken and/or a new PhysX wrapper required?


Guy Fawkes(Posted 2015) [#37]
Wrong! After compiling your EXE, you can use a program like Smart Packer to both Encrypt (or not), and compile your DLLs into the EXE. :)


Ploppy(Posted 2015) [#38]
I wasn't even aware there was a wrapper available for B3D - nice one, I wouldn't mind checking that one out for sake of curiosity. I would however think that the wrapper in question would not be compatible with hardwired as the structure of a hardwired entity or surface is not the same as a native b3d entity/surface.


Rick Nasher(Posted 2015) [#39]
Was afraid of that. And probably is true for the other physics engine wrappers too, hence the need for one in Hardwired.

As you can see from above comments it's only the rare perfectionist who apposes to the idea of having a separate dll for the physics. So if you can somehow, in anyway, then please add/integrate it.

If you want I can pull a zip/rar with all the Blitz3d PhysX wrapper+examples stuff I've collected over time from my external hard drive and put it up for download(might be bit messy though ;-).


Rick Nasher(Posted 2015) [#40]
Woops..(double entry, dunno why)


Guy Fawkes(Posted 2015) [#41]
For the love of the universe.... DO IT, RICK! >.<


Rick Nasher(Posted 2015) [#42]
Well there's not much use for it if Ploppy decides against it or doesn't need it. Hey after all: I have no clue how easy or difficult it actually is to implement this(well.. probably not very easy).

Also it's of course totally up to Ploppy as this is his project. We can only hint, hope and pray he'll share our views on things and/or is able to implement it. But he's of course by no means obligated to do so. Sofar I think he's been very indulgent to be honest as he's doing this all by himself, which is a massive task. I only think this would be a very much missed feature for the more modern engine in the makings, especially if we can't use the old dll's(at least not just like that). But I'm not going to push it or anything. It's up to him.


Just in case(or for anyone else)*:
http://www.mediafire.com/download/4fvm6wdra39m5p1/PhysX.rar

*)If anybody objects to material in the zip(rar) please let me know then I'll take it out(and yes, it's a messy archive).


Ploppy(Posted 2015) [#43]
New worklog entry - big Hardwired update

New release out.

Rick I've checked it out on your space program (not included in Hardwired release zip - far too large with all hi-res image files) - it seems to work a-ok. Can you check it out on your machine when you have the time please. If there's anything unusual, please let me know. Thanks for all the Physx stuff, btw - that's quite a collection. I'm checking that all out.


Rick Nasher(Posted 2015) [#44]
Thanks, will check it.<< update: GREAT JOB, AWESOME! Works like intended. Now I can release the updated version I guess (I rightaway noticed a missing line..hehehe).


Regarding the PhysX Wrapper:
There are probably a lot of doubles in the rar file, as I just took it straight from the "collective" on my backup drive. :-)


1) Oh, I forgot to mention, but *sources to the Wrapper ARE included in the archive* here(in C++ I believe):
PhysX\PhysXWrapper\PhysX Wrapper(sources)

They are apparently free to use in your own projects, thanks to XorS team: http://www.blitzbasic.com/Community/posts.php?topic=90281
(That should make life much easier?)


2) A bit of caution may be in place when running compiled exe's in the archive cos stuff is coming from Russia, which can be a bit questionable in nature(lot's of 'home creativity' in the former USSR). I'd run them in a sandbox first if needed.


Tab(Posted 2015) [#45]
The 99% of the PhysX Wrapper ( from XorS team ) is not affected by the structure of the entities or surfaces, the Cloth system is the only functionality with direct contact with the entities structure.

The wrapper can work in any language if you make some small modifications.


Ploppy(Posted 2015) [#46]
Thanks. I will check it out. Not immediately for I'm working on shaders at the moment but I will look into Physx stuff...


Rick Nasher(Posted 2015) [#47]
@Tab: That sounds really good. That would mean that it's possible to more or less transplant the PhysX Wrapper straight into Hybrid I guess, but also that if Ploppy decides otherwise, it would work as an add-on dll still, just as in Blitz3d?

I basically used PhysX in Blitz3d before as I found it had a lot of nice features and was free on top of that.

@Ploppy: understandable: first things first. I think you are on the right track. It(the PhysX thing) almost sounds too good to be true(that makes me weary: there must be a catch.. somewhere. :-).


Ploppy(Posted 2015) [#48]
Mmmm... my mouth is starting to water yet again. Lady luck is perhaps with me after all, it seems that a few days ago Nvidia decided to release the Physx source code so developers have all the freedom to do what they will. What a great gift, and what good timing for me. If this is so, I will indeed be able to incorporate Physx into my dll, which is something I would like to do but not obligatory. Credits will still of course go to Nvidia for creating such a great engine.

I'm looking into all that at the moment (though I'm not coding today, family outing takes precedence :D).

Looks as though the wrapper code, although very interesting, will only be helpful in some respects though for me. This version of Physx is depreciated, the new Sdk does not have the same functions/usage. So I think I will adopt the most up to date SDK for Hardwired and if I can use the source code, even better.

More info on Physx source here...


Rick Nasher(Posted 2015) [#49]
Wauw, that really is good news indeed. Keeping fingers x-ed here.

Enjoy the fam outing, Ploppy.


JanDK(Posted 2015) [#50]
Sounds really great (almost to good to be true) - hope you somehow can incorporate it into Blit3D, it would be amazing, X-ed fingers. Happy family outing - I have one of thoose myself today :-)


Ploppy(Posted 2015) [#51]
First Hardwired Physx release

Would like your opinions on this one guys, if there's anyone there ;D


Guy Fawkes(Posted 2015) [#52]
@Ploppy, I'm trying to get my game to work with hardwired, but there are a few problems (so far that I know of):

1) There needs to be an option to turn on or off the "caret" when typing. I lose my place quite easily.

2) There needs to be an option to tell Hybrid to either add ONE new line OR two new lines after pressing return. It's annoying on auto.

3) the biggest 1 of them all... Debug menu keeps on disappearing after I compile in Debug mode and not allowing for me to see why the game is crashing and at what line.

4) I'll let you know if anything arises. After I fix it, I will then test the physx engine, because my net game needs physics now, anyway.

Hope this helps!

Thanks again, Ploppy! :)

Sincerely,

~GF


Rick Nasher(Posted 2015) [#53]
Just woke up and had to somehow check..

@GF: Cant believe you missed the whole PhysX version release and are complaining about the IDE. ;-) [joke, no offence] Check again, something wonderful has happened.. Hardwired got married with PhysX!

@Ploppy: Dunno where you found the time to squeeze this in but: wauw!
"this square world is falling to an end" > are you trying to tell us something here? lol


Had to change a few lines though to view the effect including the sphere, otherwise: a) cam will see only the cube falling, not the static sphere and b) camspeed was way too low, couldn't move the cam at all.

Also noticed it doesn't like to run from the folder "C:\Program Files (x86)\Hybrid\samples" as it gives me a "texture error- invalid data". It probably can't find the texture. This might be a Windows7 rights issue on the folder as it didn't come with an installer of course, I just copied it there. Works fine from any place else.

Changes marked with '<<<<<<'


"Thank you, your Majesty." Life just got a little better.


Guy Fawkes(Posted 2015) [#54]
LMFAO, @Rick Nasher! XD


Ploppy(Posted 2015) [#55]
New Hardwired Physx release

Nice little demo out as well for the new Physx commands of the day...


Rick Nasher(Posted 2015) [#56]
@GF: good news huh?

@Ploppy: Off topic, just a question regarding 64bit floats etc I noticed the commands and text below, which I didn't give the attention they deserve until now:

"New maths functions have now been added to hardwired. For many, these functions will not be needed, but can be useful so some (me included). These following functions/commands will give blitz the ablility to use double floating point variables. The floating point variables used on classic blitz take up 4 bytes, double floating point variables take up 8 bytes each. This greater size allows for a greater range of numbers and a better precision. Test in double_precision_example.bb....

dxCreateDouble%() - Create a double variable and return its handle
dxFreeDouble(double%) - Free up a double
dxDoubleMultiply(double_1%,double_2,result%) - Calculate the product of double1 and double2 and save to result
dxDoubleDivide(double_1%,double_2,result%) - Divide double1 by double2 and save to result
dxDoubleAdd(double_1%,double_2,result%) - Add double1 to double2 and save to result
dxDoubleSubtract(double_1%,double_2,result%) - Subtract double2 from double1 and save to result
dxDoubleToFloat#(double%) - Return a double converted to a float number
dxDoubleToInt%(double%) - Return a double converted to an int
dxDoubleFromString(double%,string$) - Set a double variable from a string
dxDoubleFromFloat(double%,float#) - Set a double variable from a float
dxDoubleFromInt(double%,int%) - Set a double variable from an integer number
dxDoubleCopy(source_double%,destination_double%) - Copy source double to destination double
dxDoubleToString$(double%) - Retrieve double to a string value
dxDoubleSqrt(source_double%,destination_double%) - Find the sqaure root of source and save to destinaton
dxDoubleSin(source_double%,destination_double%) - Find the sine of source and save to destinaton
dxDoubleCos(source_double%,destination_double%) - Find the cosine of source and save to destinaton
dxDoubleTan(source_double%,destination_double%) - Find the tangent of source and save to destinaton
dxDoubleASin(source_double%,destination_double%) - Find the arc sine of source and save to destinaton
dxDoubleACos(source_double%,destination_double%) - Find the arc cosine of source and save to destinaton
dxDoubleATan(source_double%,destination_double%) - Find the arc tangent of source and save to destinaton
dxDoubleATan2(double_1%,double_2%,destination_double%) - Find the arc tangent of double1,double2 and save to destinaton
dxDoubleSinh(source_double%,destination_double%) - Find the hyperbolic sine of source and save to destinaton
dxDoubleCosh(source_double%,destination_double%) - Find the hyperbolic cosine of source and save to destinaton
dxDoubleTanh(source_double%,destination_double%) - Find the hyperbolic tangent of source and save to destinaton
dxDoubleAbs(source_double%,destination_double%) - Find the absolute value of source and save to destinaton
dxDoubleLog(source_double%,destination_double%) - Find the natural logarithm of source and save to destinaton
dxDoubleLog10(source_double%,destination_double%) - Find the common logarithm of source and save to destinaton
dxDoublePow(double_1%,double_2%,destination_double%) - Raise double_1 to the power of double_2 and save to destinaton
dxDoubleExp(source_double%,destination_double%) - Find the exponent of source and save to destinaton
dxDoubleCeiling(source_double%,destination_double%) - Round up source and save to destinaton
dxDoubleFloor(source_double%,destination_double%) - Round down source and save to destinaton
dxDoublePi(destination_double%) - Set double to the value of Pi
dxDoubleToRadians(source_double%,destination_double%) - Convert double from a degree value to a radian value
dxDoubleToDegrees(source_double%,destination_double%) - Convert double from a radian value to a degree value
dxDoubleSign%(source_double%) - Return the sign value of give double
dxDoubleEqualLessThan%(double_1%,double_2%) - Returns true if double1 is equal or less than double2
dxDoubleLessThan%(double_1%,double_2%) - Returns true if double1 is less than double2
dxDoubleEqualTo%(double_1%,double_2%) - Returns true if double1 is equal to double2
dxDoubleEqualBiggerThan%(double_1%,double_2%) - Returns true if double1 is equal or bigger than double2
dxDoubleBiggerThan%(double_1%,double_2%) - Returns true if double1 is bigger than double2
dxDoubleMod(double_1%,double_2%,double_result%) - Returns the modulo (remainder) of a division of double1 by double2 and save to double result"



Before this there was some discussion:

"Yes, I thought of the same thing for 64bit ints - it runs along the same logic as ## and would make it tidy.

If I can manage to reprogram 2 character wide symbols, I will do so. And if I do decide to create a unicode string type I think I will try for $$. Again, runs along the same logic."



Question:
Given the commands above, does this mean the concept of 2 character symbols to distinguish the variable types is of the table/has proven to be too cumbersome to implement? Or still planning to do this in a later stage? (you can probably guess why I'm interested: the greater precision for the planetary demo, especially orbits)

BTW: Fantastic mouthwatering new PhysX demo!


RemiD(Posted 2015) [#57]
Hi Ploppy,

I had a problem recently with the Blitz3d collision system so if you plan to use it, you may be interested in this :
In this case i am talking about collision detection between a collider ellipsoid and a collidable mesh, and the repositionning of the collider ellipsoid after the collision.

When i use the response "stop", i expect the collider ellipsoid to be repositionned outside (before) the collidable it has gone through, and with Blitz3d collision system it does not seem to be the case, the collider ellispoid stays inside the collidable it has collided with. And this is a problem if i want to reposition the entity depending on the position of the collider ellispoid (which i expect to be outside of the collidable)

In some cases it may be useful to use several colliders ellipsoid set as childs of a root pivot, then turn move the root pivot and check if a collision was detected between one of the child collider ellispoid and a collidable, and if yes, reposition the root pivot at the appropriate position depending on the collider ellipsoid position. (i hope this is clear enough)

Maybe these informations will help you to improve your collision system...


Guy Fawkes(Posted 2015) [#58]
@Rick Nasher: Yes! TOTALLY good news! =)

But those 3 other concerns I posted yesterday are of high-priority. ESPECIALLY the debug one. But EXCELLENT Physx Demo, @Ploppy! Keep up the good work! :)


Rick Nasher(Posted 2015) [#59]
@GF:
1. Not sure what you mean by the caret issue. I have a blinking cursor at all times to hold on to.
2. I can see that one indeed: gives 2 newlines instead of one(bit weird).
3. My debug doesn't switch off. Perhaps a permissions issue in windows not allowing to write the setting to directory? Try if you set prg_debug to 1 manually by editing: cfg\blitzide.prefs


Guy Fawkes(Posted 2015) [#60]
No. I don't think it's a permissions issue. I'm using Windows 8.1 on my desktop. But I'll try that. Thanks for the tip.

As for the caret problem, it might be a Windows-8.1 ONLY problem... Only Ploppy knows for certain.

The 2 new lines thing definitely needs to go.


virtlands(Posted 2015) [#61]
Welll,,, I tried that free PhysX package, and it gets me a MAV every time on the PxCreateWorld(1,"key") function.
My laptop is obviously not Nvidia compatible.

...There you have it...,




virtlands(Posted 2015) [#62]
@Rick Nasher,
Off topic, the concept of 2 character symbols to distinguish the variable types...

I almost forgot about that,...
Yes, I think it would be great for Ploppy to ponder the ## for doubles, etc., (if possible)..

You can maybe do these as well:

%% for 64-bit Integers, (long long)
## for 64-bit Doubles, (double float)

n! : can add "!" (on right side) for Factorials, (32-bit or 64-bit)
!n : can add "!" (on left side) for LeftFactorials, (32-bit or 64-bit)

...For those that want to know,, (SubFactorial=LeftFactorial) : http://bit.ly/1C5xSS1

Subfactorial[n] is the number of permutations of n objects where no object remains fixed, (either equation works fine:)



[ Here is Blitz3D code to demonstrate n! and !n, ...hope you like. ]



Ploppy(Posted 2015) [#63]
@Virtlands, have you tried my physx demo? It seems you tried the Physx wrapper and it didn't work. Perhaps this one will work. Besides, the warning was talking about GPU support. If your GPU really isn't physx compatible it should just use your CPU instead, it should not stop physx from working to my knowledge. Check your dll's...


Ploppy(Posted 2015) [#64]
@Gf - I do know what you mean about the double-line experience. This one has been bugging me since the beginning. It is to do with a change of version of richedit when migrating blitz's original code from vc6 to vc10. The blitz ide uses the microsoft foundation classes for some programming that includes richedit related functions. I just have to make a few extra refinements to it - it seems that the newer versions of richedit are more sensitive than the older ones. The thing is I have to find out WHERE in the code I need to make these refinements and that takes time. So I will get round to it but not right away. I agree it is a bit frustrating but that's all I can do with the ide for the moment.

As for the debugger I have noticed that the window isn't showing properly, but again I need time to sort this out too.

I have found another problem with the ide. Try pasting text into it, especially text from another app and see the funky result.

All these ide ptoblems will be sorted out but not right away as it is not my priority at present (despite it being your priority it seems). Please do not forget that if you do not get on with hybrid you can always use the hardwired dll with blitz in the meantime....

P.s. Has anyone tried hybrid with another ide? In theory it should work as well...


Ploppy(Posted 2015) [#65]
@Rick - Incorporating 64 bit floats and int (unicode strings too would be cool) is still planned. Variable handling as you can probably guess goes right down into the compiler core and many modifications and insertions have to be made (also a bit of ASM code, I fear).


Ploppy(Posted 2015) [#66]
@Virtlands - I have just checked out my latest effort on the pc I use at work. It is an xp machine using an in-built motherboard intel gpu. My physx demo runs without flaw, and I get about 300fps.

All this suggests (TBC) that it should work on your machine. If the wrapper didn't work for you perhaps there were compatibility probs in the past.


Ploppy(Posted 2015) [#67]
New Hardwired Physx release

More Physx stuff, it's starting to take shape, nice......


Rick Nasher(Posted 2015) [#68]
Thanks for the comments/replies/info.

I must say that I'm really thrilled seeing just how good this is starting to look. Really becoming the Next Gen Blitz3d we're all hoping this to be.


EDIT1:
Indeed is looking even better. I replaced:
sub=CopyEntity(sph)

with:
sub=CreateSphere(Rnd(16)+1)

It will generate differently shaped forms, which gives a rather interesting effect.


EDIT2:
spherecount=150 Still gives a whooping 300 fps!!? Same for 300 spheres?? I'm stun..


Ploppy(Posted 2015) [#69]
Just released a little update, football can now be played by moving the camera in the demo... :-)


Rick Nasher(Posted 2015) [#70]
Pretty cool!

Slight mod:



Are there default, min or maximum values to the commands?
BTW: never seen such high fps on the PhysX wrapper I used before with Blitz so this is a major improvement.


Rick Nasher(Posted 2015) [#71]
@VirtLands: not a math wiz but very interesting.. thanks.


virtlands(Posted 2015) [#72]
I got the test1_physx.hb running.
This is quite nice. I managed to get the SpaceBar option working too.

[screenshots from Rick Nasher's version. :]

{ That's the REOR calculator that I found; it tends to stay on top. -- http://bit.ly/1Ed5hrr }


Ploppy(Posted 2015) [#73]
@Rick - one reason you're getting high fps for the moment is that we're currently working with spherical actors. A collision detection routine for spheres requires only thier position, rotation and radius. It's the most simple therefore the fastest. The next down the line is a cuboid detection routine. Again, position and rotation info is needed but also scale info on all three axes. This algorithm like the sphere detection algorithm doesn't require details about the mesh itself.

However, for any other polygon (apart from planes of course) all mesh info is needed - x/y/z and normals for each vertex and all triangle info. The calculation becomes much heavier, so fps will drop - it is bound to drop. However, it seems to me that physx is very well put together and uses the gpu when it can so I don't expect a drastic drop in petformance.

We'll see, if I have time I will try to integrate the polygon routine later today and see what comes out...


Panno(Posted 2015) [#74]
physx is working !

but i cant play any video .
vlc dll is in hardwired installed.

if you have a playable video please send me.
thx


Rick Nasher(Posted 2015) [#75]
Can't wait, can't wait.. he said with eager anticipation, sitting on the edge of his seat.



JanDK(Posted 2015) [#76]
Exciting times... :-)


ShufordTechnology(Posted 2015) [#77]
Are shadows working?


ShufordTechnology(Posted 2015) [#78]
http://www.blitzbasic.com/logs/userlog.php?user=13255&log=1897


No install instructions?
I've only ever installed single file Userlib and Dlls


ShufordTechnology(Posted 2015) [#79]
I cant get Shadows to work?
I'm sure i'm doing something stupid.




Ploppy(Posted 2015) [#80]
Hello, shadows have been disabled for the moment. I am redesigning them so that they are partly generated by shaders.


Rick Nasher(Posted 2015) [#81]
Ah, that was my question too. :-) Thanks.


ShufordTechnology(Posted 2015) [#82]
Lol, I've spend 7 hours fiddling with this code.

Thank you for your contributions. I've waited for this day for a VERY long time.

In the past I've used particle candy, will libraries like this still work? Or will this have something built in making it unnecessary?

EDIT:
seems my answer is found here:
http://www.blitzbasic.com/Community/posts.php?topic=101879

This is good stuff.


Ploppy(Posted 2015) [#83]
The first shadow code I did was for me more of a experiment to see if I could pull it off than anything else. I mananged it, but I wasn't satisfied, it was basic and slow. So, I plan to improve it tenfold (if possible) using shaders at some point. I disabled shadows months ago, for the code was 'getting in the way' at the time, but I can possibly bring it back in now (the old code; I didn't delete it, I just put it to the side so to speak) - I'll check that one out later if it's a quickie...


Rick Nasher(Posted 2015) [#84]
Cool, would be great to see how it holds up with the Physics and all.

@ShufordTechnology:
I've seen Ploppy introduced the beginnings of a particle system, but I afaik it's not yet finished:

From http://www.blitzbasic.com/Community/posts.php?topic=101879 :

I have already begun on a particle system, but just a little bit. There are already the commands

dxCreateEmitter%(elements%,base_entity%,parent%)
dxEmitterCountElements%(emitter%)
dxEmitterSetElementCount(emitter%,count%)
dxEmitterDeleteElement(emitter%,element%)

I haven't told you about them because they are not integrated into the renderer for the moment, and need more commands to complete the experience.



In the current command list I see:

CreateEmitter
EmitterAddStyle
EmitterCountStyles
EmitterSetStyleShare


Dunno if related and or how to apply, or if functional. So appears it's still a work in progress, or perhaps not documented yet.

I'm now thinking if it would be possible to apply PhysX to a particle system somehow..


Ploppy(Posted 2015) [#85]
Hi Rick, yes some things I do bring in quite slowly. I test out certain commands and ways of going about things and see if it fits with the current setup. I have some of the particle handling code already in hardwired. However it is not really accesible or useful until I integrate this into the renderer. I decided to put this on hold because I consider that particles rely importantly on instancing. Particles are after all many instances of the same image/object. So I wish to complete my instancing routines before going too far with the particle stuff. My particle routines will then use the instancing routines for rendering. I will then work on and polish off the behaviour routines for the particles and the emitters.

It seems that Physx has a lot of support for particles, which is great. It means at the same time I will be able to link my particle system to it and particles will be affected by physical forces, each particle will become a Physx actor. As an aside, I may well intergrate the Physx cloth and fluid handling routines into it too as they look good (youtube it, you'll see what I mean).


Rick Nasher(Posted 2015) [#86]
I agree totally, they look very impressive! Also luv the deformable objects but probably harder to implement? I think the wrapper had clothes and deformable objects in it(if I remember correctly), but not sure if is of any help.

BTW: I took the liberty to write a few instructions/explainations (here) for new people. Please feel free to let me know if you feel things need to be added or corrected.


Ploppy(Posted 2015) [#87]
Yes, I saw the explaination as I subscribed to your thread. Nice and clear - thanks for that. I think some my not yet get the difference between hw and hybrid, so good to see a page that details the difference - one of the many many things I haven't got around to doing...

cheers :-)


Rick Nasher(Posted 2015) [#88]
Glad to hear you approve. All in due time I'd say, so far we can not be anything else but grateful for the massive work.


ShufordTechnology(Posted 2015) [#89]
The worklog is great, but I just came back to this site after years of being gone, it was very hard for me to understand this project completely and get upto date on its progress. Took a full day of reading several past threads. It may be beneficial to the community if this project had a dedicated website and forum for updates, tutorials, and other hardwired/hybrid related information. Just a thought. I think I found this project by doing a Google search for b3d dx11 after learning about blitz3d going opensource, didn't expect to find anything, though was plesently suprized when I found a thread from sometime in 2014, after which I had to return to Google to continue my search on this project, it wasn't until I found the "new thread" links at the bottom of one that I finally found this one. Then had to backtrack old threads to figure out the hybrid thing. Needless to say it was confusing at frist.

I'm happy to help anyway that I can, as I'm sure a lot of others are aswell. With the help of the community your workload can be much less.


Rick Nasher(Posted 2015) [#90]
Yup, can imagine it's a bit hard to find or to figure out, that's why I wrote down some stuff regarding the subject. I just changed the title to:
Blitz3D(DX7) <> HardWired(DX9 / DX11) setup info

Perhaps someone can make sticky link to this?


JanDK(Posted 2015) [#91]
THANK you Rick (and Shuford Technology), now it's much easier to follow and it makes more sense for me (and other "regular" Blitz programmers). I agree and have had the same thought that it would be just fantastic to have website, just for this project. I think it will involve and get support from more (non technical) Blitz users, and spread the word. But I know that the resources are limited, and the most important work must of course be making the Hybrid.


Ploppy(Posted 2015) [#92]
Hi guys, I do know what you mean, and I have thought for a long time about making a page on my website for Hardwired. I already have a page on my isp server website, and I am quite capabale of making a basic page (I am far from being a good web-page developer but that's besides the point). The thing is that since day one hardwired and then later hybrid have both been very experimental. I never expected to have come as far as I have already with it and I never thought I could get to a point where hardwired would be complete and bug free that it would be offically releaseable. It is still very much in developement and I don't know if it will ever reach completion but I will of course give it a shot using my limited time/knowledge. Things could change from one day to the next in Hardwire's construction, although I wish to keep all the converted B3D commands naturally, this was my original main objective of course. If I have a dedicated web-page that make it more official and of course I would have to think about updating it more often as I continue to develop it. I think that Rick's page is a good alternative for the moment, and thanks goes for the time he spent on it.


Ploppy(Posted 2015) [#93]
New Hardwired Physx release

Even more Physx stuff, meshes & terrains are now useable... yay ?


ShufordTechnology(Posted 2015) [#94]
Me and some of my team are made up profesional web developers and would be happy to donate our time and expertise for this project.

This project looks great. I can't wait to see how far it can evolve.


Ploppy(Posted 2015) [#95]
Hi ST, thanks for the great compliment - me too I can't wait to see how far it goes. Truly since the beginning of this project I haven't stopped surprising myself about just how far I could get with it (little by little) and how much I was prepared to 'branch out' on certain aspects that I have since added onto Hardwired. I would definately like a web-page available for hardwired at some point, mainly for the purpose of bringing a lot of information together about hardwired - I agree it would be easier for the average user to be able to get the info he needs from a nice clear site.

Hardwired, it seems, has become a bit of a monster for me now - a good monster but very big. With the 600+ strong command/function list hugely based around blitz3d's syntax it has made a mark definately within the blitz forum. Great to see it interests a lot of people here, and I have to say getting feedback or even just a comment from everyone is so motivational to me at the same time. Makes me think I'm really not doing this for nothing. I mean, I may be wrong but this may well be the largest individual subject that this forum has encountered (although, I will say that some of the post is my own blah blah not wholly focused on the project, but hey :-) ). I saw your last post saying that you had looked at some of the previous threads to pick up info for Hardwired that is new to you. Here's the thread list from beginning to present day...

Direct x 9 Userlib
Blitz Hardwired - DirectX 9 Userlib (Part II)
Blitz Hardwired - DirectX 9 Userlib (Part III)
Blitz Hardwired - DirectX 9 Userlib (Part IV)
Blitz Hardwired - DirectX 9 Userlib (Part V)
Blitz Hardwired - DX9 and DX11 Userlib (Part VI)
Blitz Hardwired - DX9 and DX11 Userlib (Part VII)
Blitz Hardwired - DX9 and DX11 Userlib (Part VIII)
Blitz Hardwired - DX9 and DX11 Userlib (Part IX)
Blitz Hardwired - DX9 and DX11 Userlib (Part X)


That's a lot of text since 18 months! Some of my posts are done using my mobile when I'm on coffee breaks at work, as I'm not always behind the keyboard. I get the most time to work on Hardwired on sundays and mondays which are my days off work. But even, this time is limited due to my own family commitments. I feel very motivated to continue with Hardwired until the end (after all, I have devoted many many hours to it so far, would be a shame to throw that away...), but since I have opened up the scope of my project so wide and that even research and bug-testing takes time I feel that hardwired/hybrid will not be complete for some time yet. I am pretty happy with my progress thus far, and it is getting pretty stable now - hardwired is becoming a powerful and versatile tool, and I drool (only metaphorically) at the prospect of the possibilities yet to come for it - I'm having fun beating my own laid-on programming challenges. Ambition I do not lack, and it's thanks to ambition that I have learnt so much about programming and maths since a year and a half. My ambition and dreams are still saying that the sky is the limit. If I followed every whim I could go on adding to Hardwired for years, even making a 64-bit version and moving on to an android or ios version perhaps. But I have to keep my feet firmly on the ground with this, or at least one foot ;-) My ambition would have me way up in the clouds already. Yikes!

I was rather taken aback getting your very generous offer to help me put up a site in Hardwire's honor, so to speak. An offer coming from a professional web designer isn't nothing and I really appreciate it as well as your interest in my project. I have had a few offers for help in the past. Some parts of Hardwired I will not share, I have already had requests to make HW open-source for example but I'm not ready to do that. It's my baby and I want to keep it that way. For other aspects about Hardwired though I am willing to share and accept help, be it docs, licence advice, graphics/logos, and of course web pages. I do understand the importance of bringing together such a site in order to clarify and facilitate things in gerneral for the general populous - I agree that it's not too easy to sift through all the info found in the above threads for there is so much info now. However, I would like to re-iterate my previous post in saying that Hardwired is still in developement mode and will be for some time. If people wish to use an incomplete version for thier project they can of course if it already fits thier needs, that's fine with me - but I consider it still very incomplete. I still have many holes to fill in, bugs to iron out, and of course many graphical aspects to add in. I also have to find the time to update the help files I haven't touched for six months or so, a have added quite a bit since then. The thing is I am still uncertain of how useful a web-page would be for me. In some respects, you have a green light for this. But in other recpects I am quite happy with Rick Nasher's page, Rick has probably been following Hardwired the longest though many others have also been keeping an eye on HW's progress since thread n°1; so Rick knows quite a lot about hardwired from experience. I'm just concerned that having to maintain a web-page could possibly divert me from my main aim which is completing Hardwired. My hobby time is limited, so when I have it I try to concentrate on advancing my code (not easy with three kiddies around, but I manage amazingly ;D). I still personally think that a web page is still premature, but perhaps I am wrong. If you can reassure me that I won't need to spend too much time myself with it to maintain the page then I may be in on your very unexpected and kind offer for it is very tempting nonetheless.

I would like to hear others' opinions on the subect if you have time, especially new people to Hardwired. Do you find it easy to pick up and understand or a bit of a nighmare??


Ploppy(Posted 2015) [#96]
@Panno - I saw your post concerning VLC. It should work. Two points to consider though..

1> You need to have the latest version of vlc installed on your system.

2> If you use VLC for the first time, there could be a long pause (maybe a minuite) in VLC initialisation time. This is nothing to do with hardwired, this is VLC internal workings. It creates a cache of all fonts on the resident machine and resaves them in its own format. Once this has been done, it will not be redone the next time VLC is used. However, if you stop it from performing this initialisation task, it will do the same thing the next time you use VLC. If you try playing a vid using the VLC player, the same thing happens the first time you use it. I haven't yet found a way of disabling this font caching feature but it possibly is a vlc option and I will look into it...


JanDK(Posted 2015) [#97]
@Ploppy - As I have mentioned earlier, it is difficult to understand the more technical part of this project. I understand the concept of the thing, but not the tech-stuff, as I'm not a hardcore coder, I just keep my fingers crossed and hope you guys can figure the hard stuff out.

I'm a by trade a graphic designer with a mixture of concept dev./marketing/communication and seen from my point of view the whole thing depends on what's your ambition for the project/product is. If you just want this to be a project for the chosen few, and maybe spread from user to user in a slow pace, then don't change anything. But if the ambition is to get it out to the greater public, you need (eventually) to get people aware and involved for support, motivation and perhaps fonding. I think it would be a great idea to get some help making a “service free” kickass website, which the indie/Blitz/hobby/Pro./Dark Basic and other basic dialects game developers, easily can find and be excited and supportive about. Attach a contemporary (members)forum and maybe a ”donate” button on the front page and some inspiring graphics. It would also be possible to see the number of people interested, witch would be very interesting.

The site has to (of course) be backed up by us in this Blitz forum to spread the word amongst other interests in social media and get the ball rolling. In time, perhaps some kind of Croud-funding when the hype is at it's best. This would not just be to promote Hardwires, but also give life to Blitz(3D) and ensure it's survival for a long time.

But...for the non-technical coder, there COULD be none or very little contributing and perhaps lack of interest, prior the actual product is ready for launch. Because we simply don't understand the technical stuff you guys are posting. So don't be disappointed if it don't get the massive response from the start. On the other hand, the site would be a great opportunity to show and explain in plain English, what the project is about, how it works and the progress.

Just my thoughts...


Ploppy(Posted 2015) [#98]
Have just updated test2_physx.hb to test out video playback with vlc, works great - check out videocubes, just press the insert key in the demo....




Correction also made to pixel shader creation that wasn't working correctly. Now it is...


Ploppy(Posted 2015) [#99]
@JanDK - just read your post. Thanks for your opinion, I'll chew it over, but I do see what you're getting at. All that bothers me about the site really is the time I'd spend on it. Don't want it to consume too much of my time, but at the same time I really would like to get word out further about Hardwired - I really am beginning to get quite proud about it now and it is beginning to look like a good competitor in the pc programming market, and beginning to look like a successor to b3d dx7 (not wanting to blow my horn too much...). And it's free to use, even more appealing of course to the general internaut.. :-)


JanDK(Posted 2015) [#100]
I agree, do the website, when you are ready - concentrate on the main purpose: to get on with the Hybrid stuff, and don't get distracted (which is easy, I know). I'm sure the offer to do a website will still stand afterwards, and if I can help with some logo/graphics along the way, just ask!


Ploppy(Posted 2015) [#101]
Thanks for the support JanDK. There is a lot to be said about the blitz community, there's a lot of very helpful people out there..


Yue(Posted 2015) [#102]
Hi, I've always thought the same, a website for the project. I do not think quite a long time, only it would get really important actualizacoines on progress.

I'm willing to put the .com domain. :) And collaborate with hosting free hosting.


RLpacifist(Posted 2015) [#103]
Just my opinion on the homepage issue:

I'm following the project since Rick has (kindly) posted about it on the German forum (January 2014). Though, I often miss some of the progress, due to a lack of spare time, which indeed leaves me with quite some reading until I'm up-to date again. I guess someone coming along for the first time is pretty much overwhelmed.

However, I share Ploppy's point of view, that a fully userfriendly homepage isn't required at this point. Rick's thread is a good starter for now and the only thing I am missing is something like:

- Feature List (a little more advanced than it is now)
Not listing every single command, but telling general features and their implementations status, like 'experimental', 'buggy', 'stable', ...

Maybe make a comparision table with all features and have the first collumn for B3D and the other for Hardwired/Hybrid (example)

It could work as roadmap too, when adding all possible/planned features and labeling them as 'planned' or something.


Rick Nasher(Posted 2015) [#104]
Here's an idea for a website:

'One'(or more) could setup a website that is acting as a frontend, showing info about Hardwired/Hybrid on the page, with links to info on the Blitzforums that would open up in a center window(iframe). I've done something like that couple of years ago at work as tools were bit inadequate and info was spread all over the place(no longer the case). Example:


This way Ploppy wouldn't have to be bothered with updating anywhere else but on the Blitz site and the moderator would only need to refresh the links every now and then.

I'm sure people can come up with better designs this as it's just an example to demonstrate the idea. BTW text in center window would be readable, scalable & scrollable in a real functional site, so not to worry. I just did a quick copy paste for demo purposes, but the real thing would take just slightly longer, as I have the framework already.

(And.. of course I also share Ploppy's view that's it not really necessary yet, but if someone feels it should then I this is probably the way to do it for now.)


ShufordTechnology(Posted 2015) [#105]
I say build a product, then a website.
I wasn't aware of how much longer it would be before the project was at a usable state.

Anyone who is interested in following the development can do so all ready with the current threads and userlogs.

If you want to build a community it is best to wait until members of this new community are able to do more than they currently can. From a marketing stand you will loose followers who find the project, download, see it incomplete, and move on. Users become immune to a brand once they're disapointed in the product.

Our web development team, and marketing team will be ready to build a following once the project is ready for use if you would like us to help.

I do like the idea by RLpacifist, a simple feature status table would be an awsome idea.

Feature Name, Description, current state, fourm reference links, etc.

Not unlike a Kanban board.

Thank you again for your hard work!


Rick Nasher(Posted 2015) [#106]
@ShufordTechnology:
You might be right, peaking too soon is never a good idea. But we are a patient community here.

"a simple feature status table would be an awsome idea. Feature Name, Description, current state, fourm reference links, etc."

Actually, I believe there was such a thing, more for Ploppy than for us, but not updated probably.


Ploppy(Posted 2015) [#107]
Yep, I did have a excel chart somewhere...


JanDK(Posted 2015) [#108]
I agree with the latest posts. Let's wait for the (hopefully) finished product, and then help Ploppy to promote it (if he wants us to). He knows that he just have to ask, and we will all help to the best of our abilities. IF there is need for more (technical/hardcore) support on this project, it would maybe be an idea to do more announcements in the Blitz forum generally, so that members actually CAN find this thread and support it. Or (a wild thought) have BlitzSupport, post a annoncement to support "NEW Blitz3D Hybrid is being created" on the front page/website...just an idea (if Mark would go for that)...again, just a idea!


Ploppy(Posted 2015) [#109]
Let's not forget that hardwired is not a blitz product. It's seems they are happy to host my threads on thier forum for which I am grateful; but perhaps they won't be so hot about promoting an unofficial offspring (does that mean hardwired is an illegitimate bastard? Hmmm). But who knows? At the same time we cannot forget that hardwired is still incomplete. Perhaps they would be concerned too that it would go the same way as xors and get abandoned when things were just starting 2 look good. Xors looked great and I was personally gutted when I discovered it was discontinued. I'm not saying at all that I predict the same for HW but I have to remain realistic. Everything I have done with hw has been pushing the boundaries of my programming and maths knowledge. Perhaps there is a limit. But until I find that limit(if I do), I'll soldier on - after all it beats watching the drivel that's on tv ;-)


Ploppy(Posted 2015) [#110]
Hmmmm... pethaps I could add another button on my worklog 'Beginners guide/FAQ' that links to Rick's page. It may help quickly orient newbies...


JanDK(Posted 2015) [#111]
@Ploppy...I see your point - but even Blitz Research, must be happy seeing it grow and live on. That must be one of the reasons Mark made it free and Open source.

Regarding limits to your skills...we can only hope (and pray) and give you support and try to motivate you to go on, but in the end it's your baby and if the ride ends before the product i finnished, so be it. (i'll cry for a couple of months though)

I think we should give you room for work, so no more sidetracking posts from me in a while, happy coding.


Ploppy(Posted 2015) [#112]
Hi JanDK, your posts are not sidetracking and any post could be beneficial for the greater good - so keep 'em coming. Besides, it gives me something to do during my coffee breaks at work. For some horrid reason these j*rks won't let me work on hardwired where I work, so sifting through the forum keeps me going. Obsessed? No, not at all... still, I'm not dreaming HW yet so there's still hope I've not gone nuts ;-)

As for my motivation, it is well intact - no problem there. If I do ever stop HW it won't be because of my motivation but more likely that the task would just be too overwhelming for my own programming or mathematical abilities.


JanDK(Posted 2015) [#113]
@Ploppy - Thanks, I'll continue posting, when I have something to contribute. I wish I could help you there with the math, but I'm visually oriented, not very mathematical. There is an old Danish saying "When you wait for something good, the waiting can never be too long", so keep it cool :-)


Ploppy(Posted 2015) [#114]
For the past few days I have been working on my particle emitter routines. I have pretty much completed the rendering side of things (once again, using instancing when possible), and am now working on configurable behaviour routines. I should have a demo out this weekend, and soon I will integrate Phyx into the particle routines as well. Looking good....


Ploppy(Posted 2015) [#115]
Particle emitter update


Rick Nasher(Posted 2015) [#116]
Very nice.
Couln't wait to see what the impact on fps would be when combined. Turns out is next to nothing. :-) Gives an interesting effect though.



Ploppy(Posted 2015) [#117]
I have had a bit of exploratory fun with my c++ compiler (vs 2013) and seems one can compile 64bit versions of files with it. Kind of ironic really as my machine is only a x86 pc. It works too to my amazement. After converting parts of one source code I successfully compiled a 64bit version of one of the hybrid files. Problem is of course I cannot test it, but after a little conversion it compiles without errors. It's like driving with a blindfold!

In any case, I thought I would test out if it was possible to compile x64 with my 32 bit machine because I am planning to get myself a 64bit machine soon. All is looking quite promising for a 64 bit version of hybrid in the coming months. What I tested today was mainly for curiosity but I will continue more seriously with this line of thought when I can test out what I'm doing. Still, it is very very promising. I hope it works out, would really add to its power and versatility.


virtlands(Posted 2015) [#118]
Said Ploppy:
I have had a bit of exploratory fun with my c++ compiler (vs 2013) and seems one can compile 64bit versions of files with it.

That's fascinating. Some x86 CPUs are able to emulate a 64-bit OS (through VMWare, VirtualBox, QEMU)
if they have Intel Virtualization, also known as VT-x, or VMX flag.

You can find out if your (x86) PC can support hardware virtualization
by means of various easy methods -- Securable, CoreInfo, or CPU-Z

CPU-Z screenshot :: { locate VT-x status }


VMWare Processor Checker for 64-bit compatibility :
http://uploadingit.com/file/gscjndcucudzrlik/VMware-guest64check-5.5.0-18463.zip

Download Securable ::
https://www.grc.com/securable.htm

Download CPU-z ::
http://bit.ly/1EEWTP6

Download Sysinternals & CoreInfo ::
http://bit.ly/1EEVE2o
http://bit.ly/1EEVzf6

CPUID topic on Wikipedia : Find status of VMX flag ...
https://en.wikipedia.org/wiki/CPUID

x86 Virtualization :
http://bit.ly/1EEW4Gd

StackExchange: Can I use virtualbox with a 64 Bit image on a 32 bit host ?
http://bit.ly/1EEYZP4

--------------------------------------------------------------------------------------------
In the case of CoreInfo, locate VMX status :
-- a * means that a feature is available,
-- a - means that a feature is not available,...


--------------------------------------------------------------------------------------------
As for me, I can't test the x86 theory because my PC is already 64-bit Intel® Core™ i5 .



Ploppy(Posted 2015) [#119]
Thanks virtlands for the info, I wasn't aware of this little manipulation that you can do with the x86. Nice one, I will check that out, it could help me to advance things quite a bit on the x64 side :-D


Osoko(Posted 2015) [#120]
Hello there, I've try to launch hybrid.exe, dated from 18\03\2015 and it is first blocked by windows smart screen on W 8.1, Then after deblocking, i've tried some example, and bliztcc.exe always crash.

Does hybrid work on W8.1 ?


Ploppy(Posted 2015) [#121]
Hi Osoko, I'm sorry I do not know for the moment why it could crash. I have Win7 and it works fine for me. For the moment, I have no way of testing what is going wrong, but I am planning on getting a new pc soonish so I will be able to test with Win8.1. Have you tried changing the compatibility mode for Hybrid? Maybe that will work, I don't know for sure. Have other previous versions of Hardwired/Hybrid worked for you?

Has anyone else using Win8.1 had any problems with Hardwired/Hybrid.


Osoko(Posted 2015) [#122]
Hi Ploppy, hybrid works fine on W7 by me too :) !

On W8.1, hybrid starts well, but blitzcc.exe crash by compiling examples. I've tried the compatibility mode ( W7 setup ) but blitzcc.exe crash also.

Will your next PC be a laptop ? Is this case, you could handle a touchscreen !

I looking desperatly for touchscreen capabilities with Blitz. Look at this topic : http://www.blitzbasic.com/Community/posts.php?topic=103763

My lake ok knowledge in C++ make i give up. i even can't configure correctly visual C++ 2013 for compiling a dll...

I have a budget reserved with the small town of Poligny in france, for having touchscreen working with a soft i made in Blitz3D. I simply want to get the number and the coord of the finger(s) on the touchscreen.

Touchscreen is totaly different in W7 and in W8.1.

I case you are interrested, you can email me for more details. It could be an opportunity for having touchscreen working in Blitz3D and in Hardwired.

This would be so cool.


RLpacifist(Posted 2015) [#123]
I have tried to run Hybrid and Hardwired on my laptop, which runs on Win 8.1 and it failed.

Hybrid will tell me I had no DX9 installed, when there's DX11 available already and Hardwired on Blitz Max will only spit out a message box labled "Hardwired error" and only saying "plop".

Unfortunately I have little experience with Win 8.1 and even with this laptop. I'll try to find out more.

--- edit ---

Just installed Blitz3D, which required to install DirectPlay first, but now runs as usual. Obviously it has no issues running with the installed DX11 drivers. For some reason my Hybrid installation fails to find the DX drivers, hence the DX9 not found system error.


Ploppy(Posted 2015) [#124]
Hi RL, it is possible you do not have the latest version of dx9 on your system despite it having dx11 installed doesn't mean that is essentially up to date. I suggest you google 'directx' and install from the microsoft page or use this link


Rick Nasher(Posted 2015) [#125]
Hmm I doubt a bit this has to do with win8.x cos last few time I checked it failed on my win7 x64 laptop too with the latest update with the similar errors as RLp had. I was thinking perhaps had something to do with my system, an update or the HW update. Didn't have the time to check (too busy moving my sick father) and see where, why, how and what, but will get to it soon.


Rick Nasher(Posted 2015) [#126]
OK, I'm investigating. Sofar so good.
UPDATE:

I've noticed that since the latest release(introducing the Particle Emitter), all is working fine in Hybrid, including the video playback:

Pretty cool!

But video play is nogo under Hardwired, getting an error:

Now it did work OK, in the release before this one, so perhaps something forgotten to update there? [EDIT: my earlier comments about Debug influencing the issue appear to be incorrect. Still persistence in the error).

Also noticed that in the examples the command "dxApptitle" needs a second parameter(see red circle), otherwise the msg "Not enough parameters" appears, so all examples need to be updated probably?


All in all, not a severe issue, but just a little oddity.


RLpacifist(Posted 2015) [#127]
I've got a deja vu, Ploppy advicing me to update DirectX. Sorry, I hopefully will remember next time... :)

I will try and report soon.


Rick Nasher(Posted 2015) [#128]
Yeah, but the weird thing here is that it works OK in the previously released version and also in Hybrid, but not in Hardwired.


Ploppy(Posted 2015) [#129]
Lol for my 'debug window', I forgot to take that one out - my apologies.

Thanks for the bug report Rick, I hadn't noticed that one, I have now uploaded the corrected dll, both Hybrid and Hardwired should work again.

As for the dxApptitle command, yes I did change the syntax a little while ago, but I haven't yet updated the sample files. Just add a "" and you're plain sailing...

Btw, I am currently working on the int64, float64 and unicode types for the Hybrid compiler. I have almost done the hard bit, and am now introducing the code. It is for the moment incomplete but I will be bringing it in bit by bit over the next week. This addition of these three new types will add to Hybrid's versatility and power and will also prepare it for the 64-bit version that I plan to bring out in the coming months. The 64-bit version will require 64-bit variables for complete memory access(64-bit types are of course usable on 32-bit machines for number manipulation but are vital for 64-bit machines for memory access for addresses above the 4GB limit of a 32-bit number).


Rick Nasher(Posted 2015) [#130]
Yup, confirmed: all working fine now, thanks.
The title thingy I had already figured out that one myself, otherwise wouldn't run of course. :-)

64bit stuff is very exciting!


Ploppy(Posted 2015) [#131]
Yes, I agree - it is an exciting addition to blitz. I've really decided to put my all into solving this biggie. Adding types into the compiler involves a lot of recoding and of course, to begin with, understanding Mark Sibly's original compiler source.

Anyway, I had already tried twice in the past months but kept getting big mav's. This time seems much much better, much more stable. I have already configured the parser to recognise the types in the bb source, and the compiler now assembles contstants definitions for int64 and float64. Big numbers! I have completed about half the convrsions routines for the moment but still have some aritmetic/array stuff to do. It really is taking shape and I'm feeling pretty confident about getting this part completed soon.

Will release in next few days, perhaps in partial form to begin with.


Rick Nasher(Posted 2015) [#132]
Wow, sounds really like a lot of work. Hope all goes smoothly.


Guy Fawkes(Posted 2015) [#133]
Lovely! When I get some time this week, I'll see about turning the DLL into a PureBasic DLL! :)


BlitzSupport(Posted 2015) [#134]

the 64-bit version that I plan to bring out in the coming months


Jeepers... you don't exactly mess around, Ploppy! Sounds really cool.


Panno(Posted 2015) [#135]
Hi ,
Please can anyone a working video for me?
All formats i have give me a crash.

The rest works fine!


Ploppy(Posted 2015) [#136]
Hi panno, is vlc installed on your system and is it up to date? For the moment you need the 32-bit version. 64-bit will not work...


Rick Nasher(Posted 2015) [#137]
Yup, all working fine here. just copy download the libraries from Ploppy here. http://www.blitzbasic.com/logs/userlog.php?user=13255&log=1897
And I found that it doesn't like to play from just anywhere so only worked when I copied the actual video file to the same directory(see also installation help on Video playback section"here" ). It should play all that you can normally play with VLC(32bit).


Rick Nasher(Posted 2015) [#138]
@Ploppy: Don't want to distract you from your current task(conversion to 64bit) for I'm really looking forward to that, but as you mentioned you're also trying to understand Mark's code to the fullest, I've come up with something that is either a snag or as you've intended. That's for you to say.

Didn't put it here so this thread won't get to cluttered, so please have a look at my comparisments of running the same test code in Blitz3d and Hardwired/Hybrid(my last entry directed to you).


Krischan(Posted 2015) [#139]
Did anybody thought about a Hardwired/Hybrid wrapper for Blitzmax? Or isn't this possible by design?


Rick Nasher(Posted 2015) [#140]
Yup, there's some interest in the community, see here:
http://www.blitzbasic.com/Community/post.php?topic=102259&post=1227843

And here:
http://www.blitzbasic.com/Community/posts.php?topic=103343


Ploppy(Posted 2015) [#141]
I have come to a point in my recoding of the blitz source in my Hybrid project that I can release my first beta version of Hybrid with its three new default types. These are the 64-bit versions of int and float and the unicode string type.

In hybrid, 64-bit ints are represented by %% and 64-bit floats are represented by ##. As per usual, normal 32-bit ints and float are assigned with the % and #.

Constant integer numbers now take a default 64-bit type. These are automatically converted to 32-bit if you assign it to a 32-bit variable. Constant floating point numbers are equally the 64-bit version, and are also converted depending on the variable they are assigned to.

I have decided, for the moment, to release this as an unoffficial update, and have named the zip archive 'newtypes_beta_release.zip'. This is because the new type routines are not yet complete, so I do not wish to replace my last update for the moment. That way, if you wish, you can revert to this previous update. Nevertheless I have completed enough to be able to release an example of the 64-bit type routines, and it will work on most bb programs now - but there is still stuff to complete.

The framework of these three new types has now been laid down in the Hybrid code. However, for the moment unicode types (repesented by $$) are not yet ready for use and will just return 0.

All blitz math routines (^, sin, cos, tan, exp, log, etc.) have now been updated to calculate in 64-bit. The value of pi## has equally been updated.

Userlib definitions have also new possibilities for any dll coders. You can equally define functions to accept 64-bit variables by using %%, ## or $$ in your .decls files as you would for the int, float and char * types. However, please note that the 64-bit int translates to (__int64 *) in c++ (and not __int64), the 64-bit float translates to (double *) in c++. The unicode string type (reprsented in the .decls files by the $$) translates to (wchar_t *) in c++.

I'm very pleased to have got this far with the compiler code. It has taken some time to crack, and many modifications have had to be made to incorporate the new code. But it seems to work great and makes a brilliant addition to Hybrid. 64-bit types are even a necessary step to take if I wish to produce a 64-bit version of Hybrid too in order to be able to access all memory addresses above the 32-bit boundary.

I haven't included any demo or sample for this new version. If this new addition interests you all you need to do is try a bit of code yourself such as this crude unsexy example...


More to come....




JanDK(Posted 2015) [#142]
Great work, Ploppy! Nice to see it's comming along.


Rick Nasher(Posted 2015) [#143]
How do you spell 'wow' in 64bit? wowwow? ;-)

But Avast is detecting it as a threat. I noticed that now comes with a file that has extension pdb and is larger than the executable itself. Further more I can no longer the delete the file Blitz.fon, perhaps cos got intercepted during execution by Avast.

(BTW: Happy Easter to all)


Ploppy(Posted 2015) [#144]
Hi Rick, the pdb file is just a Visual Studio debug file, you don't need that and I have taken it out of this new release (I forgot to take it out last time).

Many bug fixes have been made to new types, 64-bit ints and floats much more stable, looking good (almost all hybrid samples now work with modified compiler :-D )....




Rick Nasher(Posted 2015) [#145]
Probably wrong, but Avast concluded that Hybrid.exe has this infection in it: "DS#DynaGenNB||algo;"
Can anyone please run it through a different scanner so I can rapport it to them as a false positive?


Ploppy(Posted 2015) [#146]
Strange - I also use Avast, and it's scans without finding anything suspect. Can a third party please confirm?


Yue(Posted 2015) [#147]
@Ploppy



Hello , This model I created for you, possibly for testing physics of a car. I hope you will like it.

You can do whatever you want with it.



:)

Now I'll go to bed , I pick a mosquito fever and I hope I do not die. :(


BlitzSupport(Posted 2015) [#148]
Tried MSE, MalwareBytes, SuperAntiSpyware and all were clear.


Ploppy(Posted 2015) [#149]
@Yue - nice one, thanks. I will check it out when I delve back into the physx module. Very kind of you, but I don't see any link to it on your post.

@Rick - don't want to scare you but you may wish to give your whole system a scan. Perhaps the virus warning came from another source and it's spreading. I hope not for your sake...

@blitzsupport - thanks as always for your blitz support ;-)

@all - I have almost completed the unicode type now and is looking very interesting indeed. I may be able to release tomorrow. For anyone not familiar with unicode strings they are strings that use a huge character set rather than the standard ascii code. Unicode strings can contain all different letters from all different alphabets around the world along with a multitude of symbols. Many fonts are configured to incorporate many of these characters but are not accessible using ascii. The use of unicode strings adds greatly to the accesibility of hybrid. The choice will of course remain to the programmer if he/she wishes to use it but it's good to have the option.


Yue(Posted 2015) [#150]
Hi, I 'm working on some details , soon you step download link . :)






Yue(Posted 2015) [#151]
This model is an explorer of Mars , and I want to make available to our friend Ploppy in your project which you can use as it sees fit.

It's a small way To Thank your work : D .



Download Here: https://www.dropbox.com/s/fscou12w38edc3y/Ex200.rar?dl=0


Ploppy(Posted 2015) [#152]
Thankyue ;-)


therevills(Posted 2015) [#153]
Thankyue

Boom boom!


Rick Nasher(Posted 2015) [#154]
@Yue: very nice. Happy to see you survived the night. Also a good idea to promote Hardwired/Hybrid: adds/banners in the games we release.
@Ploppy & BlitzSupport: Thank you for checking guys. Now I really *AM* scared. Guess I'll have to do a very good check. Or perhaps my Avast is set too thoroughly. It doesn't appear when I run a scan against the files, only when I execute Hybrid.exe and Avast goes into Deep Scan mode as it usually does when a file is executed for the first time.


BlitzSupport(Posted 2015) [#155]
@Rick: I ran it through this, too, though it looked like it had hung after I uploaded it last night!

https://www.virustotal.com/en/file/4dffd63c6b48ec286c1ac8b53f0dd2e293973a68c2496390c9c95dec4b43bc5c/analysis/

Does seem to be clear.


Rick Nasher(Posted 2015) [#156]
Great site. I let it re-analyse there and none but 1 found something:
Qihoo-360 HEUR/QVM10.1.Malware.Gen 20150407

https://www.virustotal.com/en/file/1a256fc03960f5eff5f9b0300e055addc10827d765b5edf89efb0d4c2874b5a3/analysis/1428431335/

This may still be a false positive, or.. my system is infected :-(
(That ought to teach me not accept shiny candy from old women)
When I do a WhoIs on the UDP IP nr it points to Microsoft though, that's a bit weird if you ask me, or is MS really getting bold? Is there an MS backdoor build in DX?
And: why didn't BlitzSupport get the same result?

IP address: 191.233.81.105
Server Location: Netherlands
ISP: Microsoft Corporation

From another WhoIs svc:
inetnum: 191.232/14
aut-num: AS8075
abuse-c: BEORN2
owner: Microsoft Informatica Ltda
ownerid: 060.316.817/0001-03
responsible: Benjamin Orndorff
country: BR
owner-c: BEORN2
tech-c: BEORN2
inetrev: 191.233.64/18
nserver: prd1.azuredns-cloud.net
nsstat: 20150407 NOT SYNC ZONE
~
Should I start to worry? Did my anarchistic/anti gov talk here and there finally give me XXX status?

[EDIT}
*NEWS*: Updated Avast and downloaded the latest release. Now Avast no longer puts the file in isolation, so probably just a false positive.


xlsior(Posted 2015) [#157]
When I do a WhoIs on the UDP IP nr it points to Microsoft though, that's a bit weird if you ask me, or is MS really getting bold?


Keep in mind, Microsoft offers paid cloud hosting services for 3rd parties -- microsoft Azure.

https://azure.microsoft.com/en-us/

Just because an IP address is owned by Microsoft, doesn't mean that whatever server is hosted on it isn't serving someone else's pages or services.


Ploppy(Posted 2015) [#158]
New worklog entry - big Hybrid update

New update available - unicode string types are now go!


Rick Nasher(Posted 2015) [#159]
Again: Wow & thanks. This opens up a whole new range of possibilities for the language. From different languages but also non-game related applications. (I've updated the FAQ/Info page right away)
[EDIT]
@Ploppy: Please check my bug report here


Ploppy(Posted 2015) [#160]
Thanks so much for your support, it's nice to have a hand with the docs - it makes less for me to do and I do appreciate.

Command update - even more unicode/64-bit compatibility

This is really taking shape....


Rick Nasher(Posted 2015) [#161]
Indeed a lot of good stuff, big hurdles. But still some issue in Hybrid.
I updated my bug report.

[UPDATE]
Hi Ploppy, please see latest post #37.(just edited my prev post, don't want to pollute the thread too much here).


Ploppy(Posted 2015) [#162]
I updated my answer to your bug report, cheers...


virtlands(Posted 2015) [#163]
Hello there, it has been a while with the Hybrid Blitz.
So, I ran the test1_physx.hb, and it runs just fine.
Later I tried test2_physx.hb, and it returns an error as follows on the RequestFile$(....) command :

Also! The text search function doesn't work. Why did you disable it ?
----------------------------------------------------------------------------------------------------------------------------------------
I love what you've done by adding ##, and %%, (64-bit math)




Ploppy(Posted 2015) [#164]
Hi virtlands,
Thanks for the compliment, for me 64-bit types were a necessary evil to be able to go much further with Hybrid. But now they're (almost) done, I'm glad I did it.

As for the bug with the test2_physx.hb, it's not a bug. In fact, I just forgot to update the hb code. Since I recently updated the CurrentDir function from a normal string type to a unicode string type, its return type has to concur in the hybrid code also. Just replace Currentdir$ with CurrentDir$$ (or alternatively omit the type symbol and the compiler will assign the correct type automatically like with blitz) and it should work ok.

For the find function in the ide, I didn't disable it. It just doesn't work for the moment, sorry. There are a few things wrong with the ide at the moment, and I haven't been able to fix them all yet (but I will of course). I think I 'disturbed' the code a bit when I updated the original source code from visual studio 6 to vs10 compatibility.


RemiD(Posted 2015) [#165]
@Ploppy>>i just want to say that i admire your persistence despite all the problems that you have encountered with this creation, and congrats for all that you have achieved so far !


Ploppy(Posted 2015) [#166]
Thanks, a lot of trial and error has gone into this and I do not always succeed at the first go, but I do generally get there. I just hope it is worth it in the end and I'm not wasting my own or anybody's time. However, it has to be said that if I hadn't decided long ago to post info about hardwired on the forum and get as much feedback as I have, I would never ever have got as far as I already have. This is as much a learning experience for me than it is a legitimate project, I have learnt a lot since I began already, and this combined with the support and feedback is what helps me to go forward....


RemiD(Posted 2015) [#167]
My only suggestion to you would be to decide what is essential and what is not for your lib and finish what is essential first, and not try to "add" or "improve" others systems, because as you may realize, it can become a never ending project... (Compare what was your initial goal and what you have made)


Ploppy(Posted 2015) [#168]
Yes, I do know I have 'branched out' a lot. I often move onto other things when I block elsewhere. Leving parts alone for a while gives me time to reflect and reasearch on it. Then when I come back to it sometimes I straddle certain hurdles much easier than the time before. At the same time, I do like to give myself challenges and am easily inspired by new ideas/techniques...


RemiD(Posted 2015) [#169]
Yes i see what you mean i do a similar thing when i work on different tools/prototypes/demos...

It is good that you are still motivated, i suppose that it can sometimes be discouraging when you don't see how to solve a problem, especially on a subject where there are only a few people in the world who can understand what you are talking about, and who may be able to help you find answers...


Ploppy(Posted 2015) [#170]
All I can say is 'Thank god for google' ;-D


Rick Nasher(Posted 2015) [#171]
Hi Ploppy, please see my latest test results in post#37.


Ploppy(Posted 2015) [#172]
New worklog entry - IDE Fix

A new less buggy version of the IDE out tonight with a new icon for Hybrid.

@Virtlands - Sorry, I'm still working on the find bug in the IDE, but I'm sure I'll hunt it down and find the problem with a little courage...


virtlands(Posted 2015) [#173]
That's ok; You're doing swell. I can search through code using Notepad++ , and other editors.


Guy Fawkes(Posted 2015) [#174]
Hi, Virtlands! Come on yahoo!


Ploppy(Posted 2015) [#175]
Over to thread n°12 - this one is starting to get a bit big now...