Xorcist

Members
  • Content count

    437
  • Joined

  • Last visited

Community Reputation

122 Neutral

About Xorcist

  • Rank
    Member
  1. I'm attempting to traslate some text in a Windows executable from Korean to English. While the most of the test resides in a resource (easy editing). There is a fair amount that's stored in code (functions, data blocks, etc.). Now more often than not the Korean text takes up far less space than the English. Obviously if the English word exceeds the original size (crosses a byte boundary etc.) the executable becomes corrupted. For example changing "¼³¸í" to "Description" will currupt the binary, but "¼³¸í" to "Desc." is okay. What do I need to do to insure the final binary does not become corrupted when using the longer replacement text? I'm assuming there are other values I need to be updating so the binary continues to be a valid windows executable (such as virtual addresses, offset values, etc.) Can anyone give me some pointers, or reccomend some utilties that might help me in my translation.
  2. Does anyone know if there is any way to install DirectX 9.0c under Windows 2000? Yeah yeah yeah... I know it's "not supported", but I don't need any support (and if something goes horribly wrong, I don't much care). I'm sure it'll work just fine, but I can't get past the installer. Does anyone have any suggestions on how I might get it installed?
  3. I had all my code in a single header file, and that compiled fine, but once I seperated the declaration from the implemetation things broke. I'm hoping someone here can tell me why, and how to fix it. I get these errors: Test.obj : error LNK2001: unresolved external symbol "public: __thiscall SL_List<int>::~SL_List<int>(void)" (??1?$SL_List@H@@QAE@XZ) Test.obj : error LNK2001: unresolved external symbol "public: __thiscall SL_List<int>::SL_List<int>(void)" (??0?$SL_List@H@@QAE@XZ) and my code is as follows: [SL_List.h] #ifndef SL_LIST_H #define SL_LIST_H template<class Type> struct Node {//Node Node<Type> *pNext; // Pointer to the next Node Type Data; // The data field };//Node template<class Type> class SL_List {//SL_List public: SL_List(void); //Empty Constructor SL_List(const Type); //Construct w/ Data ~SL_List(void); //Destructor int Insert(const Type); //Insert a new element int Remove(void); //Remove an existing element private: Node<Type> *pHead; //Front front of the Linked List Node<Type> *pTail; //End of the Linked List };//SL_List #endif [SL_List.cpp] #include "SL_List.h" template<class Type> SL_List<Type>::SL_List(void) { } template<class Type> SL_List<Type>::SL_List(const Type) { } template<class Type> SL_List<Type>::~SL_List(void) { } template<class Type> int SL_List<Type>::Insert(const Type) { } template<class Type> int SL_List<Type>::Remove(void) { } [Test.cpp] #include "SL_List.h" int main(void) {//Begin SL_List<int> MyList; return 0; }//End
  4. Well the topic is pretty much the question. Suppose I want to implement a 2D world such that floor can have various degrees of angel to it, but I want the in game sprites to be able to move naturally across it. What would be the best way to acheive this? I assume I could to a per-pixel check against the sprite's bounding box, which would keep it on the floor, but how would I know I need to move say 45 degrees up and to the right, instead of just getting stopped all together by a single pixel? or for that matter 45 degrees down and to the right, instead of moving to the right and then falling a single pixel? or am I just over analyzing this? Any examples or tutorials would be appreciated. Thanks.
  5. Does anyone have any resources, book recommendations, or other information on how to write a program that can utilize plugins. It's something I'm interested in, yet haven't had much luck in finding information on.
  6. I'm trying to learn about operator overloading, but I can't seem to wrap my head around some of the examples I've seen, as far as what denotes a prefix or a postfix declaration, as well as some of the different syntaxes... For example I've seen: type operator sign (parameters); //this one I kinda get type &operator sign (parameters); //why do we need the & type* operator sign (parameters); //returns type pointer etc. can anyone give me a quick overview of the literal differences, maybe a couple solid examples? If anyone has any good web references I'd be happy to read them over.
  7. Quote:Original post by Anonymous Poster Not just "several." Think "infinite." That's why I said "of the same size", if the sizes are different I already know they're not the same file. What I am concerned with is that I could get two or more files of the exact same size, with the exact same CRC, and not know which is the actual file I'm looking for. It seems to me as the file size increases, the number of redundant CRCs becomes huge? Isn't this a problem? Using the previous example, if we only have 4294967296 CRCs available to represent 1099511627776 5 byte files, doesn't this mean that for each CRC there are 255 redundant ones?
  8. Okay, I understand that. Just to clear up one other thing though, I would assume that given this information, conversely there may then be several "different" files (of the same size) which all have the same CRC value?
  9. This is something I know a little about, but not alot, so I figured I'd ask in the meantime (while I do some research). Anyways, onto the question... is it possible given a known file size and specific 32bit CRC, to generate the associated file?