Back to the Korax Forum Archives


Forum

Compiling the sources

Fri, 08 Jan 2010 22:21:39

AndiNo

Hi! This is my first time around here (maybe even the first time I was able to register, don't remember anymore). I downloaded a beta version of Korax Arena some years ago and found it interesting, however it crashed on me all the time. With the current 1.1 beta release my interest in Korax Arena was revived (mainly due to the new survival mode), but again the game still crashes nearly constantly. Except for some errors which are known already I think there are some more in survival mode which have to do with bots. Very often if one or more bots are dead and a new wave begins the game just hangs up. Seems to be more frequent with more (dead) bots. Anyway, as there are waaay to few releases for this game I downloaded the source and saw that there are some bugs fixed already. I had the hope that it helps me, so I wanted to compile the code myself with the newest version. However I could not find a VS project file (or anything like that) for the game code, only some batch files. To make a long story short, can you give me some hints on how to get the newest game code to compile and how to insert it into the current 1.1 beta? btw: Have you never wondered why such a long living project like yours has so few users on the forum? <!-- s:D --><img src="{SMILIES_PATH}/orc6.gif" alt=":D" title="Very Happy" /><!-- s:D --> I think you REALLY should update your forum software or make sure new users can register <!-- s:wink: --><img src="{SMILIES_PATH}/orc9.gif" alt=":wink:" title="Wink" /><!-- s:wink: --> And one last thing, if it wasn't apparent until now, I like your game <!-- s:) --><img src="{SMILIES_PATH}/orc2.gif" alt=":)" title="Smile" /><!-- s:) -->
Fri, 08 Jan 2010 23:36:24

Crimson Wizard

Korax Arena source code is not VS or similar project at all. It is written in VavoomC scripting language and represent only game logic. Results of its compilation are data files loaded by Vavoom engine, and obviously they cannot be used stand-alone. To compile this data, you should obtain VavoomC compiler; there's one availble on Vavoom engine website, but unfortunately it is not compatible with latest KA sources anymore (it's outdated). If you like to do everything yourself you may download Vavoom-engine source from SVN as well, open it in MSVS (yeah, that one is a real C++ project) and first compile the VavoomC compilator (subproject name is "vcc"). To make things simplier I uploaded a vcc.exe which should be compatible with latest KA source here: <!-- m --><a class="postlink" href="http://www.mediafire.com/file/imzjmrzy1zm/vcc.exe">http://www.mediafire.com/file/imzjmrzy1zm/vcc.exe</a><!-- m --> If I remember this correctly, compilation batch file in KA source supposes that vcc.exe lies in the same folder. Ofcourse, if you are competent enough, you may edit appropriate commands in batch file. It is also supposed that "common" packages are available. These are base of game logic that must be included in compilation process. You can extract them from Korax Arena's data: basev/common/basepak.pk3/progs/ You'll see either 3 files with "dat" extension or 3 subfolders there - engine, linespec and uibase. Either put them in a folder mentioned in batch file, or edit paths in batch. A result of compilation are 3 files with "dat" extension: cgame.dat, game.dat and linespec.dat. These should be put in Korax Arena's karena/basepak.pk3/progs/ package. Hope this information will help you. However, be prepared, for this may take some time to get used to...
Sun, 10 Jan 2010 15:59:03

AndiNo

Nice, it works <!-- s:) --><img src="{SMILIES_PATH}/orc2.gif" alt=":)" title="Smile" /><!-- s:) --> I adjusted the paths in the batch file and copied the named files. And I deleted everything which had to do with vlumpy, as I don't have it but don't need it, too. Maybe you could include these instructions in SVN as a readme to anyone who wants to compile the game himself, which I think is a good idea given theres often some time between releases. Thanks for your help! <!-- s:) --><img src="{SMILIES_PATH}/orc2.gif" alt=":)" title="Smile" /><!-- s:) --> Now I have to test if the game crashes less often with bots... One thing I found is that sometimes in survival the next wave doesn't start even if there are no more monsters left.
Sun, 10 Jan 2010 20:44:09

Crimson Wizard

[quote="AndiNo":2gs0jj90] Now I have to test if the game crashes less often with bots... One thing I found is that sometimes in survival the next wave doesn't start even if there are no more monsters left. We cannot do anything with this unless you provide more information about these errors. I don't remember having much troubles with bots or survival in the last version. This thread may help: <!-- m --><a class="postlink" href="http://www.vavoom-engine.com/forums/viewtopic.php?f=1&t=1281">http://www.vavoom-engine.com/forums/vie ... f=1&t=1281</a><!-- m -->
Mon, 11 Jan 2010 18:26:05

AndiNo

Well, after playing one wave it crashed again... I think it has to do with the bots flying through the air and camping on the spawn points and getting fragged when the new wave starts while at the same time being revived or something like this. Anyhow the errorlog seems pretty similar to bug number 7 in "karena\progs\bugs.txt". Do you think I should open a new thread for this or is it the same bug? (info: the game doesn't throw a error message, it just freezes and the sound keeps looping) [spoiler:1u0enf8a]
Log: <-------------------------------->
Log: 1 monsters left!
Log: <-------------------------------->
Dev: GameSurvival::HandleEvent : 153
Dev: GameSurvival::NotifyACS : Event = 153
Dev: GameSurvival::HandleEvent : 153
Dev: GameSurvival::NotifyACS : Event = 153
Dev: GameSurvival::EndCurrentState : from 2 to 1
Log: Metuon found himself at Alcas's arrival point
- (linespec.EntityEx.RemoveInventory)
- VObject::ExecuteFunction
- (linespec.Weapon.Destroyed)
- VEntity::DestroyThinker
- VObject::ExecuteFunction
- (linespec.EntityEx.Touch)
- VEntity::CheckRelPosition
- VEntity::TryMove
- VObject::ExecuteFunction
- (linespec.EntityEx.Tick)
- VThinker::Tick
- VLevel::TickWorld
- SV_Ticker
- ServerFrame
- Host_Frame
Log: Doing C_Shutdown
Log: Doing CL_Shutdown
Log: andino left the game

Log: Yohan leads!
[/spoiler:1u0enf8a] edit: just got another one. For now I'll just stack them here. If I should open a new thread for each bug or all together then please say so. This one happened shortly after starting on wave 50 with 7 bots. And this time I got an error message popup with "segmentation fault". Here's the log: [spoiler:1u0enf8a]
Dev: GameSurvival::HandleEvent : 153
Dev: GameSurvival::NotifyACS : Event = 153
Dev: GameSurvival::HandleEvent : 153
Dev: GameSurvival::NotifyACS : Event = 153
Dev: GameSurvival::HandleEvent : 153
Dev: GameSurvival::NotifyACS : Event = 153
Log: <-------------------------------->
Log: No mana
Log: <-------------------------------->
- (linespec.EntityEx.Damage)
- VObject::ExecuteFunction
- (linespec.EntityEx.Touch)
- VEntity::CheckRelPosition
- VEntity::TryMove
- VObject::ExecuteFunction
- (linespec.EntityEx.Tick)
- VThinker::Tick
- VLevel::TickWorld
- SV_Ticker
- ServerFrame
- Host_Frame
Log: Doing C_Shutdown
Log: Doing CL_Shutdown
Log: andino left the game

Log: Doing SV_Shutdown
Log: Doing delete GNet
Log: Doing delete GInput
Log: Doing V_Shutdown
Log: Doing delete GAudio
Log: Doing T_Shutdown
Log: Doing Sys_Shutdown
Log: Doing delete GSoundManager
Log: Doing R_ShutdownTexture
Log: Doing R_ShutdownData
Log: Doing VCommand::Shutdown
Log: Doing VCvar::Shutdown
Log: Doing ShutdownMapInfo
Log: Doing FL_Shutdown
Log: Doing W_Shutdown
Log: Doing GLanguage.FreeData
Log: Doing ShutdownDecorate
Log: Doing VObject::StaticExit
Log: Doing VName::StaticExit
Uninitialised: Doing Z_Shutdown


ERROR: Reference not set to an instance of an object
[/spoiler:1u0enf8a] edit2: This one seems similar to bug #6 in bugs.txt... Playing Agio with 7 bots on wave 1. This happened when the last monster was killed. [spoiler:1u0enf8a]
Dev: GameSurvival::HandleEvent : 153
Dev: GameSurvival::NotifyACS : Event = 153
Dev: GameSurvival::HandleEvent : 153
Dev: GameSurvival::NotifyACS : Event = 153
Log: DISC OF REPULSION
Dev: GameSurvival::EndCurrentState : from 2 to 1
- (linespec.EntityEx.RemoveInventory)
- VObject::ExecuteFunction
- (linespec.Weapon.Destroyed)
- VEntity::DestroyThinker
- VObject::ExecuteFunction
- (game.WeaponMageStaff.A_KArenaStaffAttackPL1)
- VBasePlayer::SetViewState
- VObject::ExecuteFunction
- (game.Player.PlayerTick)
- SV_RunClients
- SV_Ticker
- ServerFrame
- Host_Frame
Log: Doing C_Shutdown
Log: Doing CL_Shutdown
Log: andino left the game

Log: Vorkul leads!
- VObject::ExecuteFunction
- (linespec.Weapon.Destroyed)
- VEntity::DestroyThinker
- VObject::ExecuteFunction
- (linespec.Actor.Destroyed)
- VEntity::DestroyThinker
- VObject::ExecuteFunction
- (game.Player.DisconnectClient)
- SV_DropClient
- SV_ShutdownGame
- CL_Shutdown
Log: CL_Shutdown failed
Log: Doing SV_Shutdown
- VObject::ExecuteFunction
- (linespec.Weapon.Destroyed)
- VEntity::DestroyThinker
- VObject::ExecuteFunction
- (linespec.Actor.Destroyed)
- VEntity::DestroyThinker
- VObject::ExecuteFunction
- (game.Player.DisconnectClient)
- SV_DropClient
- SV_ShutdownGame
- SV_Shutdown
Log: SV_Shutdown failed
Log: Doing delete GNet
Log: Doing delete GInput
Log: Doing V_Shutdown
Log: Doing delete GAudio
Log: Doing T_Shutdown
Log: Doing Sys_Shutdown
Log: Doing delete GSoundManager
Log: Doing R_ShutdownTexture
Log: Doing R_ShutdownData
Log: Doing VCommand::Shutdown
Log: Doing VCvar::Shutdown
Log: Doing ShutdownMapInfo
Log: Doing FL_Shutdown
Log: Doing W_Shutdown
Log: Doing GLanguage.FreeData
Log: Doing ShutdownDecorate
Log: Doing VObject::StaticExit
[/spoiler:1u0enf8a]
Thu, 14 Jan 2010 00:06:32

AndiNo

I disabled vertical auto-aiming as it was very annoying when trying to shoot enemies from a long distance (like in the evil-xmas-map). I did this by hacking the file common\linespec\EntityEx.LineAttack.vc, there at the start of AimLineAttack I inserted
distance = 0.0;
I think you should make an additional option in the menu for disabling autoaim. This should be as easy as creating a new CVAR and I guess that's as hard as creating a new variable <!-- s;) --><img src="{SMILIES_PATH}/orc9.gif" alt=";)" title="Wink" /><!-- s;) --> @Crimson or anyone related to coding Please help me to find and eliminate the bug with
(linespec.EntityEx.RemoveInventory)
The game crashes at the end of EVERY wave if a bot is dead at wave end. It's not funny <!-- sorcnon --><img src="{SMILIES_PATH}/orcnon.gif" alt="orcnon" title="orcnon" /><!-- sorcnon --> Up to now I have not been able to play more than 3 waves with bots due to crashing. And while you're at it, please disable flying for bots. They get really confused and fly above the enemies without being able to do anything. If you just tell me what to change I'd take that too, as compiling is very easy now <!-- s:) --><img src="{SMILIES_PATH}/orc2.gif" alt=":)" title="Smile" /><!-- s:) -->
Thu, 14 Jan 2010 02:08:05

Crimson Wizard

[quote="AndiNo":1jgzfm3b]I disabled vertical auto-aiming as it was very annoying when trying to shoot enemies from a long distance (like in the evil-xmas-map). I did this by hacking the file common\linespec\EntityEx.LineAttack.vc, there at the start of AimLineAttack I inserted
distance = 0.0;
I think you should make an additional option in the menu for disabling autoaim. This should be as easy as creating a new CVAR and I guess that's as hard as creating a new variable <!-- s;) --><img src="{SMILIES_PATH}/orc9.gif" alt=";)" title="Wink" /><!-- s;) --> I already did this once for other guy's mod. Don't remember if I did same way. Anyway, this is possible. [quote="AndiNo":1jgzfm3b] @Crimson or anyone related to coding Please help me to find and eliminate the bug with
(linespec.EntityEx.RemoveInventory)
The game crashes at the end of EVERY wave if a bot is dead at wave end. It's not funny <!-- sorcnon --><img src="{SMILIES_PATH}/orcnon.gif" alt="orcnon" title="orcnon" /><!-- sorcnon --> Up to now I have not been able to play more than 3 waves with bots due to crashing. That's really strange. I hadn't much free time lately, but okay, I'll try to do this in nearest future. [quote="AndiNo":1jgzfm3b] And while you're at it, please disable flying for bots. They get really confused and fly above the enemies without being able to do anything. They should not fly. It seem to be a bug. I met it couple of times before, and once human player gained flying for some reason. We did not find the source of this problem yet. [quote="AndiNo":1jgzfm3b] If you just tell me what to change I'd take that too, as compiling is very easy now <!-- s:) --><img src="{SMILIES_PATH}/orc2.gif" alt=":)" title="Smile" /><!-- s:) --> Well, if I fix anything, I update SVN, so you will be able to download newset version from there. Oh, and can you please post bugs in separate thread, like "KA 1.1 bugs". Here it is a bit offtopic already.
Thu, 14 Jan 2010 12:20:57

AndiNo

[quote="Crimson Wizard":x82qo5sg]I met it couple of times before, and once human player gained flying for some reason. We did not find the source of this problem yet.Does that mean the player isn't supposed to fly? I start flying quite often but never found the reason for it. I always thought it was supposed to be that way. However while looking through the code I couldn't find the string "You got a pickup" which is displayed when getting the flight ability. I will also try to find a solution for my crash when I have some time, as this is a real showstopper when playing with bots (which I always do). However I don't have any experience with Vavoom so this won't be easy. I will be thankful if you can fix it <!-- s:) --><img src="{SMILIES_PATH}/orc2.gif" alt=":)" title="Smile" /><!-- s:) -->
Thu, 14 Jan 2010 13:35:41

Crimson Wizard

[quote="AndiNo":2ta2op19]Does that mean the player isn't supposed to fly? I start flying quite often but never found the reason for it. I always thought it was supposed to be that way. However while looking through the code I couldn't find the string "You got a pickup" which is displayed when getting the flight ability. Ha! Nice catch. Now I have a clue <!-- s;) --><img src="{SMILIES_PATH}/orc9.gif" alt=";)" title="Wink" /><!-- s;) --> I could reproduce this by occasion. It looks like there's an invisible flying powerup appearing on level. Maybe some monster drops it. And, well, there IS such string, it is a default message for picked up inventory items. EDIT: Okay, I think I just found what it is. Need some more time for extra tests to be completely sure. EDIT2: Okay, this one fixed <!-- s:) --><img src="{SMILIES_PATH}/orc2.gif" alt=":)" title="Smile" /><!-- s:) -->. Ha, what a silly mistake indeed.
Thu, 14 Jan 2010 17:43:48

Firebrand

It's good to see some nice bug reporting and fixing already <!-- s;) --><img src="{SMILIES_PATH}/orc9.gif" alt=";)" title="Wink" /><!-- s;) -->. Thanks for the comments AndiNo.
Thu, 14 Jan 2010 18:47:43

AndiNo

[quote="Crimson Wizard":3jwkfhex]Okay, this one fixed <!-- s:) --><img src="{SMILIES_PATH}/orc2.gif" alt=":)" title="Smile" /><!-- s:) -->. Ha, what a silly mistake indeed.Please share some insight with us <!-- s:D --><img src="{SMILIES_PATH}/orc6.gif" alt=":D" title="Very Happy" /><!-- s:D --> @Firebrand I like helping games like yours. There are not many developers out there today who still want to work with old games... I probably won't be able to do anything that Crimson isn't able to do, but if I find anything valuable I'll share it with you. Oh and btw, thanks for the survival mode, it rocks <!-- s:-D --><img src="{SMILIES_PATH}/orc6.gif" alt=":-D" title="Very Happy" /><!-- s:-D --> While thinking about it, maybe you should balance the weapons (at least the fighters) a bit more. I nearly ONLY use the fourth weapon (in survival), as all other weapons suck but this one causes mass destruction <!-- s;) --><img src="{SMILIES_PATH}/orc9.gif" alt=";)" title="Wink" /><!-- s;) -->
Thu, 14 Jan 2010 19:08:02

Crimson Wizard

[quote="AndiNo":1sb61ydy][quote="Crimson Wizard":1sb61ydy]Okay, this one fixed <!-- s:) --><img src="{SMILIES_PATH}/orc2.gif" alt=":)" title="Smile" /><!-- s:) -->. Ha, what a silly mistake indeed.Please share some insight with us <!-- s:D --><img src="{SMILIES_PATH}/orc6.gif" alt=":D" title="Very Happy" /><!-- s:D --> SVN sources are updated (a single line fixed), so you can check difference. Basically I used wrong way to attach spectator's flight power to spectating player (When player is killed in Survival he becomes spectator). He got the power, but the same time it stayed on one place available for pickup by other players. [quote="AndiNo":1sb61ydy] While thinking about it, maybe you should balance the weapons (at least the fighters) a bit more. I nearly ONLY use the fourth weapon (in survival), as all other weapons suck but this one causes mass destruction <!-- s;) --><img src="{SMILIES_PATH}/orc9.gif" alt=";)" title="Wink" /><!-- s;) --> Exactly something we discuss every now and then. Balancing weapons was always a pain in the... well you know. We will look into this more in a while.
Thu, 14 Jan 2010 20:24:22

AndiNo

Really nice. Tested, no more "pickups" until now. And you know what... <!-- s:-D --><img src="{SMILIES_PATH}/orc6.gif" alt=":-D" title="Very Happy" /><!-- s:-D --> This bugfix fixed the crashing for me, too! Obviously removing the item from the spectator on revival crashed the game because someone else had picked it up... or something like that. Now I could play through 6 waves in one go for the first time <!-- s:-D --><img src="{SMILIES_PATH}/orc6.gif" alt=":-D" title="Very Happy" /><!-- s:-D --> Maybe I'm going to play a bit with the weapon damage values if I find them... Until then, keep going with this mod! <!-- s:) --><img src="{SMILIES_PATH}/orc2.gif" alt=":)" title="Smile" /><!-- s:) -->
Sat, 16 Jan 2010 14:32:07

AndiNo

I've got a question somewhat back on topic <!-- s:) --><img src="{SMILIES_PATH}/orc2.gif" alt=":)" title="Smile" /><!-- s:) --> I tried to disable autoaiming like this:
final EntityEx AimLineAttack(out TVec OutDir, TAVec angles, float distance)
{
	if ( bIsBot == false && ReadyWeapon.bBotMelee == false ) {
		distance = 0.0;
	}
...
And it works, but the conditions seem to be always true. What I wanted to do is keep the aiming for bots and for melee weapons. I'm not sure about the "execution context" here, like if I can access ReadyWeapon like that. Please give me some hints.
Sat, 16 Jan 2010 15:30:51

Crimson Wizard

I disabled autoaim different way. Here I explained how: <!-- m --><a class="postlink" href="http://vavoom-engine.com/forums/viewtopic.php?f=2&t=3200">http://vavoom-engine.com/forums/viewtop ... f=2&t=3200</a><!-- m -->
Sat, 16 Jan 2010 15:40:34

AndiNo

I saw this thread before, but like then I do not understand how to use the information there. How does this new variable help me with distinction of bots and human players or melee and ranged weapons? Please explain it a bit more...
Sat, 16 Jan 2010 16:05:56

Crimson Wizard

[quote="AndiNo":l982j3tz]How does this new variable help me with distinction of bots and human players or melee and ranged weapons? It does not. You should not care about these. Bots aim on their own, by the way. The "variable" there (NEWPARAM) is a maximal vertical angle from the direction of your aim, where auto-adjustment is allowed. Originally, as you may see, it is 30 degrees. This means that autoaiming occurs if target is 30 degrees upper or lower than your crosshair. To disable autoaim simply set 0 degrees. Formally:
topangle = AngleMod180(-angles.pitch + 0.0);
botangle = AngleMod180(-angles.pitch - 0.0);
Or simply like
topangle = AngleMod180(-angles.pitch);
botangle = AngleMod180(-angles.pitch);
This was already tested in Doom-based mode, and both shooting and melee weapons work nice.
Sun, 17 Jan 2010 00:43:24

AndiNo

Ahh I got it now <!-- s;) --><img src="{SMILIES_PATH}/orc9.gif" alt=";)" title="Wink" /><!-- s;) --> I changed it and it works like a charm. It's probably much better this way, too! Are you going to integrate this as an option into the game?
Sun, 17 Jan 2010 03:32:09

Firebrand

Most probably we are going to do it <!-- s;) --><img src="{SMILIES_PATH}/orc9.gif" alt=";)" title="Wink" /><!-- s;) -->.

Back to the Korax Forum Archives