shithub: cstory

Download patch

ref: b5ad6f51545ffc49dfafd4df613debd37efdaa9f
parent: f36fc61de3dada74f5f5861db9a1c5addcc8242f
author: Clownacy <Clownacy@users.noreply.github.com>
date: Mon Jan 6 13:39:23 EST 2020

Made Star.cpp compile as C89 in VS2003

I hope this doesn't get *too* invasive.

--- a/src/ArmsItem.h
+++ b/src/ArmsItem.h
@@ -2,6 +2,10 @@
 
 #include "WindowsWrapper.h"
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 // "Arms" is a synonym of "weapon" here
 // "Code" means "ID" here
 // "Num" often means "ammo" here
@@ -110,3 +114,7 @@
 
 /// Change the current weapon to be the first one and play the usual rotation animation
 void ChangeToFirstArms(void);
+
+#ifdef __cplusplus
+}
+#endif
--- a/src/Bullet.h
+++ b/src/Bullet.h
@@ -2,7 +2,11 @@
 
 #include "WindowsWrapper.h"
 
-struct BULLET
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct BULLET
 {
 	int flag;
 	int code_bullet;
@@ -36,9 +40,9 @@
 		int back;
 		int bottom;
 	} view;
-};
+} BULLET;
 
-struct BULLET_TABLE
+typedef struct BULLET_TABLE
 {
 	signed char damage;
 	signed char life;
@@ -55,7 +59,7 @@
 		int back;
 		int bottom;
 	} view;
-};
+} BULLET_TABLE;
 
 #define BULLET_MAX 0x40
 extern BULLET gBul[BULLET_MAX];
@@ -69,3 +73,7 @@
 void SetBullet(int no, int x, int y, int dir);
 void ActBullet(void);
 BOOL IsActiveSomeBullet(void);
+
+#ifdef __cplusplus
+}
+#endif
--- a/src/Draw.h
+++ b/src/Draw.h
@@ -2,6 +2,10 @@
 
 #include "WindowsWrapper.h"
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 #ifndef RGB
 #define RGB(r,g,b) ((r) | ((g) << 8) | ((b) << 16))
 #endif
@@ -70,3 +74,7 @@
 void PutText(int x, int y, const char *text, unsigned long color);
 void PutText2(int x, int y, const char *text, unsigned long color, SurfaceID surf_no);
 void EndTextObject(void);
+
+#ifdef __cplusplus
+}
+#endif
--- a/src/Game.h
+++ b/src/Game.h
@@ -2,6 +2,10 @@
 
 #include "WindowsWrapper.h"
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 enum GameFlagsValues
 {
 	// To be continued
@@ -33,3 +37,7 @@
 void PutNumber4(int x, int y, int value, BOOL bZero);
 
 BOOL Game(HWND hWnd);
+
+#ifdef __cplusplus
+}
+#endif
--- a/src/MyChar.h
+++ b/src/MyChar.h
@@ -2,10 +2,14 @@
 
 #include "WindowsWrapper.h"
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 // TODO - When I add bitmask constants for gMC.flags...
 // 0x100 is a 'player is underwater' flag
 
-struct MYCHAR
+typedef struct MYCHAR
 {
 	unsigned char cond;
 	unsigned int flag;
@@ -59,7 +63,7 @@
 	signed char ques;   // Same for this variable as well
 	signed char boost_sw;
 	int boost_cnt;
-};
+} MYCHAR;
 
 extern MYCHAR gMC;
 
@@ -83,3 +87,7 @@
 void CutNoise(void);
 void ResetNoise(void);
 void SleepNoise(void);
+
+#ifdef __cplusplus
+}
+#endif
--- a/src/Organya.h
+++ b/src/Organya.h
@@ -1,4 +1,4 @@
-#pragma once
+	#pragma once
 
 #ifdef FIX_BUGS
 // The original source code forgot to set this (you can tell because, in the original EXE,
--- a/src/Star.cpp
+++ b/src/Star.cpp
@@ -119,13 +119,13 @@
 
 void PutStar(int fx, int fy)
 {
-	int i;
-
 	RECT rc[3] = {
 		{192, 0, 200, 8},
 		{192, 8, 200, 16},
 		{192, 16, 200, 24},
 	};
+
+	int i;
 
 	if (gMC.cond & 2)
 		return;
--- a/src/Star.h
+++ b/src/Star.h
@@ -1,5 +1,13 @@
 #pragma once
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 void InitStar(void);
 void ActStar(void);
 void PutStar(int fx, int fy);
+
+#ifdef __cplusplus
+}
+#endif
--- a/vs2003/CSE2.vcproj
+++ b/vs2003/CSE2.vcproj
@@ -324,6 +324,12 @@
 			</File>
 			<File
 				RelativePath="..\src\Star.cpp">
+				<FileConfiguration
+					Name="Release|Win32">
+					<Tool
+						Name="VCCLCompilerTool"
+						CompileAs="1"/>
+				</FileConfiguration>
 			</File>
 			<File
 				RelativePath="..\src\TextScr.cpp">