Current Version:

Sources

Coding rules:

To modify Glide64:

  • Write your name and (optional)email, commented by your work, so I know who did it, and so that you can find which parts you modified when it comes time to send it to me.
  • Do NOT send me the whole project or file that you modified. Take out your modified code sections, and tell me where to put them. If people sent the whole thing, I would have many different versions, but no idea how to combine them all.
  • Combiner logs submitted are useless to us, please do not send them.

You may create, modify, steal, use in another plugin, or do whatever you want with this code, but you MUST credit people for their work, and not claim it as your own.

Source for Hacktarux glide3x wrapper:

Sources:

With all that read, you can download the sources to Glide64 here:

Instructions for MS Visual C++

To set up Microsoft Visual C++ to use Glide, go to Tools > Options... and then under the Directories tab, select Include files and enter the directory where the g3sdk include files are located. Select Library files, and enter the directory where the g3sdk libraries are located.

The default output directory is C:\Games\Project64\Plugin, make sure to change it if you need to.

Debugger

If you are interested in working on Glide64, there are several ways to debug problems. The first choice would be to use the graphical debugger. This debugger is included in versions since 0.1. Otherwise, there is always logging.

  • Debug Mode

    When you press Scroll Lock, you will turn debug mode on. In this mode, you can see the texture cache and scroll it using the up and down arrow keys. The game will still be running. There is not much else to do here but that. You can press Scroll Lock again to leave debug mode. Note: This is a good opportunity for those of you who want to extract textures ;). Use hypersnap or some other program to take screenshots with the debugger on.

  • Frame Capture Mode

    Once in debug mode, you can go to frame capture mode by pressing Insert. This mode is much more useful and is where the 'graphical debugger' part comes in. In this mode, you can actually click on the triangles to get information about them. Clicking on a part of the 'screen' will cycle through all triangles, fillrects, and texrects at that location. Once a triangle has been selected, you can press the number keys to cycle through the pages of information about it. Also in this mode, you can click on a texture in the texture cache, and press 0 to receive information about it. Again, press Insert once more to go out of frame capture mode.

    Interesting features:

    • Press space bar with a triangle selected on page #2 (or any other) to go to the texture in the cache it uses as T0.
    • Press space bar with a triangle selected on page #3 to go to the texture in the cache it uses as T1.
    • Press left control with a texture selected to go to the triangle that last used that texture.
    • Press the left and right arrow keys to cycle through the triangles.

    Screenshot of Frame Capture Mode in action:

    Frame Capture Mode
  • Logging

    The logging of every command processed can be enabled by checking the option 'Log to RDP.txt'. If you want to log only a single frame at a time (reccomended) then you can also check 'Log clear every frame'. If you want it to log even when not in fullscreen mode, then check 'Run(+log) in window'. Note: the plugin does not process anything unless in fullscreen if this option is not checked. If you want to set a MSVC++ breakpoint, check this option because you cannot break when in fullscreen. Logging is EXTREMELY slow and should only be enabled while debugging.

    Here's another neat trick that can be done with logging - If you want to log just a single frame or find a single triangle in the log, enable 'Log to RDP.txt' and 'Log clear on every frame', and disable 'Run(+log) in window'. Go to frame capture mode, select the triangle you want and memorize its #. Then press Alt+Enter BEFORE going out of frame capture mode, THEN press Insert. This will cause it to immediately go out of frame capture mode before processing any other frames (or logging them), retaining the triangle numbers. Now go into RDP.txt and search for the triangle number. Ex: for triangle number 63, search for "#63" in the log.