another one IVAN fork

May 27, 2012, 9:27 am
#51
Joined: Sep 5, 2010
Posts: 103
ok, i did that.

first, you MUST get the latest git snapshot (i just updated build files)

then download this archive and unpack it in main k8I.V.A.N. directory.

read README.WINBUILD file and follow the instructions. if you'll manage to do everything right, you'll be able to build your own windows binary. %-)

feel free to ask me if something is not clear enough.

p.s. my jabber account is ketmar@ketmar.no-ip.org
May 27, 2012, 6:20 pm
#52
Joined: Sep 8, 2010
Occupation: Petty Functionary
Location: Drinking pea soup in the world map
Interests: Mangoes
Posts: 926
Ok this is great so far. I updated the k8-i-v-a-n on my system by pulling it from your repo, got the latest MinGW, I moved your compiled k8jam into the k8-i-v-a-n folder and proceeded the build attempt. But then I ran into another problem, when I typed 0build.bat into cmd I got a bevvy of errors that began with this:

C:k8-i-v-a-n>0build.bat
The JAM_TOOLSET environment variable is not defined, defaults to MINGW
Compiler is GCC with MinGW
MSG: 'standard' profile
MSG: windoze build
MSG: using local saves
MSG: sound support enabled
MSG: support for compressed saves turned on
...found 845 targets...
...updating 42 targets...
(  2%) C++ ._wbuildsrcfelibbitmap.o
mingw32-g++: error: CreateProcess: No such file or directory

c:mingwbinmingw32-g++ -c -o ._wbuildsrcfelibbitmap.o -O2 -march=native -m
tune=native -Wall  -static-libgcc -static-libstdc++ -g  -DWIZARD -DLOCAL_SAVES -
DUSE_ZLIB -Isrcfelib -I./src/felib -I./windoze/include -I./windoze/include/SDL
 srcfelibbitmap.cpp

...failed C++ ._wbuildsrcfelibbitmap.o ...
(  4%) C++ ._wbuildsrcfelibconfig.o
mingw32-g++: error: CreateProcess: No such file or directory

c:mingwbinmingw32-g++ -c -o ._wbuildsrcfelibconfig.o -O2 -march=native -m
tune=native -Wall  -static-libgcc -static-libstdc++ -g  -DWIZARD -DLOCAL_SAVES -
DUSE_ZLIB -Isrcfelib -I./src/felib -I./windoze/include -I./windoze/include/SDL
 srcfelibconfig.cpp

...failed C++ ._wbuildsrcfelibconfig.o ...
(  7%) C++ ._wbuildsrcfeliberror.o


continuing in the same fashion for all 42 targets, and finished up like so:

...failed C++ ._wbuildsrcgametrapset.o ...
( 92%) C++ ._wbuildsrcgamewmapset.o
mingw32-g++: error: CreateProcess: No such file or directory

c:mingwbinmingw32-g++ -c -o ._wbuildsrcgamewmapset.o -O2 -march=native -m
tune=native -Wall  -static-libgcc -static-libstdc++ -g  -DWIZARD -DLOCAL_SAVES -
DUSE_ZLIB -Isrcgame -I./src/felib -I./windoze/include -I./windoze/include/SDL
srcgamewmapset.cpp

...failed C++ ._wbuildsrcgamewmapset.o ...
( 95%) C++ ._wbuildsrcgamewskill.o
mingw32-g++: error: CreateProcess: No such file or directory

c:mingwbinmingw32-g++ -c -o ._wbuildsrcgamewskill.o -O2 -march=native -mt
une=native -Wall  -static-libgcc -static-libstdc++ -g  -DWIZARD -DLOCAL_SAVES -D
USE_ZLIB -Isrcgame -I./src/felib -I./windoze/include -I./windoze/include/SDL  s
rcgamewskill.cpp

...failed C++ ._wbuildsrcgamewskill.o ...
...skipped ivan.exe for lack of <src!game>actset.o...
...failed updating 40 targets...
...skipped 2 targets...

C:k8-i-v-a-n>

The folders ._wbuildsrcfelib etc are empty, so no object files were built. The path of MinGW is set to C:MINGWBIN (should this be C:MINGWBIN ? I tried both ways). Eternally sorry for perpetuating the evils of windoze.

P.S. There should be backslashes in between things like "c: mingw bin mingw32-g++" in the above code
May 27, 2012, 7:10 pm
#53
Joined: Sep 5, 2010
Posts: 103
either you have old mingw, or it's not installed in c:/mingw. they recently changed compiler names from just mingw-g++, etc to mingw32-g++ and so on. also don't try to use 64 bit mingw, it will not work at all.

as a workaround you can copy c:/mingw/bin/mingw-gcc.exe to c:/mingw/bin/mingw32-gcc.exe and c:/mingw/bin/mingw-g++.exe to c:/mingw/bin/mingw32-g++.exe, but you'd better reinstall mingw using the latest packages.

> Eternally sorry for perpetuating the evils of windoze
ah, don't mind it, windoze is just like genetrix versana: it spawns problems here and there, but it can be defeated. it's a question of a good weapons and wands. %-)

sorry for such troubles. k8jam wasn't really meant to support windows, so it's very fragile. and i have neither time nor SoHM to harden it. %-)
May 28, 2012, 8:07 am
#54
Joined: Sep 8, 2010
Occupation: Petty Functionary
Location: Drinking pea soup in the world map
Interests: Mangoes
Posts: 926
Grah, I re-installed MinGW to try to see if I could compile and managed to break the links to SDL libraries. This means I can't compile CLIVAN any longer (unless it rains really hard for the next few Sunday afternoons). So it's up to you old Vasiliy. I'd like to keep trying to compile your version on windows because your changes seem to be much more developed.
I'm pretty sure I have the latest MinGW... hmm.

Edit:

What version of windows are you compiling on in VirtualBox? And also, what version of LINUX are you using to build with?

and also I see you are updating your first post in this thread and that you have linked there a compiled version for windows. I'll try testing it out right away
May 28, 2012, 6:35 pm
#55
Joined: Sep 5, 2010
Posts: 103
windows: clean Windows XP SP3. just installed MinGW (and FAR Manager %-) with the official installer, that's all.
linux: heavily modified Slackware GNU/Linux with MinGW cross-compiler installed from here.

> I see you are updating your first post in this thread and that you have linked there a compiled version for windows.
yes, i'm making updates when i considered features as 'stable', so keep an eye on it.

i'll try to teach k8jam how to autodetect MinGW version and update first post with new 'windows building kit'.

edit: items now have AllowedDungeons and LevelTags too. fixed bugs with level tags. download new windows build now! %-)

edit1: i uploaded new windows building archive. take a look at the first post, download it and try again. 0built.bat now have some AI and tries to detect if you have good MinGW install.
May 29, 2012, 4:07 pm
#56
Joined: Sep 8, 2010
Occupation: Petty Functionary
Location: Drinking pea soup in the world map
Interests: Mangoes
Posts: 926
There must be a problem with my system, because when I try to build CLIVAN the old way it fails with the same error:
g++: error: CreateProcess: No such file or directory

I admit I'm running windows 7 64-bit and from what I gather on the internet, this is not optimal. I will try to compile later in the week with VirtualBox running WindowsXP SP3. Curse that 64-bit shit and the pure mass of bill's will.

In the meantime I'm curious to know if anyone else in the community is able to compile on windows?

P.S. how come the round-shaped room is blocked off in UT2? (see the screenshot) I had to dig my way in.

May 29, 2012, 7:14 pm
#57
Joined: Sep 5, 2010
Posts: 103
> how come the round-shaped room is blocked off in UT2?
it was a result of one «bugfix». %-) please, download new snapshot, i reverted this change immediately after discovering it. %-)

> g++: error: CreateProcess: No such file or directory
seems that it just can't find .exe file. maybe putting c:/mingw/bin to PATH will help. but i don't know much (if anything) about 64-bit windows. will look if i still have 64-bit w7 virtual machine somewhere.

btw. what new 0build.bat says?
May 30, 2012, 12:24 am
#58
Joined: Sep 5, 2010
Posts: 103
wow. another update. i completely rewrote 'g'o command. hero now correctly follows tunnel turns and can autostop near previously unseen (~untouched) doors! kneel and worship me!
May 30, 2012, 4:14 am
#59
Joined: Dec 3, 2007
Occupation: Chaos Weaver
Location: Standing between all life and death
Posts: 2,761
Holy shit. Nice one vasiliy.
May 30, 2012, 3:58 pm
#60
Joined: Sep 8, 2010
Occupation: Petty Functionary
Location: Drinking pea soup in the world map
Interests: Mangoes
Posts: 926
vasiliy wrote
> how come the round-shaped room is blocked off in UT2?
it was a result of one «bugfix». %-) please, download new snapshot, i reverted this change immediately after discovering it. %-)

> g++: error: CreateProcess: No such file or directory
seems that it just can't find .exe file. maybe putting c:/mingw/bin to PATH will help. but i don't know much (if anything) about 64-bit windows. will look if i still have 64-bit w7 virtual machine somewhere.

btw. what new 0build.bat says?

Great, I can access the round-shaped room, and also the cathedral too (that was previously blocked off for some reason). I modified the 0build.bat a few times and bugtested by putting echo on and putting a pause at the end to stop the command window from closing. Initially it would just exit, but then it said it couldn't find gcc, but I thought that couldn't be correct. I modified the AI so it could find the gcc and g++, so it would pass that tests and then run jam. I got the same errors as before after modifying the .bat. I conclude there must be something wrong with my system. I'll find a way around this sometime.

As 0build.bat I have: (once again backslashes won't appear)

@echo on

set MINGW_PATH=C:MINGWBIN

IF EXIST %MINGW_PATH%mingw-gcc.exe GOTO OLDMINGWGCC
IF NOT EXIST %MINGW_PATH%mingw32-gcc.exe GOTO FAILGPP
:CHECKCPP
IF EXIST %MINGW_PATH%mingw-g++.exe GOTO OLDMINGWGPP
IF NOT EXIST %MINGW_PATH%mingw32-g++.exe GOTO FAILGPP
:DOCOMPILE
PATH=%PATH%;%MINGW_PATH%
set MINGW=%MINGW_PATH%
jam %1 %2 %3 %4 %5 %6 %7 %8 %9
GOTO END

:OLDMINGWGCC
echo "old MinGW gcc found; consider upgrading"
set CC=mingw-gcc.exe
GOTO CHECKCPP

:OLDMINGWGPP
echo "old MinGW g++ found; consider upgrading"
set C++=mingw-gcc.exe
GOTO DOCOMPILE

:FAILGPP
echo "no mingw g++ compiler found!"
goto MINGWBAD

:FAILGCC
echo "no mingw gcc compiler found!"
goto MINGWBAD

:MINGWBAD
echo "check if you have latest MinGW compilers installed in C:MINGW"
pause
exit 1

:END

Also, the automated moving around corners is really great!
May 30, 2012, 4:20 pm
#61
Joined: Sep 8, 2010
Occupation: Petty Functionary
Location: Drinking pea soup in the world map
Interests: Mangoes
Posts: 926
double post: I like the way the smileys illustrate the code in the above post.
May 31, 2012, 9:19 pm
#62
Joined: Sep 5, 2010
Posts: 103
>Also, the automated moving around corners is really great!
tnx. i dreamt of it since the first time i played I.V.A.N. (something around 2003 or 2004). it's still not perfect, but i think it's way better then old stupid 'g'o. %-)

now for the building part. can you just run cmd.exe and type (i assume you installed mingw in c:/mingw, right?):

PATH=%PATH%;C:/MINGW/BIN
mingw32-g++.exe -v
(or mingw-g++.exe -v -- it depends of actual mingw version)

so we check if mingw can be run at all.

heh. i think that it's 64-bitness that blocks our efforts. i've never tested k8jam with 64-bit windows. i'll try to check it with 64-bit w7 on holidays.

(replace all slashes to backslashes, forum likes to eat backslashes -- maybe it want to fight with Sumo?)


>I like the way the smileys illustrate the code in the above post.
heh. me too.

p.s. i recomment to run 0build.bat from cmd.exe too, so you can see all it's output without efforts.

p.p.s. if you are using numpad to move around (like me), you can press 'insert' to pick up the item, num+ to enter equipment menu and 'del' to eat something.

ah, and just in case you miss that: there is an option to show detailed descriptions of single item on the floor. i think it's not ruining the game: you can see such descriptions when trying to pick up some item from the stack (in the menu), but can't see this info for single item without picking it up and then dropping. it's annoying.
Jun 2, 2012, 5:26 pm
#63
Joined: Sep 8, 2010
Occupation: Petty Functionary
Location: Drinking pea soup in the world map
Interests: Mangoes
Posts: 926
So this is the output from cmd (attached) when I checked the version of g++ on my system. Seems like it's in the right place.

Vasiliy, can you tell us about your intentions for your version of IVAN that you are working on? I know you have been rewoking the code to be more modular and accessible for future developments, and the new control features are great. The merger of many previous versions of IVAN fork is also very important and has been achieved brilliantly. Do you have a grand plan of changes you would like to personally implement in the near future?
Jun 3, 2012, 3:31 am
#64
Joined: Sep 5, 2010
Posts: 103
hm. it should work then. i really don't know why it refuses to build the code. %-(

>can you tell us about your intentions for your version of IVAN that you are working
>on?

there is none. %-)
initially i just wanted to have native linux version with some bugfixes and little UI improvements. then i added code from other forks -- just because i can. %-) now my fork is working good, and i just playing (i like to call that 'testing' though %-).

i'm not a designer (and actually lack any creativity), so i don't plan to add any content by myself. but i'm open to new ideas: if somebody wants to add something cool to I.V.A.N., i can add C++ supporting code for that. that's all.

so, i'm just waiting for someone who likes to add something new to I.V.A.N., but don't want (or can't) write C++ (just like i can't paint or design).

as you can see i can't even make a web-page for my fork, let alone new game content. %-)

p.s. your mingw is slightly outdated (i myself using gcc 4.7), but it should be able to compile everything. it's a mistery;
Jun 3, 2012, 1:37 pm
#65
Joined: Sep 5, 2010
Posts: 103
but if you are really interested, here is my TODO file. it's just a collection of ideas, not a real roadmap.
Jun 12, 2012, 3:30 pm
#66
Joined: Sep 8, 2010
Occupation: Petty Functionary
Location: Drinking pea soup in the world map
Interests: Mangoes
Posts: 926
Hey Vasiliy. I've got a little coding challenge for you. It goes like this:

In IVAN the Wand of Mirroring creates mirrored objects from the originals and puts everything in one pile, so you can't distinguish which are the mirrored and which are the real ones (actually you can, and it is written somewhere on this forum). But for all intents and purposes mirrored items are indistinguishable from the originals. This is fine if you want to use everything up in the short term. Say if you mirrored a whole pile of Scroll of Enchant Armor, you might end up reading them all in one go then that is fine.
SPOILER ALERT. Click here to see text.
but everyone knows that mirrored stuff disappears after a little while an annoying little fact

But say you want to read only the mirrored ones and keep the originals for if you find a scroll of charging to recharge the wand of mirroring... you run the risk of losing track of the originals in the pile of mirrored stuff. Which scroll sould you read and which not?

Basically the programming challenge is this: to make a way of visibly showing which items are mirrored in the player's stack, and maybe on the ground too.

For starters, if we look in Symbol.PCX, we can see at coordinates (16, 16) that there is a little blue M symbol in the top right-hand corner of the 16x16 square. It's only a guess, but I'd say the original Devs were going to implement this feature at some stage. I can't be certain, but I think it would be a handy feature to have anyway.

Maybe you'd like to have a crack at this, maybe not, but I think it's on the critical path for short term development. Let me know what you think.
Jun 12, 2012, 3:57 pm
#67
Joined: Sep 5, 2010
Posts: 103
i'm not sure if mirrored items should be clearly distinguishable (does this word even exist?) -- at least i think that we need some wis, for example, to see that mark. but i can do that as an option (oh, we have plenty of them already, why don't add another one?).

and i think that items can have 'mirror mark visibility conditions' -- like 'wis 666, str 999' for example.

i'll take a look at this. hope to give out a new build before Sunday.

tnx for your suggestion.
Jun 17, 2012, 9:32 am
#68
Joined: Sep 8, 2010
Occupation: Petty Functionary
Location: Drinking pea soup in the world map
Interests: Mangoes
Posts: 926
I found I could use the 'doUse' function with both arms disabled fighting a wolf in the gloomy caves. Seeing as it is a kind of dexterity action maybe the player should need at least one useable arm as a condition to perform this action.
Jun 18, 2012, 12:00 pm
#69
Ischaldirh's avatar
Ex-Tyrant of the IVANers


Joined: Dec 8, 2007
Occupation: Student
Location: California
Interests: (Astro)Physics, Exoplanets, Singing praise to Valpurus while smashing skulls with a bloody warhammer, Jogging
Posts: 2,704
Warheck, I've never had trouble distinguishing mirrored from non-mirrored items. I mean, they are indistinguishable from the originals, but they are in a separate stack (so mirror 5 SoEA, and you have two stacks of 5 SoEA). Reading only the second-listed stack ensures you don't use the originals and can mirror them again later. Mirroring (or cloning!) anything other than scrolls or yourself/monsters, seems like a waste of a wand to me, and scrolls can be safely used immediately anyways.

Don't get me wrong, I'm not trying to shoot down your suggestion (too much), just saying that that particular problem has never bothered me.
Jun 18, 2012, 3:30 pm
#70
Joined: Sep 8, 2010
Occupation: Petty Functionary
Location: Drinking pea soup in the world map
Interests: Mangoes
Posts: 926
That's true. It's definitely a non-urgent thing. There's probably better ways to spend precious programming time.
Jun 25, 2012, 1:44 pm
#71
Joined: Sep 5, 2010
Posts: 103
ah, stupid "real life" takes alot of time... i'm not disappeared again, just a little busy.
Aug 19, 2012, 7:16 pm
#72
Joined: Sep 5, 2010
Posts: 103
now. i claim that windoze support is over. no more k8ivan windows builds, no more hacks to support windoze. sorry you all. this will change when m$ will stop charging money for android phones.
Aug 19, 2012, 10:43 pm
#73
Joined: Dec 4, 2007
Occupation: Perfect Soldier
Location: Astragius Galaxy
Interests: Fiana, Peace, Melons
Posts: 1,053
I hate to burst your bubble but Android is Linux-based and has nothing at all to do with Microsoft. Microsoft has their own smartphone OS. If you're going to drop the Windows port because of retailers charging money for tablet phones that are not free to manufacture and use an open-source OS from Google (and not Microsoft), however, be my guest.

[edit]
It's been brought to my attention that you probably mean how Microsoft gets paid for Android phones due to a legal settlement. I am not going to get into a thing about capitalism and how much any of this actually matters, though.

I am pretty indifferent to whether or not I can play this fork, but that's an extremely childish reason to stop taking 30 minutes out of your time to compile a windows binary when practically no one on this forum uses linux.

So basically you just lost probably about 90% of your userbase or more.
Aug 20, 2012, 3:57 am
#74
Ischaldirh's avatar
Ex-Tyrant of the IVANers


Joined: Dec 8, 2007
Occupation: Student
Location: California
Interests: (Astro)Physics, Exoplanets, Singing praise to Valpurus while smashing skulls with a bloody warhammer, Jogging
Posts: 2,704
Sorry I'm confused. What does a google-made phone with a linux-based OS have to do with you no longer supporting your non-mobile Windows application?
Aug 20, 2012, 4:12 am
#75
Joined: Dec 4, 2007
Occupation: Perfect Soldier
Location: Astragius Galaxy
Interests: Fiana, Peace, Melons
Posts: 1,053
It's a boycott. Boycotts don't have to make sense. Or accomplish anything useful. They're statements by people that believe they can make an individual difference in a corporate world.
Jump to