Author Topic: Visual Studio 2008 Express Edition  (Read 3300 times)

Offline Hooman

  • Administrator
  • Hero Member
  • *****
  • Posts: 4955
Visual Studio 2008 Express Edition
« on: September 16, 2008, 06:47:28 PM »
Just so people know, you can download C++, C#, VB, ... and some other junk, for free, from Microsoft. It might be an alternative for those people that want to make OP2 levels and don't want to use CodeBlocks. This download comes with an IDE as well as the compiler. Please note that only the C++ pack is particularly relevant to making OP2 levels. Of course some of the others might be fun to download and try out too. :)

http://www.microsoft.com/express/product/default.aspx


Btw, I haven't actually tried to use this version of C++ to make an OP2 level yet. No word yet on how well that works.


Edit: And of course, the MSDN library, in case you need to look up any system related API functions. It's huge and takes a while to install.

 
« Last Edit: September 16, 2008, 06:50:00 PM by Hooman »

Offline Sirbomber

  • Hero Member
  • *****
  • Posts: 3238
Visual Studio 2008 Express Edition
« Reply #1 on: September 17, 2008, 06:49:17 PM »
Thanks, Hooman!  CodeBlocks was making my DLLs buggy!
Of course, now I need to figure out how to set it up...
« Last Edit: September 17, 2008, 06:54:23 PM by Sirbomber »
"As usual, colonist opinion is split between those who think the plague is a good idea, and those who are dying from it." - Outpost Evening Star

Outpost 2 Coding 101 Tutorials

Offline Hooman

  • Administrator
  • Hero Member
  • *****
  • Posts: 4955
Visual Studio 2008 Express Edition
« Reply #2 on: September 17, 2008, 11:39:44 PM »
Try starting a new DLL project, moving all your files into it, placing the SDK where the files can be #included properly, add the .lib for the SDK, and possibly for LibCTiny as well, and try to adjust the DLL load address. That should be all the important things to do.

Or in terms of errors you'll likely encounter:
Code: [Select]
1) Compile Errors: 
    a] Set project type to DLL (so it looks for DllMain instead of main)
    b] Find a good place for the SDK headers, so you can #include them
2) Link Errors:
    a] Include needed libraries, so all the functions in the SDK headers are found in Outpost2.exe
3) Load performance:
    a] Set the load address to an unoccupied memory range so the DLL doesn't need to be relocated when the Windows loader loads it. Check the old project files for MSVC 6.0 or CodeBlocks to find the address used there. (Possibly "Module Address" or something like that).


Perhaps we need a preformatted text tag. :P
« Last Edit: September 17, 2008, 11:40:52 PM by Hooman »

Offline HaXtOr

  • Sr. Member
  • ****
  • Posts: 423
    • http://www.wtfmoogle.com
Visual Studio 2008 Express Edition
« Reply #3 on: December 29, 2008, 03:12:01 PM »
trying to get it to work getting this problem

Code: [Select]
LibCTiny.lib(DLLCRT0.OBJ) : warning LNK4229: invalid directive '/OPT:NOWIN98' encountered; ignored
LINK : fatal error LNK1104: cannot open file 'LIBC.lib'
Build log was saved at "file://c:\Outpost2\Mission_SDK__2008\Outpost2-Mission-SDK\TemplateMission-Hooville\ReleaseMinSize\BuildLog.htm"
OP2Script - 1 error(s), 1 warning(s)
========== Build: 0 succeeded, 1 failed, 2 up-to-date, 0 skipped ==========

Offline HaXtOr

  • Sr. Member
  • ****
  • Posts: 423
    • http://www.wtfmoogle.com
Visual Studio 2008 Express Edition
« Reply #4 on: December 29, 2008, 03:20:58 PM »
Oh GAY! i figured it out!

MSVS2008

Quote
The Windows 95, Windows 98, Windows ME, and Windows NT platforms are no longer supported. These operating systems have been removed from the list of targeted platforms.

Offline zigzagjoe

  • Hero Member
  • *****
  • Posts: 626
Visual Studio 2008 Express Edition
« Reply #5 on: January 01, 2009, 10:14:35 PM »
ignore this ^^

it works fine.

Offline AmIMeYet

  • Full Member
  • ***
  • Posts: 128
Visual Studio 2008 Express Edition
« Reply #6 on: June 20, 2009, 01:31:26 PM »
Sorry for this necropost, but I think it's worth mentioning (for new people looking in to this, like me) that there is now a way to make this work.

topic here

The thing stopping the compiler from compiling was libctiny.lib, added in an effort to decrease dll size, that calls another library not compatible with this new release.
« Last Edit: June 20, 2009, 01:32:05 PM by AmIMeYet »