diasurgical / devilution

Diablo devolved - magic behind the 1996 computer game
Other
8.77k stars 919 forks source link

Where to get Visual C++ 5.10 #37

Closed ghost closed 6 years ago

ghost commented 6 years ago

Good day,

I looking for Visual studio 5.10 . I cannot find it anywhere. How are you compiling this back?

I was thinking on loading it in visual studio and trying this thing.

I tried using MinGw (make I think) and I am missing some binaries for compilation.

ghost commented 6 years ago

You can grab either VC++ 5 or 6 at WinWorld. Unless your doing extensive debugging to compare assembly, I'd recommend going with 6 instead.

As for the Mingw issue, make sure these packages are installed: screen It doesn't come with the ddraw/dsound headers, but you can easily find those on google. After that you should be good to go.

mewmew commented 6 years ago

You can grab either VC++ 5 or 6 at WinWorld. Unless your doing extensive debugging to compare assembly, I'd recommend going with 6 instead.

The installer for 5.0 is made at https://winworldpc.com/product/visual-c/5x

Where is the update for 5.10 made available? (i.e. VS97SP3.zip)

ghost commented 6 years ago

It's on a few FTP websites, but you really have to search to find it. Mirror here.

ghost commented 6 years ago

yeah I was thinking this is a floppy formet.. Windows 10 dont supports this thing.

heinermann commented 6 years ago

I can't get this to work at all.

C:\Users\Adam Heinermann\devilution\DiabloUI\diabloui.cpp : fatal error C1382: the PCH file 'WinRel/DiabloUI.pch' has been rebuilt since 'C:\Users\Adam Heinermann\devilution\DiabloUI\WinRel\diabloui.obj' was generated. Please rebuild this object
Error executing cl.exe.

Deleting this file doesn't help. Turning off precompiled headers gives

player.obj : error LNK2001: unresolved external symbol __dtol3
control.obj : error LNK2001: unresolved external symbol __dtol3
lighting.obj : error LNK2001: unresolved external symbol __dtol3
missiles.obj : error LNK2001: unresolved external symbol __dtol3
monster.obj : error LNK2001: unresolved external symbol __dtol3
palette.obj : error LNK2001: unresolved external symbol ___libm_sse2_pow
Source/WinRel/Diablo.exe : fatal error LNK1120: 2 unresolved externals
Error executing link.exe.

It's just one error after another and there's no support for such old tools.

I installed both VC 5.0 and service pack 3, but going to "About Developer Studio", the "Additional information" section shows "Visual C++ 5.0" still.

It compiles totally fine in VS2017 but fails to run (video failure). EDIT: Setting compatibility mode for 8 bit gets me further but crashes somewhere else. Looking into it. EDIT2: Crashes in sound.cpp:136 - v8 = v5->Play(0, 0, 0); for some reason. EDIT3: Actually most likely crashing in a different thread (? maybe?). Feels like some kind of stack corruption, possibly.

ghost commented 6 years ago

@heinermann I've suspected there could be sound issues because of the structure size of DSBUFFERDESC (ref: https://github.com/galaxyhaxz/devilution/issues/43). Where DirectX7+ have an extra field that would otherwise not be passed if an older version of the file is used. Not 100% sure though. It could also be related to #50

With a clean install of VC5 you should be able to open the workspace and get right to it. It runs fine under Windows 7 x64 so if you're on W10 perhaps it has compatibility issues. We'll eventually get some solution files uploaded for newer versions of VS.

NiteKat commented 6 years ago

Per @mewmew I am posting here where I found VC++ 5.10 ISO and CD Key.

Upon review, it looks like I may have just found a 5.0 ISO, but it built the project without any issues (even with dsound.h not included yet). Also, if you want, you can download VC++ 6.x from the link too.

I found the CD Key here: https://mase.wordpress.com/2006/02/23/microsoft-cd-keys/ VC++ 5.10 ISO here: https://winworldpc.com/product/visual-c/5x

ghost commented 6 years ago

I need to update the readme to state that VC 5.10 is only necessary if you want a byte-identical output. You can use any version of VC 5/6 and it compiles just fine. I'm guessing it should work with VS .NET 2001-2005 as well.

NiteKat commented 6 years ago

Slightly off topic, but galaxyhaxz is there a way I could chat with you directly about some things? My current project is building an API for Diablo like there is for BW for building bots. Ultimately some people want to have an Iron Man bot tournament. My API is very much in the exploratory phase, but I suspect you'd have some super valuable input on how the data structures work, and how the Diablo engine accomplishes certain tasks.

ghost commented 6 years ago

Join the discord channel Xyinn if you want to chat. I'm usually on for a few hours each day.

NiteKat commented 6 years ago

Do I need an invite URL? I don't see an option in Discord to join something just from knowing it's name. :(

ghost commented 6 years ago

https://discordapp.com/invite/4FjUth link expires in one day so we don't get any spam.

ghost commented 6 years ago

just enter 1's for the key... Some super awesome security )

yes this works perfectly for me on the latest version of windows..

ghost commented 6 years ago

Links added with #132