World Driver Championship
Users browsing this thread: 1 Guest(s)

I've been working on a car/track modifier for WDC. Got car importing/exporting working now, and some basic track viewing but I feel like a break so I'm putting out a first release.
You can view cars and untextured tracks in the program currently, also export cars to obj files and replace cars with your own obj files.
It's fully compatible with real hardware.
Release is here: http://www.jaytheham.com/code/data/WDCB_1.zip
Source here: https://bitbucket.org/jaytheham/wdc-viewer
I've put some of my notes up here: World Driver hack notes

[Image: viewcar.jpg][Image: viewcar2.jpg][Image: viewtrack.jpg][Image: viewtrack2.jpg][Image: donut1.png][Image: donut2.png]

Neat project. I hadn't played World Driver Championship before, but I wanted to check out your tool so I fired it up. I am actually quite impressed by the game's graphics on the N64 (and I am ashamed by my driving skills Smile )

I ran your tool and successfully listed and displayed both cars and tracks. However, I ran into some troubles running the help features. According to the ReadMe, "--help" should display info, but it looks like it just crashes the app:
Code:
​app.exe --help
World Driver Championship Butcher for N64
Created by jaytheham@gmail.com
--------------------------------


std.exception.ErrnoException@std\stdio.d(401): Cannot open file `--help' in mode `r' (No such file or directory)
----------------
0x0047B536
0x004025E6
0x00474E4F
0x00474D50
0x0043A7CC
0x7507336A in BaseThreadInitThunk
0x77159902 in RtlInitializeExceptionChain
0x771598D5 in RtlInitializeExceptionChain


Entering the command "h" in the prompt does show help, but it also produces an error:
Code:
​ROM byte order: Big Endian
Loaded ROM: WORLD DRIVER CHAMP
Version detected as NTSC

Waiting for input: h


Available commands:
       lc      --list-cars             List car names and indices
       lt      --list-tracks           List track names and indices
       dc      --display-car           Display car {index}
       dt      --display-track         Display track {index} {variation}

object.Error@(0): Access Violation
----------------
0x004B879C
0x004B85C4

I see there are a lot more commands listed in the "commands" table in the code, so it's not entirely working. I noticed you were writing the project in D which is something I've been trying to learn over the past year. I thought I'd take a stab at fixing the help, but I am having a hard time building the project without a build system. I am able to build it with rdmd using the command "rdmd --build-only app.d" but I was wondering how you build it? Do I need to worry about any special linking flags for SDL2? Have you looked into using dub for building?

Ah that's what I get for not testing properly, I compiled the release build with the -O flag for optimization, however it introduces those errors for some reason. I've re-upped the zip built without -O and it seems fine, in fact the exe is smaller when compiled without -O...
You're on the right track with rdmd, that's exactly how I build it. That tool is a God-send, I hate faffing about with package managers, linking and other BS.

Edit:
Also I noticed you're passing the long command as an arg to the exe, perhaps foolish of me to make them look like regular arguments, but they're not. The only arg the exe accepts is the path to a WDC ROM. All the commands are for entering when prompted after the exe is running.
(This post was last modified: 24-02-2017, 09:14 PM by jaytheham.)

World Driver Championship
Users browsing this thread: 1 Guest(s)