Missing build instructions for Windows

Mar 5, 2016, 3:41 pm
#1
Joined: Jun 11, 2015
Location: Paris, France
Posts: 6
As I want to fix fullscreen issue on Windows,

I've tried to build Ivan with Visual Studio 2015 but it refuse to use them
I've also tried to use cygwin but met lot of issues with autoconf / automake

Can you give me tips to build Ivan for Windows ?
It should great to fill wiki (on github or here) with these instructions

Regards
Michael
Mar 5, 2016, 4:44 pm
#2
Joined: Sep 8, 2010
Occupation: Petty Functionary
Location: Drinking pea soup in the world map
Interests: Mangoes
Posts: 1,181
I use a modern distribution of MinGW 32-bit. I also store my SDL 2.0.4 distro inside the MinGW file system - which is really bad practice, so you will want to edit the makefile to point the SDL 2.0 in a separate folder.
If your IVAN code is in say
C:\ivan

You can use the following command:
C:\MinGW\bin\mingw32-make.exe -f C:\ivan\makefile.mak

On this makefile:
# Iter Vehemens ad Necem makefile for MinGW environment

# Copyrights (C) Timo Kiviluoto / IvanDev 2002-2004

CC       = g++ -o
FeLibDIR = C:\ivan\FeLib
FeLibGCH =
FeLibOBJ = $(FeLibDIR)/Source/bitmap.o $(FeLibDIR)/Source/config.o $(FeLibDIR)/Source/error.o $(FeLibDIR)/Source/feio.o $(FeLibDIR)/Source/felist.o $(FeLibDIR)/Source/femain.o $(FeLibDIR)/Source/femath.o $(FeLibDIR)/Source/festring.o $(FeLibDIR)/Source/fetime.o $(FeLibDIR)/Source/graphics.o $(FeLibDIR)/Source/hscore.o $(FeLibDIR)/Source/rawbit.o $(FeLibDIR)/Source/save.o $(FeLibDIR)/Source/whandler.o
SDL2DIR = C:\MinGW\include\SDL2
IVANDIR  = C:\ivan\Main
IVANBIN  = IVAN.exe
IVANGCH =
#IVANGCH = $(IVANDIR)/Include/action.h.gch $(IVANDIR)/Include/actions.h.gch $(IVANDIR)/Include/area.h.gch $(IVANDIR)/Include/bodypart.h.gch $(IVANDIR)/Include/char.h.gch $(IVANDIR)/Include/command.h.gch $(IVANDIR)/Include/cont.h.gch $(IVANDIR)/Include/database.h.gch $(IVANDIR)/Include/dungeon.h.gch $(IVANDIR)/Include/entity.h.gch $(IVANDIR)/Include/fluid.h.gch $(IVANDIR)/Include/game.h.gch $(IVANDIR)/Include/gear.h.gch $(IVANDIR)/Include/god.h.gch $(IVANDIR)/Include/gods.h.gch $(IVANDIR)/Include/human.h.gch $(IVANDIR)/Include/iconf.h.gch $(IVANDIR)/Include/id.h.gch $(IVANDIR)/Include/igraph.h.gch $(IVANDIR)/Include/iloops.h.gch $(IVANDIR)/Include/item.h.gch $(IVANDIR)/Include/level.h.gch $(IVANDIR)/Include/lsquare.h.gch $(IVANDIR)/Include/lterra.h.gch $(IVANDIR)/Include/lterras.h.gch $(IVANDIR)/Include/materia.h.gch $(IVANDIR)/Include/materias.h.gch $(IVANDIR)/Include/message.h.gch $(IVANDIR)/Include/miscitem.h.gch $(IVANDIR)/Include/nonhuman.h.gch $(IVANDIR)/Include/object.h.gch $(IVANDIR)/Include/pool.h.gch $(IVANDIR)/Include/proto.h.gch $(IVANDIR)/Include/rain.h.gch $(IVANDIR)/Include/room.h.gch $(IVANDIR)/Include/rooms.h.gch $(IVANDIR)/Include/script.h.gch $(IVANDIR)/Include/smoke.h.gch $(IVANDIR)/Include/square.h.gch $(IVANDIR)/Include/stack.h.gch $(IVANDIR)/Include/team.h.gch $(IVANDIR)/Include/terra.h.gch $(IVANDIR)/Include/trap.h.gch $(IVANDIR)/Include/traps.h.gch $(IVANDIR)/Include/worldmap.h.gch $(IVANDIR)/Include/wskill.h.gch $(IVANDIR)/Include/wterra.h.gch $(IVANDIR)/Include/wterras.h.gch
IVANOBJ  = $(IVANDIR)/Source/actset.o $(IVANDIR)/Source/areaset.o $(IVANDIR)/Source/charset.o $(IVANDIR)/Source/charsset.o $(IVANDIR)/Source/command.o $(IVANDIR)/Source/coreset.o $(IVANDIR)/Source/dataset.o $(IVANDIR)/Source/dungeon.o $(IVANDIR)/Source/game.o $(IVANDIR)/Source/godset.o $(IVANDIR)/Source/iconf.o $(IVANDIR)/Source/id.o $(IVANDIR)/Source/igraph.o $(IVANDIR)/Source/itemset.o $(IVANDIR)/Source/levelset.o $(IVANDIR)/Source/main.o $(IVANDIR)/Source/materset.o $(IVANDIR)/Source/message.o $(IVANDIR)/Source/object.o $(IVANDIR)/Source/roomset.o $(IVANDIR)/Source/script.o $(IVANDIR)/Source/slotset.o $(IVANDIR)/Source/trapset.o $(IVANDIR)/Source/wmapset.o $(IVANDIR)/Source/wskill.o
FLAGS = -DGCC -DUSE_SDL -DWIZARD -DWIN32 -IInclude -I$(SDL2DIR) -I$(FeLibDIR)/Include -O0 -std=c++11 -ffast-math -s -W -Wall -pedantic -mwindows
LIBS =  -lmingw32 -lSDL2main -lSDL2 -static-libgcc -static-libstdc++
#IVANRES = C:\ivan\Main\Resource\Ivan.res

all:	$(IVANBIN)

$(FeLibGCH) : %.h.gch : %.h
	@echo Compiling $@...
	@$(CC) $@ -c $< $(FLAGS)

$(FeLibOBJ) : %.o : %.cpp
	@echo Compiling $@...
	@$(CC) $@ -c $< $(FLAGS)

$(IVANGCH) : %.h.gch : %.h
	@echo Compiling $@...
	@$(CC) $@ -c $< $(FLAGS) -I$(IVANDIR)/Include

$(IVANOBJ) : %.o : %.cpp
	@echo Compiling $@...
	@$(CC) $@ -c $< $(FLAGS) -I$(IVANDIR)/Include

$(IVANBIN) : $(FeLibGCH) $(FeLibOBJ) $(IVANGCH) $(IVANOBJ)
	@echo Compiling $(IVANBIN)...
#	@$(CC) $(IVANBIN) $(FeLibOBJ) $(IVANOBJ) $(FLAGS) $(LIBS)
	@$(CC) $(IVANBIN) $(FeLibOBJ) $(IVANOBJ) $(FLAGS) $(LIBS) C:\ivan\Main\Resource\Ivan.res


To compile IVAN for windows.
Batman? wrote
its been so long since i had gotten that far i didnt think it through. arrrr!!!!!!
Mar 11, 2016, 1:52 am
#3
Joined: Sep 8, 2010
Occupation: Petty Functionary
Location: Drinking pea soup in the world map
Interests: Mangoes
Posts: 1,181
Let me know if this helped by the way.
Batman? wrote
its been so long since i had gotten that far i didnt think it through. arrrr!!!!!!
Jump to