prefab changes
This commit is contained in:
parent
6197e3be8e
commit
6353bd7ce3
9
Makefile
9
Makefile
@ -20,8 +20,8 @@ all: build test
|
|||||||
|
|
||||||
build: distclean build.deps build.game
|
build: distclean build.deps build.game
|
||||||
|
|
||||||
# build.game: build.game.linux64 build.game.win64 build.game.mac
|
build.game: build.game.linux64 build.game.win64 build.game.mac
|
||||||
build.game: build.game.linux64 build.game.win64
|
# build.game: build.game.linux64 build.game.win64
|
||||||
|
|
||||||
build.deps:
|
build.deps:
|
||||||
GIT_SSL_NO_VERIFY=true $(GO) mod vendor
|
GIT_SSL_NO_VERIFY=true $(GO) mod vendor
|
||||||
@ -45,11 +45,14 @@ build.game.win64:
|
|||||||
/usr/bin/x86_64-w64-mingw32-strip $(DISTFOLDER)/game.exe && \
|
/usr/bin/x86_64-w64-mingw32-strip $(DISTFOLDER)/game.exe && \
|
||||||
cd $(DISTFOLDER) && zip -r ../$(PROJECT_NAME)-$(OS)-${PKG_VER}.zip . -x *.git*
|
cd $(DISTFOLDER) && zip -r ../$(PROJECT_NAME)-$(OS)-${PKG_VER}.zip . -x *.git*
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# OSXCROSS_NO_INCLUDE_PATH_WARNINGS=1 MACOSX_DEPLOYMENT_TARGET=10.6 CC=o64-clang CXX=o64-clang++ GOOS=darwin GOARCH=amd64 CGO_ENABLED=1 $(GO) build -ldflags $(LDFLAGS) -o $(DISTFOLDER)/game $(CWD)/cmd/game/main.go &&
|
||||||
build.game.mac:
|
build.game.mac:
|
||||||
cp $(CWD)/lib/mac/libBearLibTerminal.dylib $(DISTFOLDER) && \
|
cp $(CWD)/lib/mac/libBearLibTerminal.dylib $(DISTFOLDER) && \
|
||||||
cp $(CWD)/config.json $(DISTFOLDER) && \
|
cp $(CWD)/config.json $(DISTFOLDER) && \
|
||||||
cp -r $(CWD)/assets $(DISTFOLDER) && \
|
cp -r $(CWD)/assets $(DISTFOLDER) && \
|
||||||
OSXCROSS_NO_INCLUDE_PATH_WARNINGS=1 MACOSX_DEPLOYMENT_TARGET=10.6 CC=o64-clang CXX=o64-clang++ GOOS=darwin GOARCH=amd64 CGO_ENABLED=1 $(GO) build -ldflags $(LDFLAGS) -o $(DISTFOLDER)/game $(CWD)/cmd/game/main.go && \
|
OSXCROSS_NO_INCLUDE_PATH_WARNINGS=1 MACOSX_DEPLOYMENT_TARGET=10.6 CC=clang CXX=clang++ GOOS=darwin GOARCH=amd64 CGO_ENABLED=1 $(GO) build -ldflags $(LDFLAGS) -o $(DISTFOLDER)/game $(CWD)/cmd/game/main.go && \
|
||||||
strip $(DISTFOLDER)/game.exe && \
|
strip $(DISTFOLDER)/game.exe && \
|
||||||
cd $(DISTFOLDER) && zip -r ../$(PROJECT_NAME)-$(OS)-${PKG_VER}.zip . -x *.git*
|
cd $(DISTFOLDER) && zip -r ../$(PROJECT_NAME)-$(OS)-${PKG_VER}.zip . -x *.git*
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"version": "v0.0.1.5-1-gbecf7ea",
|
"version": "v0.0.1.6",
|
||||||
"title": "Alchemyst",
|
"title": "Alchemyst",
|
||||||
"sizeX": 100,
|
"sizeX": 100,
|
||||||
"sizeY": 47,
|
"sizeY": 47,
|
||||||
|
@ -30,7 +30,7 @@ type PrefabRecord struct {
|
|||||||
|
|
||||||
func LoadPrefabFile(filename string) (*PrefabFile, error) {
|
func LoadPrefabFile(filename string) (*PrefabFile, error) {
|
||||||
data, err := ioutil.ReadFile(filename)
|
data, err := ioutil.ReadFile(filename)
|
||||||
if err!= nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
instance := &PrefabFile{}
|
instance := &PrefabFile{}
|
||||||
@ -53,7 +53,7 @@ func (pfbl PrefabLoader) PrefabRoomsList() []Room {
|
|||||||
|
|
||||||
rooms := make([]Room, 0)
|
rooms := make([]Room, 0)
|
||||||
file, err := LoadPrefabFile("./assets/prefabs/test.json")
|
file, err := LoadPrefabFile("./assets/prefabs/test.json")
|
||||||
if err !=nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -63,23 +63,23 @@ func (pfbl PrefabLoader) PrefabRoomsList() []Room {
|
|||||||
currentMobsLegend := file.DefaultMobsLegend
|
currentMobsLegend := file.DefaultMobsLegend
|
||||||
currentItemLegend := file.DefaultItemLegend
|
currentItemLegend := file.DefaultItemLegend
|
||||||
|
|
||||||
for k,v := range rawPrefab.TileLegend {
|
for k, v := range rawPrefab.TileLegend {
|
||||||
currentTileLegend[k] = v
|
currentTileLegend[k] = v
|
||||||
}
|
}
|
||||||
for k,v := range rawPrefab.MobsLegend {
|
for k, v := range rawPrefab.MobsLegend {
|
||||||
currentMobsLegend[k] = v
|
currentMobsLegend[k] = v
|
||||||
}
|
}
|
||||||
for k,v := range rawPrefab.ItemLegend {
|
for k, v := range rawPrefab.ItemLegend {
|
||||||
currentItemLegend[k] = v
|
currentItemLegend[k] = v
|
||||||
}
|
}
|
||||||
|
|
||||||
room := Room{
|
room := Room{
|
||||||
Rect:types.Rect{0, 0, rawPrefab.Size.X, rawPrefab.Size.Y},
|
Rect: types.Rect{0, 0, rawPrefab.Size.X, rawPrefab.Size.Y},
|
||||||
Center: types.Coords{rawPrefab.Size.X / 2, rawPrefab.Size.Y / 2}, //fixme
|
Center: types.Coords{rawPrefab.Size.X / 2, rawPrefab.Size.Y / 2}, //fixme
|
||||||
Geometry: make([]func()*Tile, rawPrefab.Size.X*rawPrefab.Size.Y),
|
Geometry: make([]func() *Tile, rawPrefab.Size.X*rawPrefab.Size.Y),
|
||||||
Mobs: make([]mob.Mob, rawPrefab.Size.X*rawPrefab.Size.Y),
|
Mobs: make([]mob.Mob, rawPrefab.Size.X*rawPrefab.Size.Y),
|
||||||
Items: make([]items.Carried, rawPrefab.Size.X*rawPrefab.Size.Y),
|
Items: make([]items.Carried, rawPrefab.Size.X*rawPrefab.Size.Y),
|
||||||
Connectors: make([]types.Coords, 0),
|
Connectors: make([]types.Coords, 0),
|
||||||
}
|
}
|
||||||
//make geometry
|
//make geometry
|
||||||
var f func() *Tile
|
var f func() *Tile
|
||||||
@ -89,7 +89,7 @@ func (pfbl PrefabLoader) PrefabRoomsList() []Room {
|
|||||||
if len(str) != room.W {
|
if len(str) != room.W {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
for i:=0; i < room.W; i++ {
|
for i := 0; i < room.W; i++ {
|
||||||
ok := false
|
ok := false
|
||||||
shortName := currentTileLegend[string(str[i])]
|
shortName := currentTileLegend[string(str[i])]
|
||||||
if shortName == "" {
|
if shortName == "" {
|
||||||
@ -100,14 +100,15 @@ func (pfbl PrefabLoader) PrefabRoomsList() []Room {
|
|||||||
}
|
}
|
||||||
if shortName == "connector" {
|
if shortName == "connector" {
|
||||||
f = NewFloor
|
f = NewFloor
|
||||||
room.Connectors = append(room.Connectors, types.Coords{i,j})
|
room.Connectors = append(room.Connectors, types.Coords{i, j})
|
||||||
} else {
|
} else {
|
||||||
f, ok = TileTypeMap[shortName]
|
f, ok = TileTypeMap[shortName]
|
||||||
|
|
||||||
|
if (!ok) {
|
||||||
|
pfbl.ctx.Logger().Warn().Msgf("Unknown tile: %s", shortName)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (!ok) {
|
room.Geometry[i+j*room.W] = f
|
||||||
pfbl.ctx.Logger().Warn().Msgf("Unknown tile: %s", shortName)
|
|
||||||
}
|
|
||||||
room.Geometry[i+ j*room.W] = f
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//add room to list
|
//add room to list
|
||||||
@ -116,10 +117,10 @@ func (pfbl PrefabLoader) PrefabRoomsList() []Room {
|
|||||||
return rooms
|
return rooms
|
||||||
}
|
}
|
||||||
|
|
||||||
var TileTypeMap = map[string]func()*Tile{
|
var TileTypeMap = map[string]func() *Tile{
|
||||||
"wall": NewWall,
|
"wall": NewWall,
|
||||||
"floor": NewFloor,
|
"floor": NewFloor,
|
||||||
"decorated_wall": NewDecoratedWall,
|
"decorated_wall": NewDecoratedWall,
|
||||||
"water": NewWaterTile,
|
"water": NewWaterTile,
|
||||||
"deep_water": NewDeepWaterTile,
|
"deep_water": NewDeepWaterTile,
|
||||||
}
|
}
|
||||||
|
2
go.mod
2
go.mod
@ -4,7 +4,7 @@ go 1.12
|
|||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/gammazero/deque v0.0.0-20190521012701-46e4ffb7a622
|
github.com/gammazero/deque v0.0.0-20190521012701-46e4ffb7a622
|
||||||
github.com/jinzhu/copier v0.0.0-20190924061706-b57f9002281a
|
github.com/jinzhu/copier v0.0.0-20190924061706-b57f9002281a // indirect
|
||||||
github.com/rs/zerolog v1.15.0
|
github.com/rs/zerolog v1.15.0
|
||||||
lab.zaar.be/thefish/bearlibterminal v0.0.0-20191018101635-dd37bbc90d77
|
lab.zaar.be/thefish/bearlibterminal v0.0.0-20191018101635-dd37bbc90d77
|
||||||
)
|
)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user