Jump to content

Mumbles

Members
  • Posts

    691
  • Joined

  • Last visited

Posts posted by Mumbles

  1. I agree, I'd be a lot happier if our pak files could use 128-bit AES keys. The current support for ZIP 2.0 encryption is too weak and in reality offers little protection at all.

     

    My reason for mentioning that was that I'd assumed you perhaps used the more common block size of 256-bit. I actually meant to write that, because otherwise, I say 128-bit is up to 128 times faster. 128 times faster than what?

     

    I used to wonder why transferring to and from my computer remotely, away from home, only averaged about 80K a second. I used to believe it was just our Internet provider throttling traffic as they all tend to do until it was pointed out to me: Everything you do on SFTP and SSH is encrypted, by default, your key will be 2048-bit. You can do in plain unencrypted FTP if speed is the most important goal, but there will be no security - so no point even bothering with passwords. Encryption with block sizes that high is typically far more CPU intensive than it is I/O intensive, and mainstream workstation CPUs just can't process such large blocks as quickly as we'd like.

  2. Sophos is very sensitive. There's no official ranking, but it's one that's used by universities and large companies. I'd guess that the only reason banks don't use it is because they mostly run Unix, and there for can't run it, and indeed don't need it.

     

     

    As far as encryption and compression go, they weren't really a problem, and in fact something I would have like to add to my project although perhaps maybe a smaller block size for the encryption would be better. Unless there's a significant weakness in the algorithm (in which case key size won't matter), 128-bit AES keys are probably more than sufficient and anywhere up to 128 times faster to decrypt, and considering distrubited.net is expecting to take 200 years to brute force a 72-bit key, exhausting all possible combinations.

     

    It looks like you're decrypting and decompressing into RAM, and then loading your media straight from the RAM. How you'd do that I have no idea, but I'd guess you're setting a mount point in RAM somewhere. On Linux it's much easier, you just have to create a mount point in your directory structure, and mount that to a temporary ramfs and then it can be treated just like any other directory.

  3. Right click on the project and choose "Add Class", it will do everything for you.

     

    Except of course, write your game for you...

     

     

    Thanks both. That class example looks much like types in Bmax exept for public and private.

     

    ...and protected. When (or if) you start creating sub-classes, anything marked as private is not usable by the new subclass, whereas protected is usable by the subclass (and obviously public is usable by all)

  4. "I hear that Leadwerks Engine 2 will be released in about 500 years." For some reason, she didn't jump for joy at that statement.

     

    Side strafing seems faster than forward running, and sideways runnings is insanely fast. With an FPS of only 30, my AppSpeed was almost constantly between 1.95 and 2.08 which may have something to do with it if you can't reproduce this straight away.

     

     

    It looks nice but I wasn't too happy to wait 4 minutes for it all to decrypt and unpack, then as soon as it tried to run, the Sophos on-access scanner quarantined it. It was declared as HIPS/ProcInj-001. Since it came from what I believe to be a trusted source, I simply authorised it and then after another 4 minute decrypt and unpack was on my way

  5. We used to have an Australian called moose o death on the forum. Where did he go?

     

    I believe we used to have another with a display name of DJDD, now known as Scott Richmond.

     

    As for Moose, I think he's from before Werkspace even...

  6. "Promotion rather than Market place" implies that "Market place" is the original name, and that you are suggesting "Promotion" would be a better name.

     

    Market place would also suggest that the selling takes place within the Leadwerks website, which is false.

  7. I'm not even sure the collision results are totally accurate. I just don't think that entire panels would come as easily in reality as they do in that example video.

     

    Take the first crash at 0:25, at 0:28 a fairly large piece just crumbles away. What are the cars made out of? Cake? Aluminium might buckle, it might bend, I suspect it would buckle and bend, and then stick out of side such that it would chop off anyone's knees if it then drove past someone closely enough, but I doubt it would just come clean away like it did there. Also I was kept wondering "Where's the engine? You know, the bonnet (hood) just looks like it's an empty hollow box in that smash"

     

    Then the rear part of the truck (where you might hide an illegal immigrant under a canopy) doesn't seem to be welded to the cab at all, even though I would have thought it would be. Look at 0:08 where it just wobbles completely independently of the cab.

     

    It casts doubt in my mind as to whether to collisions and deformation are as realistic as they claim.

  8. When I first started reading files through the ifstream interface, I used to copy in blocks of 256 bytes. Obviously for huge files, it took forever.

     

    Now I just seek to the end, get the overall length, make sure the pointer I'm reading it to is large enough, and then use that value as the number of bytes to read for the read command.

  9. I want to fill 2 buffers (for example a vertex and a index buffer ) with 2 thread from one file.

     

    You can only read from one location on the disk at a time. It may be a little nicer if you are using an SSD, but really, you would do just as well reading the first bit of data, then seeking to the second half of the file (using the above snippet) and reading the other bit of data, all in the same thread. This also doesn't waste CPU cycles switching between the threads.

     

    A non-SSD drive would be a nightmare in that case if the chunks of data were at least 32 MB. Constantly jumping to different locations on the disk to serve the two threads at the same time, when disk I/O is the single slowest thing a computer can do... I/O is always better done in serial, rather than parallel.

  10. Mumbles my dear, are you feeling OK? You are such a Debian purist like me

     

    I'm not a purist by any means. For starters I don't see the problem with Valve releasing software on Linux like a purist would. I use Debian yes, but I use XP too, and will do for some time yet - especially when it comes to development.

     

    The majority of gamers are still using Windows. Whilst Code blocks works for windows too, VS 2008 is what I'm familiar, and comfortable with. I have tried code blocks and I just wasn't as comfortable with it. What's popular amongst everyone else is irrelevant - forcing myself to be a lemming and use something I'm not comfortable with, just because everyone likes it, will adversely affect my productivity.

     

    That and I don't know too much about how code blocks works with the Platform SDK - if it can use it at all, since my project does use that.

     

    Ultimately, I'm a classic example of why Microsoft gives their professional range away to university students for free. That's what you learn to use at uni, and you get something of a vendor lock-in. Again, I'm not as comfortable with 2010 as I am with 2008, so until any IDE can match 2008's comfortability, that's what I'll stick with.

  11. Does anyone have a visual studio project that creates a window and initializes an OpenGL context with SDL? I am teaching a single class in OpenGL and this would save me a lot of time, if anyone has it already. Thanks.

     

    I use SDL with visual studio, but not for Open GL. I find creating graphics contexts so tricky, that I rely on the fact that a call to Graphics() in LE 2 creates a valid Open GL graphics context - from there your application can use any valid Open GL commands.

  12. As we know, it was difficult in the early days. A few people had their werkspace accounts linked to a different account than the one they purchased the engine with, so it was a little tricky figuring out which users had purchased the engine and which hadn't.

     

     

    If I was to update my email address in the profile account options now, would this cause problems? Or would it be fine now due to how long I've been here...

  13. And already Robert Bowling is tweeting about it.

     

    Pessimistically, I conclude from that, that on day one it's going to be dominated by 5 or so identical Activision cash cows, that come with a free intro movie to satisfy the free requirements, with an annual sequel rate.

     

     

    I know he's walked out and all, but now, that's just what I associate him with.

  14. If we support Linux, it will be a native build, not an emulation.

     

    Strictly speaking, wine isn't an emulator. (Despite the urban legend, wine does not stand for "Wine isn't an emulator". Since you'd get stuck in an infinite recursion if you attempted to resolve the letters to words)

     

    An interpreter would be a more accurate description, although I believe that's not technically accurate either.

  15. Not important, but don't try using my little code snippet in place of the / operator. Try entering either of the numbers as negative and it will all fall over... Meh, it was only a basic example

     

     

     

     

    get the kitty ready Mumbles...

     

    ph34r.pngbiggrin.pngbiggrin.png

     

    --Mike

     

    There's no reason to be hiding just yet

  16. x / 0 is not "infinite", it's "undefined" or "indefinable"

     

    "infinite" is what you say if you were silly enough to attempt to calculate the answer in the first place

     

     

    int Divide(int InputNumber, int Divisor)
    {
       int OutputNumber = 0;
       while(InputNumber >= Divisor)
       {
           OutputNumber += 1;
           InputNumber -= Divisor;
       }
       return OutputNumber;
    }
    

     

    Obviously, if Divisor is zero, and InputNumber is non-zero, it will constantly take subtract 0 from InputNumber, and will therefore always be higher than zero, causing an infinite loop during the calculation. The answer is undefined until the calculation finishes, so we know the calculation is in fact indefinable.

×
×
  • Create New...