Figured it out. Here's the version you need for VS 2005. Just substitute your project name for "yourProjectName".

// yourProjectName.cpp : Defines the entry point for the application.
//

#include "stdafx.h"
#include "yourProjectName.h"
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <stdlib.h>
#include <malloc.h>
#include <memory.h>
#include <tchar.h>

// Include the engine data types, variables, and functions
#include "adll.h"

int APIENTRY _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{

engine_open("hut1.wmb");

// The engine_open() function initializes the GameStudio engine,
// and accepts a command line string with the name of a script,
// or an entity file to be loaded upon initialization. For instance,
// we could hand over the application command line (char*)lpCmdLine.
// We could also pass options to start in client or server mode.
// Here we're just loading the arena level.

// After loading a level we're ready to render it. The engine_frame()
// function executes the scripts and physics, and renders the
// current camera position to the screen if a level is loaded.
// The function returns zero when a script calls exit() or an Abort
// button is clicked.

while (engine_frame());

// For rendering the level, we are just repeating engine_frame() until
// a 0 value is returned. This is normally our main loop, all
// the interesting stuff happens here. However, when an entity file
// name is given for engine_open(), the engine acts as a viewer.
// A default walkthrough movement is activated and we don't want
// to do anything else at the moment.

engine_close();

// Someone pressed the Exit icon. Our application is about to end.
// Before that, the engine must be closed by engine_close().

return 0;

}