{"id":32878907,"url":"https://github.com/widberg/fror-research","last_synced_at":"2026-06-18T23:31:00.368Z","repository":{"id":322364151,"uuid":"1088295501","full_name":"widberg/fror-research","owner":"widberg","description":"Information that might be useful for modding Ford Racing Off Road (2008) by Razorworks.","archived":false,"fork":false,"pushed_at":"2026-02-06T07:48:41.000Z","size":157,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-02-06T10:23:13.374Z","etag":null,"topics":["blender-addon","modding","reverse-engineering"],"latest_commit_sha":null,"homepage":"http://www.fordracingoffroad.com/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/widberg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-02T17:37:39.000Z","updated_at":"2026-02-06T07:48:45.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/widberg/fror-research","commit_stats":null,"previous_names":["widberg/fror-research"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/widberg/fror-research","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/widberg%2Ffror-research","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/widberg%2Ffror-research/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/widberg%2Ffror-research/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/widberg%2Ffror-research/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/widberg","download_url":"https://codeload.github.com/widberg/fror-research/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/widberg%2Ffror-research/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34511617,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-18T02:00:06.871Z","response_time":128,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blender-addon","modding","reverse-engineering"],"created_at":"2025-11-09T17:06:16.055Z","updated_at":"2026-06-18T23:31:00.357Z","avatar_url":"https://github.com/widberg.png","language":"Python","funding_links":[],"categories":["Game \u0026 Studio Tools"],"sub_categories":["Asobo Studio"],"readme":"# Ford Racing Off Road Research\n\nInformation that might be useful for modding Ford Racing Off Road (2008) by Razorworks.\n\n## External Wikis\n\n* [Ford Racing Off Road on PCGamingWiki](https://www.pcgamingwiki.com/wiki/Ford_Racing:_Off_Road)\n* [Ford Racing Off Road on MobyGames](https://www.mobygames.com/game/44393/ford-racing-off-road/)\n* [Ford Racing Off Road on Wikipedia](https://en.wikipedia.org/wiki/Off_Road_(video_game))\n* [Ford Racing 3 Fandom Wiki](https://fordracing3.fandom.com/wiki/Ford_Racing_3_Wiki)\n* [Ford Racing Off Road on SteamDB](https://steamdb.info/app/315740/)\n* [Ford Racing Off Road on speedrun.com](https://www.speedrun.com/fordracing_offroad)\n* [[PS2] Ford Racing 2 USA Beta [SLUS-20788] [2003-07-28].7z (1.3 MB) on debugging.games](https://debugging.games/)\n* [Ford Racing Off Road PC 100% Save Game on savegame.pro](https://savegame.pro/pc-ford-racing-off-road-savegame/)\n\n## Prior Work\n\n* [Ford Racing 3 on GameBanana](https://gamebanana.com/games/8561)\n* [Ford Racing 3 Modding page on Fandom Wiki](https://fordracing3.fandom.com/wiki/Modding)\n* [Ford Racing Off Road on WSGF](https://www.wsgf.org/dr/ford-racing-road/en)\n\n## Notes\n\n### Files\n\n#### Extensions\n\nStandard formats\n\n| Glob | Type |\n| --- | --- |\n| `*.at3` | [ATRAC](https://en.wikipedia.org/wiki/ATRAC)3+ (Adaptive TRansform Acoustic Coding 3+) |\n| `*.dds` | [DirectDraw Surface](https://en.wikipedia.org/wiki/DirectDraw_Surface) |\n| `*.txt` | [Text File](https://en.wikipedia.org/wiki/Text_file) |\n| `*.url` | [URL File Format](https://web.archive.org/web/20240128011848/http://www.lyberty.com/encyc/articles/tech/dot_url_format_-_an_unofficial_guide.html) |\n| `*.wav` | [Waveform Audio File Format (WAVE)](https://en.wikipedia.org/wiki/WAV) |\n| `*.WMA` | [Windows Media Audio](https://en.wikipedia.org/wiki/Windows_Media_Audio) |\n\nFord Racing Off Road formats\n\n| Glob | Type | Compressed | Pattern |\n| --- | --- | --- | --- |\n| `*.cdb` | Controllers Database/text | False | |\n| `*.cfg` | config/text | False | |\n| `*.dat` | data/text | False | |\n| `*.dbf` | | False | `dbf.hexpat` |\n| `*.hpa` | [HLSL Pixel Assembly](https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-using-shaders-9) | False | |\n| `*.hpo` | [HLSL Pixel Object](https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-using-shaders-9) | False | |\n| `*.hva` | [HLSL Vertex Assembly](https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-using-shaders-9) | False | |\n| `*.hvo` | [HLSL Vertex Object](https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-using-shaders-9) | False | |\n| `*.npc` | | False | `npc.hexpat` |\n| `*.old` | old/text | False | |\n| `*.pcg` | | True | `pcg.hexpat` |\n| `*.pse` | Particle Effects/text | False | |\n| `*.pvs` | [Potentially visible set](https://en.wikipedia.org/wiki/Potentially_visible_set) | True | `pvs.hexpat` |\n| `*.spc` | | False | `spc.hexpat` |\n| `*.tpe` | Track Particle Effects/text | False | |\n| `*.ui` | ui/text | False | |\n| `*.wiv` | Uncompressed [WAVE](https://en.wikipedia.org/wiki/WAV) | False | |\n| `3dobjdb.pc` | | False | `three_d_obj_db_pc.hexpat` |\n| `3dobjs.pc` | | True | `three_d_objs_pc.hexpat` |\n| `3dobjsp.pc` | | True | `three_d_objsp_pc.hexpat` |\n| `bininfo.bin` | | False | `bininfo_bin.hexpat` |\n| `fonts.dat` | | False | `fonts_dat.hexpat` |\n| `fonts.hdr` | | False | `fonts_hdr.hexpat` |\n| `fonts/*.raw` | | False | `fonts_raw.hexpat` |\n| `FORRacing` | Save Game | False | `for_racing.hexpat` |\n| `gradient.dat` | | False | `gradient_dat.hexpat` |\n| `textures.pc` | | True | `textures_pc.hexpat` |\n\n#### ImHex Patterns\n\nThe patterns in the `patterns` directory can be run with [ImHex](https://imhex.werwolv.net/).\n\n#### DDS\n\n[texconv](https://github.com/microsoft/DirectXTex/wiki/texconv) can be used to convert to/from DDS from/to standard formats like PNG. When converting to DDS from PNG, the command should look something like this:\n\n```sh\ntexconv -f BC1_UNORM -dx9 --mip-levels 0 --overwrite image.png\n```\n\n`BC1_UNORM` or `DXT1` corresponds to DXT1. You can also use `BC2_UNORM` or `DXT3` for DXT3, `R8G8B8A8_UNORM` or `RGBA` for RGBA, and `RGB24` for RGB. `--mip-levels 0` will generate all mipmaps, `1` will remove mipmaps, and other values will use that many levels. Avoid mip maps smaller than 4x4. There are also many more options available on the [texconv wiki page](https://github.com/microsoft/DirectXTex/wiki/texconv).\n\n### Scripts\n\nThe main fror cli tool can be installed using [uv](https://docs.astral.sh/uv/):\n\n```console\nuv pip install --system --editable scripts/fror\n```\n\nThen from anywhere on your system you can run:\n\n```console\nfror --help\n```\n\n### Save Editor\n\nRun the following command to open [ImHex](https://imhex.werwolv.net/) in save editor mode with the Ford Racing Off Road save file format pattern loaded.\n\n```console\nimhex --save-editor file patterns/for_racing.hexpat\n```\n\nOnce open you can select the save file, for me this is `%AppData%\\Ford Racing Off Road\\autosave\\FORRacing`. But, you can check the [Ford Racing Off Road page on PCGamingWiki](https://www.pcgamingwiki.com/wiki/Ford_Racing:_Off_Road) for alternative locations.\n\n### Signatures\n\n#### [certutil](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/certutil)\n\n```console\ncertutil -hashfile FordORR.exe SHA256\nSHA256 hash of FordORR.exe:\nf5f94e217d17279f9df0438aeb6e8c7e74983969cf95f4a8ab8d04259a1f63bc\nCertUtil: -hashfile command completed successfully.\n```\n\n#### [Detect It Easy](https://github.com/horsicq/Detect-It-Easy)\n\n`FordORR.exe`\n\n```plaintext\nPE32\n    Operation system: Windows(XP)[I386, 32-bit, GUI]\n    Linker: Watcom Linker(2.18*)[GUI32]\n    Compiler: Watcom C/C++\n    Language: C/C++\n    (Heur)Protection: Generic[Custom DOS]\n    (Heur)Licensing: Licensing[Strings]\n```\n\nThe `(Heur)Protection: Generic[Custom DOS]` is a false positive due to the DOS stub string being `\"this is a Windows 95 executable\"` instead of a more well known one. The `(Heur)Licensing: Licensing[Strings]` is a false positive due to the string `\"activate\"` appearing as a substring of `\"unable to activate the wave, not enough cars available\"`.\n\n#### [signsrch](https://aluigi.altervista.org/mytoolz.htm)\n\n`signsrch -e FordORR.exe`\n\n```plaintext\n- open file \"FordORR.exe\"\n- 2250240 bytes allocated\n- load signatures\n- open file C:\\Users\\widberg\\signsrch\\signsrch.sig\n- 3079 signatures in the database\n- start 12 threads\n- start signatures scanning:\n\n  offset   num  description [bits.endian.size]\n  --------------------------------------------\n  0040b6ad 3048 DMC compression [32.le.16\u0026]\n  0047f5e0 1038 padding used in hashing algorithms (0x80 0 ... 0) [..64]\n  005ee1e8 2190 CRC32_DS [32.le.68\u0026]\n  005eef8c 648  CRC-32-IEEE 802.3 [crc32.0xedb88320 lenorev 1.1024]\n  005eef8c 641  CRC-32-IEEE 802.3 [crc32.0x04c11db7 le rev int_min.1024]\n  005ef43c 2294 zinflate_lengthExtraBits [32.le.116]\n  005ef4ad 2304 zinflate_distanceExtraBits [32.be.120]\n  005ef4b0 2303 zinflate_distanceExtraBits [32.le.120]\n  005efa80 1086 Zlib dist_code [..512]\n  005efc80 1087 Zlib length_code [..256]\n  005efd80 1089 Zlib base_length [32.le.116]\n  005efdf4 1091 Zlib base_dist [32.le.120]\n  005efeec 2289 zinflate_lengthStarts [16.le.58]\n  005eff68 2296 zinflate_distanceStarts [16.le.60]\n  005effa4 2301 zinflate_distanceExtraBits [16.le.60]\n  005fe930 3038 unlzx table_three [32.le.64]\n  0060814c 3051 compression algorithm seen in the game DreamKiller [32.be.12\u0026]\n\n- 17 signatures found in the file in 1 seconds\n```\n\n### [dumpbin](https://learn.microsoft.com/en-us/cpp/build/reference/dumpbin-reference?view=msvc-170)\n\n`dumpbin /HEADERS FordORR.exe`\n\n\u003cdetails\u003e\n\n```plaintext\nMicrosoft (R) COFF/PE Dumper Version 14.44.35215.0\nCopyright (C) Microsoft Corporation.  All rights reserved.\n\n\nDump of file FordORR.exe\n\nPE signature found\n\nFile Type: EXECUTABLE IMAGE\n\nFILE HEADER VALUES\n             14C machine (x86)\n               5 number of sections\n        47B22E96 time date stamp Tue Feb 12 18:41:10 2008\n               0 file pointer to symbol table\n               0 number of symbols\n              E0 size of optional header\n             182 characteristics\n                   Executable\n                   Bytes reversed\n                   32 bit word machine\n\nOPTIONAL HEADER VALUES\n             10B magic # (PE32)\n            2.18 linker version\n          1B4A00 size of code\n           57400 size of initialized data\n          4BBE00 size of uninitialized data\n          1A9AD0 entry point (005A9AD0)\n            1000 base of code\n          1B6000 base of data\n          400000 image base (00400000 to 00AE3FFF)\n            1000 section alignment\n             200 file alignment\n            1.11 operating system version\n            0.00 image version\n            4.00 subsystem version\n               0 Win32 version\n          6E4000 size of image\n             400 size of headers\n               0 checksum\n               2 subsystem (Windows GUI)\n               0 DLL characteristics\n           1F400 size of stack reserve\n           10000 size of stack commit\n            2000 size of heap reserve\n            1000 size of heap commit\n               0 loader flags\n              10 number of directories\n               0 [       0] RVA [size] of Export Directory\n          1B6000 [    165A] RVA [size] of Import Directory\n               0 [       0] RVA [size] of Resource Directory\n               0 [       0] RVA [size] of Exception Directory\n               0 [       0] RVA [size] of Certificates Directory\n          6CA000 [   19328] RVA [size] of Base Relocation Directory\n               0 [       0] RVA [size] of Debug Directory\n               0 [       0] RVA [size] of Architecture Directory\n               0 [       0] RVA [size] of Global Pointer Directory\n               0 [       0] RVA [size] of Thread Storage Directory\n               0 [       0] RVA [size] of Load Configuration Directory\n               0 [       0] RVA [size] of Bound Import Directory\n               0 [       0] RVA [size] of Import Address Table Directory\n               0 [       0] RVA [size] of Delay Import Directory\n               0 [       0] RVA [size] of COM Descriptor Directory\n               0 [       0] RVA [size] of Reserved Directory\n\n\nSECTION HEADER #1\n    AUTO name\n  1B49EA virtual size\n    1000 virtual address (00401000 to 005B59E9)\n  1B4A00 size of raw data\n     400 file pointer to raw data (00000400 to 001B4DFF)\n       0 file pointer to relocation table\n       0 file pointer to line numbers\n       0 number of relocations\n       0 number of line numbers\n60000020 flags\n         Code\n         Execute Read\n\nSECTION HEADER #2\n  .idata name\n    165A virtual size\n  1B6000 virtual address (005B6000 to 005B7659)\n    1800 size of raw data\n  1B4E00 file pointer to raw data (001B4E00 to 001B65FF)\n       0 file pointer to relocation table\n       0 file pointer to line numbers\n       0 number of relocations\n       0 number of line numbers\nC0000040 flags\n         Initialized Data\n         Read Write\n\nSECTION HEADER #3\n  DGROUP name\n   55B8C virtual size\n  1B8000 virtual address (005B8000 to 0060DB8B)\n   55C00 size of raw data\n  1B6600 file pointer to raw data (001B6600 to 0020C1FF)\n       0 file pointer to relocation table\n       0 file pointer to line numbers\n       0 number of relocations\n       0 number of line numbers\nC0000040 flags\n         Initialized Data\n         Read Write\n\nSECTION HEADER #4\n    .bss name\n       0 virtual size\n  20E000 virtual address\n  4BBE00 size of raw data\n       0 file pointer to raw data\n       0 file pointer to relocation table\n       0 file pointer to line numbers\n       0 number of relocations\n       0 number of line numbers\nC0000080 flags\n         Uninitialized Data\n         Read Write\n\nSECTION HEADER #5\n  .reloc name\n       0 virtual size\n  6CA000 virtual address\n   19400 size of raw data\n  20C200 file pointer to raw data (0020C200 to 002255FF)\n       0 file pointer to relocation table\n       0 file pointer to line numbers\n       0 number of relocations\n       0 number of line numbers\n42000040 flags\n         Initialized Data\n         Discardable\n         Read Only\n\n  Summary\n\n      4BC000 .bss\n        2000 .idata\n       1A000 .reloc\n      1B5000 AUTO\n       56000 DGROUP\n```\n\n\u003c/details\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwidberg%2Ffror-research","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwidberg%2Ffror-research","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwidberg%2Ffror-research/lists"}