Author Topic: OXCE (OpenXcom Extended) main thread  (Read 307657 times)

Offline Xilmi

  • Colonel
  • ****
  • Posts: 168
    • View Profile
    • Email
Re: OXCE (OpenXcom Extended) main thread
« Reply #1245 on: December 27, 2022, 10:03:10 pm »
I just merged with the OXCE 7.8.5 commit from 4 days ago and now my game keeps crashing either when loading the battle-scape or when doing something in the battle-scape.
The weird thing is that the call-stack refers to something different all the time.
I wanted to try whether that also happens with the official OXCE 7.8.5 or only on my locally compiled build but I don't know where to download it. The official download-links only seem to have 7.8.0


Online Meridian

  • Global Moderator
  • Commander
  • ***
  • Posts: 7798
    • View Profile
Re: OXCE (OpenXcom Extended) main thread
« Reply #1246 on: December 28, 2022, 01:54:07 am »
I just merged with the OXCE 7.8.5 commit from 4 days ago and now my game keeps crashing either when loading the battle-scape or when doing something in the battle-scape.
The weird thing is that the call-stack refers to something different all the time.
I wanted to try whether that also happens with the official OXCE 7.8.5 or only on my locally compiled build but I don't know where to download it. The official download-links only seem to have 7.8.0

Nightly builds are here: https://lxnt.wtf/oxem/#/Extended

Direct link to 7.8.5: https://lxnt.wtf/oxem/builds//Extended/Extended-7.8.5-dc35fe34f-2022-12-23-win64.7z

Offline Xilmi

  • Colonel
  • ****
  • Posts: 168
    • View Profile
    • Email
Re: OXCE (OpenXcom Extended) main thread
« Reply #1247 on: December 28, 2022, 02:22:41 am »
Nightly builds are here: https://lxnt.wtf/oxem/#/Extended

Direct link to 7.8.5: https://lxnt.wtf/oxem/builds//Extended/Extended-7.8.5-dc35fe34f-2022-12-23-win64.7z
That one also crashes for me as soon as I enter battle-scape. Same as my self-compiled merged version. It doesn't for anyone else?

Code: [Select]
[28-12-2022_01-20-57] [FATAL] A fatal error has occurred: Segmentation fault.
[28-12-2022_01-20-57] [FATAL] 0x5d2830 OpenXcom::CrossPlatform::stackTrace(void*)
[28-12-2022_01-20-57] [FATAL] 0x5d36a0 OpenXcom::CrossPlatform::crashDump(void*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
[28-12-2022_01-20-57] [FATAL] 0x41c7f0 signalLogger(int)
[28-12-2022_01-20-57] [FATAL] 0xa0b0a0 OpenXcom::UfopaediaStartState::think()
[28-12-2022_01-20-57] [FATAL] 0x7ffa8bd93aa0 _C_specific_handler
[28-12-2022_01-20-57] [FATAL] 0x7ffa8bda89f0 _chkstk
[28-12-2022_01-20-57] [FATAL] 0x7ffa8bd352f0 RtlRestoreContext
[28-12-2022_01-20-57] [FATAL] 0x7ffa8bda7b00 KiUserExceptionDispatcher
[28-12-2022_01-20-57] [FATAL] 0x5a5410 OpenXcom::TileEngine::calculateLighting(OpenXcom::LightLayers, OpenXcom::Position, int, bool)
[28-12-2022_01-20-57] [FATAL] 0x5b1000 OpenXcom::TileEngine::explode(OpenXcom::BattleActionAttack, OpenXcom::Position, int, OpenXcom::RuleDamageType const*, int, bool)
[28-12-2022_01-20-57] [FATAL] 0x513590 OpenXcom::BattlescapeGenerator::explodePowerSources()
[28-12-2022_01-20-57] [FATAL] 0x527b20 OpenXcom::BattlescapeGenerator::run()
[28-12-2022_01-20-57] [FATAL] 0x75ce80 OpenXcom::NewBattleState::btnOkClick(OpenXcom::Action*)
[28-12-2022_01-20-57] [FATAL] 0x5ef8e0 OpenXcom::InteractiveSurface::handle(OpenXcom::Action*, OpenXcom::State*)
[28-12-2022_01-20-57] [FATAL] 0x6af4f0 OpenXcom::State::handle(OpenXcom::Action*)
[28-12-2022_01-20-57] [FATAL] 0x5eaf10 OpenXcom::Game::run()
[28-12-2022_01-20-57] [FATAL] 0x41c950 SDL_main
[28-12-2022_01-20-57] [FATAL] 0xa0cbd0 console_main
[28-12-2022_01-20-57] [FATAL] 0xa0ccf0 WinMain
[28-12-2022_01-20-57] [FATAL] ??
[28-12-2022_01-20-57] [FATAL] ??
[28-12-2022_01-20-57] [FATAL] 0x7ffa8a1c5590 BaseThreadInitThunk
[28-12-2022_01-20-57] [FATAL] 0x7ffa8bd04830 RtlUserThreadStart
[28-12-2022_01-21-09] [FATAL] OpenXcom has crashed: Segmentation fault.
« Last Edit: December 28, 2022, 02:24:48 am by Xilmi »

Offline Vakrug

  • Colonel
  • ****
  • Posts: 120
    • View Profile
Re: OXCE (OpenXcom Extended) main thread
« Reply #1248 on: December 28, 2022, 11:11:31 am »
The immedate ending of the turn in the middle of auto-shots seems to be inconstent with the behaviour of ending the turn and exploding primed grenades.
The sentence is phrased like you are complaining about auto-shots and not about grenades exploding in your hands.
I would suggest that the end-turn phases such as grenades exploding would otherwise be skipped as well when the last alien dies.
There is a better solution. When some soldiers are fatally wounded, there is a prompt "do you really want to end mission now?". I think similar prompt should be shown when there are primed grenades (with prime time 0) on the map.
Ok, I will fix the autoshots.
Oh, come on, it is not autoshots that are broken...

Online Meridian

  • Global Moderator
  • Commander
  • ***
  • Posts: 7798
    • View Profile
Re: OXCE (OpenXcom Extended) main thread
« Reply #1249 on: December 28, 2022, 11:35:10 am »
That one also crashes for me as soon as I enter battle-scape. Same as my self-compiled merged version. It doesn't for anyone else?

Yes, it crashes during power source explosion for me too.

Offline Yankes

  • Moderator
  • Commander
  • ***
  • Posts: 2868
    • View Profile
Re: OXCE (OpenXcom Extended) main thread
« Reply #1250 on: December 28, 2022, 12:40:48 pm »
Should be fixed in 7.8.6

Offline Dioxine

  • Commander
  • *****
  • Posts: 5331
  • punk not dead
    • View Profile
    • Nocturnal Productions
    • Email
Re: OXCE (OpenXcom Extended) main thread
« Reply #1251 on: December 28, 2022, 06:01:34 pm »
A couple of 'bugs' or rather something more mild - loose ties/exploits/inconveniences.

1. Apoc equipment system.
When you equip people from base's Soldiers screen, IF a soldier is onboard craft, the game fails to move the equipment you have just given to that soldier onboard craft, therefore your changes are not put in effect. Therefore you're forced to take all the crew off the ships, which is a lot of extra clicking...

2. Craft equipment giving +HP/-HP
Currently there is a rather ugly exploit. First off, when +HP equipment is installed, the craft needs to repair up to new max HP. This is not a huge problem BUT: when it repairs fully, and you remove the system, ship's HP stays at new level (>100%). -HP systems surely have related issues...
My proposition of an easy to understand and I think foolproof solution: when equipping or unequipping +HP/-HP system, ship's HP percentage is unchanged, and the actual number of HP is recalculated. This avoids the mentioned issue, also avoids having the ship reach 0 HP due to unequipping +HP item or equipping -HP item.


Offline Yankes

  • Moderator
  • Commander
  • ***
  • Posts: 2868
    • View Profile
Re: OXCE (OpenXcom Extended) main thread
« Reply #1252 on: December 29, 2022, 12:14:33 am »
I reading code and Craft behavior looks different.
First of all, game do not store HP of craft but damage what was dealt to it, usually this should not matter (and be equivalent to typical hp) but in this case is critical.
Second, damage can't be negative, this mean you can't have more hp than current max.
Third, only expected "exploit" with removing armor should be that you could skip repair,part that is removed is consider as one that take all damage.
If you have craft that have base 100hp and give armor that grain 100hp and then during combat ufo dealt 97 damage then when you remove armor craft should be in pristine state and do not require repair (image metal plates full of holes are bolted on top of existing undamaged armor).

I could miss read code but it should behave how I describe there (but I do not consider negative hp parts, but this not allow lot of exploits as is invested order as positive armor) as this was my goal when I implemented handling of bonus craft hp.

Online Meridian

  • Global Moderator
  • Commander
  • ***
  • Posts: 7798
    • View Profile
Re: OXCE (OpenXcom Extended) main thread
« Reply #1253 on: January 05, 2023, 10:17:43 am »
A couple of 'bugs' or rather something more mild - loose ties/exploits/inconveniences.

1. Apoc equipment system.
When you equip people from base's Soldiers screen, IF a soldier is onboard craft, the game fails to move the equipment you have just given to that soldier onboard craft, therefore your changes are not put in effect. Therefore you're forced to take all the crew off the ships, which is a lot of extra clicking...

split into a separate thread: https://openxcom.org/forum/index.php/topic,10984.0.html

Offline Aldorn

  • Commander
  • *****
  • Posts: 732
    • View Profile
    • Email
Re: OXCE (OpenXcom Extended) main thread
« Reply #1254 on: January 20, 2023, 09:05:51 pm »
Hi all, Hi Meridian,

I'm currently having a look at OXCE, what an amazing job !!!

I'm trying to convert my own mod from OXC to OXCE, I think it will take me some time  :D

I just wanted to congrat and thank you (same for other who participate). I began to read the changelog since 2015, OMG ::)

Offline N7Kopper

  • Captain
  • ***
  • Posts: 57
    • View Profile
Re: OXCE (OpenXcom Extended) main thread
« Reply #1255 on: January 27, 2023, 12:20:16 pm »
When some soldiers are fatally wounded, there is a prompt "do you really want to end mission now?". I think similar prompt should be shown when there are primed grenades (with prime time 0) on the map. Oh, come on, it is not autoshots that are broken...

I agree with your idea on grenades, but disagree with autoshots not being broken. Automatically ending the mission when all the aliens are defeated is supposed to be a quality of life improvement, not a cheat. The original game only ended missions on the switch between XCOM/alien/civilian turns to save on processing power - modern machines can chew a check like that up with every action easily. Stopping autoshots from blowing up loot or potentially wasting another ammo item is a bit of a cheat. (Especially considering how overpowered autoshots already are in vanilla UFO...)

The grenades exploding on you however turns that QoL feature into a cheat for the enemy - especially in the Brutal AI mod where the AI often has them pre-primed if you allow it to do so. If I stun that last Sectoid Leader and he has a grenade ready to go off, I should be warned that this is the case and given a chance to pick it up off of him - or bemoan my overextension with the stun rod/inability to reach him in time. OXCE already does this if there are opportunities to heal wounded soldiers to reduce infirmary times, so why not with something like this that's actually potentially far more impactful?
« Last Edit: January 27, 2023, 12:23:07 pm by N7Kopper »

Offline Aldorn

  • Commander
  • *****
  • Posts: 732
    • View Profile
    • Email
Re: OXCE (OpenXcom Extended) main thread
« Reply #1256 on: Today at 10:02:35 am »
The Ruleset Reference Nightly (https://www.ufopaedia.org/index.php/Ruleset_Reference_Nightly_(OpenXcom)) is really useful, highlighting all new settings implemented in OXCE

Great job, as for the rest !