Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 19 May 2007
Offline Last Active Nov 16 2015 12:28 PM

Topics I've Started

Auto update systems - yes or no

14 February 2014 - 10:01 AM

Hey everyone. I want to put an auto-update system in some software. The question is, how will others feel about it? Why doesn't all software have this? Chrome seems to auto-update (and disabling it isn't obvious). No one seems to complain. But then other modern software will simply tell you there is an update available and redirect you to their website if you so choose. I suspect there are a variety of opinions out there on this so...


How do you feel about auto-update systems? Intrusive? Convenient? Like/hate/don't care either way? If you dislike them, what do you prefer?


Interested in everyone's thoughts on this.

Visual Studio Express 2012 Yay

28 September 2012 - 12:06 PM

I didn't see anything when searching the site, so I just thought to mention my new discovery that Visual Studio 2012 Express (specifically c++) seems to support desktop projects (but we already knew that) as well as 64-bit compilation out of the box without any legal uncertainties (this I didn't know). And it runs on Windows 7. So I think I will finally upgrade from VS 2008! I'm very happy about this!

I wonder does anyone know if it will support openmp in express versions?

Anyway this is happy news!

Poll: Help file format

19 September 2012 - 08:38 AM

Hopefully I set up the poll correctly...

h264 and ICDecompress

17 May 2012 - 11:12 AM

I realize gamedev.net isn't the best forum for this, but I have to wait for 5 days before I can post on doom9.net. In the meantime, I thought I'd throw it out there and see if anyone has any wisdom on the matter.

Writing an avi encoder/decoder for windows that works over custom i/o's. It currently uses vfw.

Now it works great on almost any codec type. mpeg 4 asp (xvid), cinepak (cvid), microsoft's ancient ones (mrle, msvc), those intel indeo ones that are easy to find, etc. Encoding works correctly with all these, and with h.264 using the x264vfw library, set to zero latency, for simplicity.

Decoding on the other hand - it works as expected for all the above except h264. It's weird. Now here's what happens, and I'm struggling to understand it, though I'm sure it's my own ignorance:

- If I just ICDecompress from the most recent keyframe to the frame I want, I end up 4 frames back. Except if I am within 3 frames >= a keyframe. Those turn out black. (ex frames 0, 1, 2, and 3 are black, frame 4 actually displays frame 0)
- If I do this, AND on the last frame of the sequence (that is, the frame I actually want to show) call ICDecompress exactly 4 additional times (so 5 total calls for the last frame), it works. It works on all frames, including keyframes and non-keyframes. Any less than 5 times for that last frame, and it still behaves in similar flavors of the first problem.

I know these are clues to what I'm doing wrong, and I've read about the B-Frames and all that, but I don't know what to do with this information? Plus I think zero-latency is supposed to remove usage of B-Frames, maybe? The encoded video plays just fine in virtualdub and windows media player, but I can't look at virtualdub's source code to see what's going on.

Can anyone help me to understand what is going on, and how do I do this correctly? (I understand either way it's a hack - but this hack seems... less trustworthy than others)

Thanks Posted Image

c++ w/vs2010 and temporaries

07 February 2012 - 10:45 AM

Ok, here is a question I am absolutely clueless on. Hopefully someone here can help! At work we have a function like so:
bool GetFolder(String &folderpath, const String &caption = "", HWND hOwner = NULL) {
... bla bla bla ...
bi.lpszTitle = caption.IsEmpty() ? 0 : caption;
... bla bla bla ...

Now, String has the following members (this is of course not an exhaustive listing)
INLINE String(const String &Text) : InternalString_(Text.InternalString_) { }
INLINE operator const wchar_t*() const { return InternalString_.c_str(); }
INLINE const wchar_t *GetPtrW() const { return InternalString_.c_str(); }

And in the above, InternalString_ is just a std::wstring.

Now, here's my question, if anyone has any wonderful insight! In vs2008, the above line of code in GetFolder does as I expected, and we get a pointer to the string stored inside the object actually referenced by the caption variable. However, in vs2010, a temporary String object is created, which we get the pointer to the string inside it, which of course vanishes into oblivion immediately following that line of code, giving us crazy nonsensical strings and other wonderful unsafe behavior.

Can anyone tell me why it is creating a temporary? If I use "GetPtrW" or an explicit cast it works fine... but there are a lot of places in code that use the implicit cast.