Activity for Seven Kingdoms

  • Jesse Allen Jesse Allen posted a comment on ticket #7

    Ok, so I know the code, and how it was written, and let's put multiplayer aside for a moment. The game was written for Intel x86, without any thought towards future expansion and portability. If it does work on ARM, it's because I have been practicing portable coding from the beginning when ever something was done. So that's good, at least we are heading in the right direction. But as the README states, we don't support ARM (and since there are several, which ones??). I have never tested it, and...

  • Philipp Klaus Krause Philipp Klaus Krause posted a comment on ticket #7

    Could you elaborate on "really, you can't just do that"? My naive assumption is that 7kaa does not depend on 387 floating-point semantics as such (after all singleplayer is fine on ARM), but just on the floating-point semantics being exactly the same on all machines in a multiplayer game. So if all machines use the same semantics (no matter if 387, as now, or exact IEEE), multiplayer should work. Since exact IEEE is the semantics likely best supported across multiple architectures and toolchains,...

  • Jesse Allen Jesse Allen modified ticket #7

    Cross-platform multiplayer (i.e without 387 FPU requirement)

  • Jesse Allen Jesse Allen posted a comment on ticket #7

    I understand your issue, and really, you can't just do that. I can't support ARM right now, so unfortunately I can't address the request here.

  • Jesse Allen Jesse Allen modified ticket #6

    curl.h needed

  • Jesse Allen Jesse Allen posted a comment on ticket #6

    Configure is checking for curl correctly. The problem is WebService needs to be skipped during make because it's curl only. The fix is to just reorder when the automake conditionals get set so it does actually get disabled. This has been done.

  • Jesse Allen Jesse Allen committed [48a434] on 7kaa source

    ConfigAdv: Add option to enable the scenario editor.

  • Jesse Allen Jesse Allen committed [9d4067] on 7kaa source

    configure: Process automake conditions after build options are set.

  • Philipp Klaus Krause Philipp Klaus Krause created ticket #7

    Cross-platform multiplayer (i.e without 387 FPU requirement)

  • Philipp Klaus Krause Philipp Klaus Krause created ticket #6

    curl.h needed

  • Jesse Allen Jesse Allen committed [7ee6e0] on 7kaa source

    NationArray: Update Nation's king_leadership when collecting stats.

  • Jesse Allen Jesse Allen committed [9b3aab] on 7kaa source

    Nation: Fix loyalty calculation to decrement based on race change.

  • Jesse Allen Jesse Allen committed [5dff8d] on 7kaa source

    World: Fix error building town on unbuildable location.

  • Jesse Allen Jesse Allen committed [3260a2] on 7kaa source

    Initialize firm region_id and links more accurately.

  • Jesse Allen Jesse Allen committed [a0a514] on 7kaa source

    rpldump: Decode a couple of messages.

  • Jesse Allen Jesse Allen committed [c7002b] on 7kaa source

    Unit: Add option to disable space for attack check.

  • Jesse Allen Jesse Allen committed [32f7a8] on 7kaa source

    Unit: Don't idle auto target trader ships.

  • Jesse Allen Jesse Allen committed [4888dd] on 7kaa source

    FirmHarbor: Cancel build queue when changing nation.

  • Jesse Allen Jesse Allen committed [74f74c] on 7kaa source

    GameMP: Fix off by one and overflow with zulu in mp load game.

  • Jesse Allen Jesse Allen committed [16bf5a] on 7kaa source

    CrcStore: Cast message type for readability.

  • Jesse Allen Jesse Allen committed [e8b98f] on 7kaa source

    Updated DE messages from Einheit101.

  • Jesse Allen Jesse Allen updated merge request #58

    Fix throne purchase crash in multiplayer

  • Jesse Allen Jesse Allen posted a comment on merge request #58

    The history here is multiplayer was added after the game was mostly coded. The messages being processed from the remote queue now have a frame delay. Each message needs to rechecked as you can see, for cases that are no longer valid. But furthermore, the messages should always go through a sanity check anyway for trust reasons. I committed a fix. Thanks for the report.

  • Jesse Allen Jesse Allen updated merge request #62

    Add Dutch translation, thanks to Jan Miedema

  • Jesse Allen Jesse Allen committed [66ed57] on 7kaa source

    Add Dutch translation, thanks to Jan Miedema

  • Jesse Allen Jesse Allen committed [1c643d] on 7kaa source

    TalkRes: Check nations in talk msg for validity for multiplayer.

  • Tim Sviridov Tim Sviridov created merge request #62 on 7kaa source

    Add Dutch translation, thanks to Jan Miedema

  • Tim Sviridov Tim Sviridov created merge request #61 on 7kaa source

    Town: Fix rebellions caused by auto-tax and auto-grant

  • Tim Sviridov Tim Sviridov created merge request #60 on 7kaa source

    Fix setting of auto-grant and auto-tax levels

  • Jesse Allen Jesse Allen committed [52341c] on 7kaa source

    TownAI: Correct logic checking available product.

  • Jesse Allen Jesse Allen posted a comment on merge request #57

    and the more thorough solution would be to create/update a map of valid lair locations to choose from. That would take quite a bit more work, though. Yes, that is what would be needed, but no one is really asking for this. As a user, I would expect the number of lairs to be generated to be the one I specified, or, at least as close to it as possible. I've commented on this question, but I'll put it here; these are internal values that not published to the users in the game code and as they are utilized,...

  • Tim Sviridov Tim Sviridov created merge request #59 on 7kaa source

    SpyArray: Fix Firm-capturing villagers remaining in Town

  • Tim Sviridov Tim Sviridov modified a comment on merge request #57

    I'm not a fan of coding in more trying. We actually should be getting away from that. I agree that it is not ideal, which is why I said that it is a workaround, for the time being, and the more thorough solution would be to create/update a map of valid lair locations to choose from. That would take quite a bit more work, though. A config option can allow the user to attempt many more rolls for fryhtan lairs anyway, so this is not needed. Yes, the user can set the maximum, but without the above change,...

  • Tim Sviridov Tim Sviridov modified a comment on merge request #57

    I'm not a fan of coding in more trying. We actually should be getting away from that. I agree that it is not ideal, which is why I said that it is a workaround, for the time being, and the more thorough solution would be to create/update a map of valid lair locations to choose from. That would take quite a bit more work, though. A config option can allow the user to attempt many more rolls for fryhtan lairs anyway, so this is not needed. Yes, the user can set the maximum, but without the above change,...

  • Tim Sviridov Tim Sviridov posted a comment on merge request #57

    I'm not a fan of coding in more trying. We actually should be getting away from that. I agree that it is not ideal, which is why I said that it is a workaround, for the time being, and the more thorough solution would be to create/update a map of valid lair locations to choose from. That would take quite a bit more work, though. A config option can allow the user to attempt many more rolls for fryhtan lairs anyway, so this is not needed. Yes, the user can set the maximum, but without the above change,...

  • Tim Sviridov Tim Sviridov created merge request #58 on 7kaa source

    Fix throne purchase crash in multiplayer

  • Jesse Allen Jesse Allen updated merge request #57

    Control Fryhtan lair generation with config.txt options

  • Jesse Allen Jesse Allen posted a comment on merge request #57

    Concerning the individual changes. MonsterRes: More often generate the requested number of lairs: I'm not a fan of coding in more trying. We actually should be getting away from that. A config option can allow the user to attempt many more rolls for fryhtan lairs anyway, so this is not needed. Not merged in. Battle: Allow generating more Fryhtan lairs Simple enough, so merged in, at least for the way the code is for now. I'm not sure why they generate indepedent towns and lairs in pairs. 7k2 still...

  • Jesse Allen Jesse Allen committed [c534b1] on 7kaa source

    Battle: Allow generating more Fryhtan lairs

  • Jesse Allen Jesse Allen committed [d4c1e5] on 7kaa source

    Battle: Add config option to set start up number of monster firms.

  • Tim Sviridov Tim Sviridov created merge request #57 on 7kaa source

    Control Fryhtan lair generation with config.txt options

  • Jesse Allen Jesse Allen posted a comment on merge request #46

    Can you tell me which platform you think needs support? The C++ standard doesn't prescribe signed integer overflow, but we can go beyond the standard and define the overflow result using any type in the algorithm. Which primarily, I don't want to change the runtime calculation of the checksum just because something could happen, and then break compatibility. Specifics can help with making a decision. Note, support is only needs to go as far as it makes sense. If people decide to run something that...

  • Jesse Allen Jesse Allen committed [6c5d80] on 7kaa source

    World: Fix disappearing builder bug

  • Jesse Allen Jesse Allen posted a comment on merge request #53

    Are you serious? The fix is going in. You should explain what you think the game should do more if there is something you found.

  • Jesse Allen Jesse Allen updated merge request #54

    Fix use-after-free after disbanding a unit

  • Jesse Allen Jesse Allen posted a comment on merge request #54

    As I mentioned in my first comment, I acknowledged use-after-free. I typoed it in the second response. My comment is still correct, placing the correct word there. As I read your next comment trying to explain, I'll just tell you the way to fix the potential use after free is to separate the interface code. That is how it should have been designed. The code was written badly with object inter-calling, especially Unit. So I'll put this on the list of things to work on, and closing this MR.

  • Tim Sviridov Tim Sviridov modified a comment on merge request #54

    This is not a double free, but a use-after-free. This is happening every time the user disbands via the UI. In almost every case, this code will be executed without pause on the CPU, so the use-after-free will not lead to a crash or unexpected behaviour, as the memory in question will not yet have been altered. I have some saves which have corrupted data for Markets; but I do not know the source of the corruption or whether it came from this memory violation specifically. EDIT: I just looked at what...

  • Tim Sviridov Tim Sviridov modified a comment on merge request #53

    I pushed the new commit previously (33add0d4). If you are looking at it through SourceForge's interface, I assume that the reason that it does not show the new commit or an option to update is because the MR is marked as rejected already. The refactor I was talking about, by the way, was to at least move all is-this-buildable checks to one function and call it from the various disparate places.

  • Tim Sviridov Tim Sviridov posted a comment on merge request #53

    Actually, I just realised a great use-case for this bug, so maybe let's not actually fix it.

  • Tim Sviridov Tim Sviridov modified a comment on merge request #54

    This is not a double free, but a use-after-free. This is happening every time the user disbands via the UI. In almost every case, this code will be executed without pause on the CPU, so the use-after-free will not lead to a crash or unexpected behaviour, as the memory in question will not yet have been altered. I have some saves which have corrupted data for Markets; but I do not know the source of the corruption or whether it came from this memory violation specifically. EDIT: I just looked at what...

  • Tim Sviridov Tim Sviridov modified a comment on merge request #54

    This is not a double free, but a use-after-free. This is happening every time the user disbands via the UI. In almost every case, this code will be executed without pause on the CPU, so the use-after-free will not lead to a crash or unexpected behaviour, as the memory in question will not yet have been altered. I have some saves which have corrupted data for Markets; but I do not know the source of the corruption or whether it came from this memory violation specifically. EDIT: I just looked at what...

  • Tim Sviridov Tim Sviridov posted a comment on merge request #54

    This is not a double free, but a use-after-free. This is happening every time the user disbands via the UI. In almost every case, this code will be executed without pause on the CPU, so the use-after-free will not lead to a crash or unexpected behaviour, as the memory in question will not yet have been altered. I have some saves which have corrupted data for Markets; but I do not know the source of the corruption or whether it came from this memory violation specifically. However, it is still a memory...

  • Tim Sviridov Tim Sviridov posted a comment on merge request #46

    Yes, it is calculating a checksum and this is almost always expected to overflow. The concern is that in C++, signed integer overflow is undefined, and different compilers, compiler versions, systems, and hardware are free to implement the behaviour they wish. This is a potential risk that should be closed up. Unsigned integer overflow is well-defined in C++, and so the solution here is to used unsigned integers. In fact, the actual usage of check_sum()'s return value is indeed in an unsigned integer,...

  • Tim Sviridov Tim Sviridov posted a comment on merge request #53

    I pushed the new commit previously (33add0d4). If you are looking at it through SourceForge's interface, I assume that the reason that it does not show the new commit or an option to update is because the MR is marked as rejected already.

  • Jesse Allen Jesse Allen posted a comment on merge request #46

    The code is calculating a checksum -- it will overflow. What platform are you concerned about that utilizes signed integers differently that is different than the platform the game has been running on?

  • Jesse Allen Jesse Allen posted a comment on merge request #53

    Send the code change. I wouldn't touch the world code if it isn't needed to get proper placement. 7k2 had a very similar fix so it should be enough to do this.

  • Jesse Allen Jesse Allen posted a comment on merge request #54

    I can't reproduce. So something a little more is happening if you can trigger it. I'm not saying that this code isn't precarious. Having the interface code done this way is not good design. I fixed issues with holding a pointer and then modifying the pointer or the array. Usually Unit/UnitArray has been the worst. But others are not immune. I partially updated the detect code to do things a little better when creating more options, because it simply had to. I will think about this, since just moving...

  • Tim Sviridov Tim Sviridov modified a comment on merge request #53

    Found the issue. I was too aggressive when I was cleaning up the change and took out too many parentheses. When I have the time, I can refactor the un/buildable code.

  • Tim Sviridov Tim Sviridov posted a comment on merge request #53

    Found the issue. I was too aggressive when I was cleaning up the change and took out too many parentheses.

  • Tim Sviridov Tim Sviridov posted a comment on merge request #54

    It can be triggered by disbanding a unit (having a unit selected and clicking the cross in the info pane to the left of the healthbar).

  • Jesse Allen Jesse Allen updated merge request #55

    Prevent buildings on different islands linking to each other

  • Jesse Allen Jesse Allen committed [e9cbe0] on 7kaa source

    Prevent buildings on different islands linking to each other

  • Jesse Allen Jesse Allen posted a comment on merge request #31

    I closed this based on the original request, my comments and no activity. Previously, I did not have enough info to determine intent of the designer. However, I found recently in 7k2, that rock tile blocking is deterministic in logic code instead of tracked in the resource file. There they define the tiles are buildable if 2x2 or less, and comments to back that up. Now we know the dev intent on small rocks and large rocks are differentiated. That being said, the concern is not unfounded where there...

  • Jesse Allen Jesse Allen updated merge request #31

    Fix Rocks blocking and not blocking building in unexpected ways

  • Jesse Allen Jesse Allen posted a comment on merge request #54

    How can the use after free be triggered?

  • Jesse Allen Jesse Allen posted a comment on merge request #53

    I reverted the change, as it broke the game. Please do the necessary, if refactor is necessary. 7k2 has a similar fix, but perhaps there was more done to do things right.

  • Jesse Allen Jesse Allen updated merge request #53

    Fix disappearing builder bug

  • Jesse Allen Jesse Allen committed [ceafee] on 7kaa source

    Revert "World: Fix disappearing builder bug"

  • Jesse Allen Jesse Allen updated merge request #53

    Fix disappearing builder bug

  • Jesse Allen Jesse Allen committed [fa8d81] on 7kaa source

    World: Fix disappearing builder bug

  • Tim Sviridov Tim Sviridov posted a comment on merge request #49

    Yeah, using std::string is even better. I like that.

  • Jesse Allen Jesse Allen updated merge request #50

    Fix builders blocking construction of Harbours

  • Jesse Allen Jesse Allen committed [ebf0ce] on 7kaa source

    World: Fix builders blocking construction of Harbours

  • Jesse Allen Jesse Allen updated merge request #49

    Scenarios: Fix double-free crash after playing a scenario

  • Jesse Allen Jesse Allen posted a comment on merge request #49

    And yes, this one is annoying enough to need a release. I'll try to make some plans.

  • Jesse Allen Jesse Allen posted a comment on merge request #49

    I fixed this, but differently. The patch sent in seemed like a workaround that needed to be applied every time a copy occurred.

  • Jesse Allen Jesse Allen committed [32bc08] on 7kaa source

    ConfigAdv: Change mp_service_addr type to std::string.

  • Jesse Allen Jesse Allen updated merge request #48

    Unit: Fix KEYEVENT_OBJECT_NEXT selecting units in fog of war

  • Jesse Allen Jesse Allen committed [ca60ad] on 7kaa source

    Unit: Fix KEYEVENT_OBJECT_NEXT selecting units in fog of war

  • Jesse Allen Jesse Allen updated merge request #56

    Sys: Make Steal Reports spy escape chance smooth

  • Jesse Allen Jesse Allen posted a comment on merge request #56

    Comments provided in the forum. I'm not interested in this change.

  • Tim Sviridov Tim Sviridov created merge request #56 on 7kaa source

    Sys: Make Steal Reports spy escape chance smooth

  • Tim Sviridov Tim Sviridov created merge request #55 on 7kaa source

    Prevent buildings on different islands linking to each other

  • Jesse Allen Jesse Allen updated merge request #45

    Fix steal reports escape chance

  • Jesse Allen Jesse Allen committed [f09858] on 7kaa source

    Sys: Slightly improve a spies chance to escape stealing a report.

  • Jesse Allen Jesse Allen committed [eb8f86] on 7kaa source

    Sys: Fix steal report escape not depending on report

  • Jesse Allen Jesse Allen committed [6bebe7] on 7kaa source

    Randomize spy exposing of stealing reports.

  • Jesse Allen Jesse Allen committed [b26bd3] on 7kaa source

    Sys: Fix spies having 100% escape on steal reports

  • Jesse Allen Jesse Allen posted a comment on merge request #44

    I also added an option because I don't know what is a good balance for notifications, and options are good anyway.

  • Jesse Allen Jesse Allen updated merge request #44

    Display news when a firm or town is attacked

  • Jesse Allen Jesse Allen committed [978ad1] on 7kaa source

    ConfigAdv: Add option to enable attack news.

  • Jesse Allen Jesse Allen committed [f3950a] on 7kaa source

    News: Display news when a firm or town is attacked

  • Tim Sviridov Tim Sviridov created merge request #54 on 7kaa source

    Fix use-after-free after disbanding a unit

  • Jesse Allen Jesse Allen updated merge request #43

    Fix grammar in Desperate Bowmen scenario description

  • Jesse Allen Jesse Allen committed [8b0334] on 7kaa source

    Update translation files.

  • Jesse Allen Jesse Allen committed [b088ab] on 7kaa source

    Scenarios: Fix grammar in Desperate Bowmen scenario description

  • Jesse Allen Jesse Allen updated merge request #42

    Town: Fix training button artefacts and size

  • Jesse Allen Jesse Allen committed [7d061b] on 7kaa source

    Town: Fix training button artefacts and size

  • Jesse Allen Jesse Allen committed [898946] on 7kaa source

    UnitCaravan: Fix think_del_stop.

  • Jesse Allen Jesse Allen committed [77c08f] on 7kaa source

    Bump version

1 >
MongoDB Logo MongoDB