//***************************************************************************** //* prefix S equals search data, R equals replace data * //* Two bytes per character: * //* 0x00xx means match or replace * //* 0xFFFF means we don't care what the byte is * //* 0xFFFE means end of search string * //* The first byte is the current byte offset to compare within the string * //* The second byte contains the status of the search * //***************************************************************************** #define APPLICATION "Pod Racer" #define VERSION "100_10" #define DATE "10th October 1999" #define TIME "3 Hours" #define PATCH_TOTAL 2 uChar sd1[] = {0x02, \ 0x00, 0x85, 0x00, 0xc0, \ 0x00, 0x0f, 0x00, 0x84, \ 0x00, 0x9c, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x8d, 0x00, 0x7c, \ 0x00, 0x24, 0xFF, 0xFE}; uChar rd1[] = {0x02, \ 0x00, 0x85, 0x00, 0xc0, \ 0x00, 0x90, 0x00, 0x90, \ 0x00, 0x90, 0x00, 0x90, \ 0x00, 0x90, 0x00, 0x90, \ 0x00, 0x8d, 0x00, 0x7c, \ 0x00, 0x24, 0xFF, 0xFE}; uChar sd2[] = {0x02, \ 0x00, 0x83, 0x00, 0xc4, \ 0x00, 0x0c, 0x00, 0x85, \ 0x00, 0xc0, 0x00, 0x75, \ 0x00, 0x78, 0x00, 0x68, \ 0x00, 0x84, 0x00, 0x3e, \ 0x00, 0x4b, 0xFF, 0xFE}; uChar rd2[] = {0x02, \ 0x00, 0x83, 0x00, 0xc4, \ 0x00, 0x0c, 0x00, 0x85, \ 0x00, 0xc0, 0x00, 0x90, \ 0x00, 0x90, 0x00, 0x68, \ 0x00, 0x84, 0x00, 0x3e, \ 0x00, 0x4b, 0xFF, 0xFE}; //***************************************************************************** //* The list of pointers to the search and replace data * //***************************************************************************** const uChar *Patch1[] = {(uChar *)sd1, (uChar *)rd1, (uChar *)sd2, (uChar *)rd2, 0}; //***************************************************************************** //* A list of files to search and replace data in * //* Note: PatchData is compared in every file (so make unique). * //***************************************************************************** struct _patch_info_ { char *FileName; uChar **pArray; } PatchData[] = { {"swep1rcr.exe", Patch1}, {0, 0} };