Browse Source

Add a bunch of skeleton files.

Sam Jaffe 6 years ago
parent
commit
abd2a9340a

+ 3 - 0
.gitmodules

@@ -0,0 +1,3 @@
+[submodule "external/resource_factory"]
+	path = external/resource_factory
+	url = git@freenas:utility/resource_factory

+ 54 - 0
danmaku.xcodeproj/project.pbxproj

@@ -17,6 +17,13 @@
 		CD1C83412298A9E000825C4E /* libgraphics.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = CD7E883922960DBF00D877FE /* libgraphics.dylib */; };
 		CD1C83432298A9F500825C4E /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = CD1C83422298A9F500825C4E /* MainMenu.xib */; };
 		CD49F73D229AFF2900EB8926 /* scripts in Resources */ = {isa = PBXBuildFile; fileRef = CD49F736229AFF2800EB8926 /* scripts */; };
+		CD49F75F229B09F800EB8926 /* level.cxx in Sources */ = {isa = PBXBuildFile; fileRef = CD49F75E229B09F800EB8926 /* level.cxx */; };
+		CD49F762229B0A0500EB8926 /* enemy.cxx in Sources */ = {isa = PBXBuildFile; fileRef = CD49F761229B0A0500EB8926 /* enemy.cxx */; };
+		CD49F764229B0A2400EB8926 /* danmaku in Resources */ = {isa = PBXBuildFile; fileRef = CD49F763229B0A2400EB8926 /* danmaku */; };
+		CD49F767229B0A3000EB8926 /* player.cxx in Sources */ = {isa = PBXBuildFile; fileRef = CD49F766229B0A3000EB8926 /* player.cxx */; };
+		CD49F76A229B0A6C00EB8926 /* bullet.cxx in Sources */ = {isa = PBXBuildFile; fileRef = CD49F769229B0A6C00EB8926 /* bullet.cxx */; };
+		CD49F76D229B0A8000EB8926 /* bullet_pattern.cxx in Sources */ = {isa = PBXBuildFile; fileRef = CD49F76C229B0A8000EB8926 /* bullet_pattern.cxx */; };
+		CD49F778229B0FCD00EB8926 /* actor.cxx in Sources */ = {isa = PBXBuildFile; fileRef = CD49F777229B0FCD00EB8926 /* actor.cxx */; };
 		CD7E87A52295FCED00D877FE /* danmakuUITests.m in Sources */ = {isa = PBXBuildFile; fileRef = CD7E87A42295FCED00D877FE /* danmakuUITests.m */; };
 /* End PBXBuildFile section */
 
@@ -70,6 +77,13 @@
 		CD1C83292298A89E00825C4E /* danmaku.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = danmaku.app; sourceTree = BUILT_PRODUCTS_DIR; };
 		CD1C83422298A9F500825C4E /* MainMenu.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = MainMenu.xib; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
 		CD49F736229AFF2800EB8926 /* scripts */ = {isa = PBXFileReference; lastKnownFileType = folder; name = scripts; path = Resources/scripts; sourceTree = "<group>"; };
+		CD49F75E229B09F800EB8926 /* level.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = level.cxx; sourceTree = "<group>"; };
+		CD49F761229B0A0500EB8926 /* enemy.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = enemy.cxx; sourceTree = "<group>"; };
+		CD49F763229B0A2400EB8926 /* danmaku */ = {isa = PBXFileReference; lastKnownFileType = folder; name = danmaku; path = include/danmaku; sourceTree = "<group>"; };
+		CD49F766229B0A3000EB8926 /* player.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = player.cxx; sourceTree = "<group>"; };
+		CD49F769229B0A6C00EB8926 /* bullet.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = bullet.cxx; sourceTree = "<group>"; };
+		CD49F76C229B0A8000EB8926 /* bullet_pattern.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = bullet_pattern.cxx; sourceTree = "<group>"; };
+		CD49F777229B0FCD00EB8926 /* actor.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = actor.cxx; sourceTree = "<group>"; };
 		CD7E87862295FCEA00D877FE /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
 		CD7E87872295FCEA00D877FE /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
 		CD7E878D2295FCEA00D877FE /* GameView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GameView.h; sourceTree = "<group>"; };
@@ -108,6 +122,35 @@
 /* End PBXFrameworksBuildPhase section */
 
 /* Begin PBXGroup section */
+		CD49F756229B09E100EB8926 /* src */ = {
+			isa = PBXGroup;
+			children = (
+				CD49F75E229B09F800EB8926 /* level.cxx */,
+				CD49F781229B104900EB8926 /* entity */,
+				CD49F77F229B103200EB8926 /* pattern */,
+			);
+			path = src;
+			sourceTree = "<group>";
+		};
+		CD49F77F229B103200EB8926 /* pattern */ = {
+			isa = PBXGroup;
+			children = (
+				CD49F76C229B0A8000EB8926 /* bullet_pattern.cxx */,
+			);
+			path = pattern;
+			sourceTree = "<group>";
+		};
+		CD49F781229B104900EB8926 /* entity */ = {
+			isa = PBXGroup;
+			children = (
+				CD49F777229B0FCD00EB8926 /* actor.cxx */,
+				CD49F761229B0A0500EB8926 /* enemy.cxx */,
+				CD49F766229B0A3000EB8926 /* player.cxx */,
+				CD49F769229B0A6C00EB8926 /* bullet.cxx */,
+			);
+			path = entity;
+			sourceTree = "<group>";
+		};
 		CD7E877A2295FCEA00D877FE = {
 			isa = PBXGroup;
 			children = (
@@ -118,6 +161,8 @@
 				CD1C82E22298A46900825C4E /* data */,
 				CD49F736229AFF2800EB8926 /* scripts */,
 				CD7E87852295FCEA00D877FE /* danmaku */,
+				CD49F763229B0A2400EB8926 /* danmaku */,
+				CD49F756229B09E100EB8926 /* src */,
 				CD7E87A32295FCED00D877FE /* danmakuUITests */,
 				CD7E87842295FCEA00D877FE /* Products */,
 				CD7E87CE2295FFC500D877FE /* Frameworks */,
@@ -341,6 +386,7 @@
 			isa = PBXResourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
+				CD49F764229B0A2400EB8926 /* danmaku in Resources */,
 				CD1C833E2298A9D800825C4E /* Assets.xcassets in Resources */,
 				CD1C833D2298A9D600825C4E /* data in Resources */,
 				CD1C83432298A9F500825C4E /* MainMenu.xib in Resources */,
@@ -362,8 +408,14 @@
 			isa = PBXSourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
+				CD49F76D229B0A8000EB8926 /* bullet_pattern.cxx in Sources */,
 				CD1C833B2298A98200825C4E /* GameView.mm in Sources */,
+				CD49F778229B0FCD00EB8926 /* actor.cxx in Sources */,
 				CD1C833C2298A98700825C4E /* main.m in Sources */,
+				CD49F767229B0A3000EB8926 /* player.cxx in Sources */,
+				CD49F762229B0A0500EB8926 /* enemy.cxx in Sources */,
+				CD49F76A229B0A6C00EB8926 /* bullet.cxx in Sources */,
+				CD49F75F229B09F800EB8926 /* level.cxx in Sources */,
 				CD1C833A2298A97F00825C4E /* AppDelegate.m in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
@@ -474,6 +526,7 @@
 				USER_HEADER_SEARCH_PATHS = (
 					"$(PROJECT_DIR)/../game/include/expect/include",
 					"$(BUILT_PRODUCTS_DIR)/usr/local/include/",
+					"$(PROJECT_DIR)/include/",
 				);
 			};
 			name = Debug;
@@ -530,6 +583,7 @@
 				USER_HEADER_SEARCH_PATHS = (
 					"$(PROJECT_DIR)/../game/include/expect/include",
 					"$(BUILT_PRODUCTS_DIR)/usr/local/include/",
+					"$(PROJECT_DIR)/include/",
 				);
 			};
 			name = Release;

+ 1 - 0
external/resource_factory

@@ -0,0 +1 @@
+Subproject commit 1a2b2209461a0bb046e69b183e3ac491495fb1e4

+ 10 - 0
include/danmaku/actor.hpp

@@ -0,0 +1,10 @@
+//
+//  actor.hpp
+//  danmaku
+//
+//  Created by Sam Jaffe on 5/26/19.
+//  Copyright © 2019 Sam Jaffe. All rights reserved.
+//
+
+#pragma once
+

+ 10 - 0
include/danmaku/bullet.hpp

@@ -0,0 +1,10 @@
+//
+//  bullet.hpp
+//  danmaku
+//
+//  Created by Sam Jaffe on 5/26/19.
+//  Copyright © 2019 Sam Jaffe. All rights reserved.
+//
+
+#pragma once
+

+ 21 - 0
include/danmaku/bullet_pattern.hpp

@@ -0,0 +1,21 @@
+//
+//  bullet_pattern.hpp
+//  danmaku
+//
+//  Created by Sam Jaffe on 5/26/19.
+//  Copyright © 2019 Sam Jaffe. All rights reserved.
+//
+
+#pragma once
+
+#include <json/forwards.h>
+
+namespace danmaku {
+  class actor;
+  struct bullet_pattern {
+    static std::shared_ptr<bullet_pattern> get_pattern(actor * owner,
+                                                       Json::Value const &);
+    virtual ~bullet_pattern() = default;
+    virtual void update() = 0;
+  }
+}

+ 10 - 0
include/danmaku/enemy.hpp

@@ -0,0 +1,10 @@
+//
+//  enemy.hpp
+//  danmaku
+//
+//  Created by Sam Jaffe on 5/26/19.
+//  Copyright © 2019 Sam Jaffe. All rights reserved.
+//
+
+#pragma once
+

+ 10 - 0
include/danmaku/level.hpp

@@ -0,0 +1,10 @@
+//
+//  level.hpp
+//  danmaku
+//
+//  Created by Sam Jaffe on 5/26/19.
+//  Copyright © 2019 Sam Jaffe. All rights reserved.
+//
+
+#pragma once
+

+ 10 - 0
include/danmaku/player.hpp

@@ -0,0 +1,10 @@
+//
+//  player.hpp
+//  danmaku
+//
+//  Created by Sam Jaffe on 5/26/19.
+//  Copyright © 2019 Sam Jaffe. All rights reserved.
+//
+
+#pragma once
+

+ 9 - 0
src/entity/actor.cxx

@@ -0,0 +1,9 @@
+//
+//  actor.cxx
+//  danmaku
+//
+//  Created by Sam Jaffe on 5/26/19.
+//  Copyright © 2019 Sam Jaffe. All rights reserved.
+//
+
+#include "danmaku/actor.hpp"

+ 9 - 0
src/entity/bullet.cxx

@@ -0,0 +1,9 @@
+//
+//  bullet.cxx
+//  danmaku
+//
+//  Created by Sam Jaffe on 5/26/19.
+//  Copyright © 2019 Sam Jaffe. All rights reserved.
+//
+
+#include "danmaku/bullet.hpp"

+ 9 - 0
src/entity/enemy.cxx

@@ -0,0 +1,9 @@
+//
+//  enemy.cxx
+//  danmaku
+//
+//  Created by Sam Jaffe on 5/26/19.
+//  Copyright © 2019 Sam Jaffe. All rights reserved.
+//
+
+#include "danmaku/enemy.hpp"

+ 9 - 0
src/entity/player.cxx

@@ -0,0 +1,9 @@
+//
+//  player.cxx
+//  danmaku
+//
+//  Created by Sam Jaffe on 5/26/19.
+//  Copyright © 2019 Sam Jaffe. All rights reserved.
+//
+
+#include "danmaku/player.hpp"

+ 9 - 0
src/level.cxx

@@ -0,0 +1,9 @@
+//
+//  level.cxx
+//  danmaku
+//
+//  Created by Sam Jaffe on 5/26/19.
+//  Copyright © 2019 Sam Jaffe. All rights reserved.
+//
+
+#include "danmaku/level.hpp"

+ 9 - 0
src/pattern/bullet_pattern.cxx

@@ -0,0 +1,9 @@
+//
+//  bullet_pattern.cxx
+//  danmaku
+//
+//  Created by Sam Jaffe on 5/26/19.
+//  Copyright © 2019 Sam Jaffe. All rights reserved.
+//
+
+#include "danmaku/bullet_pattern.hpp"