1.0D CECOMMPATCH - 0.9.5 - Updated: 2017/04/20

Discussion in 'Clockwork Empires General' started by EsBee, Mar 3, 2017.

  1. EsBee

    EsBee Member

    Since GG is no more, I've started working on my own custom patch to fix a lot of the outstanding issues. So far progress has been pretty extensive, and every day new bugs are fixed and new content is added.

    GITHUB links

    I've created a Steam group as well, since I'm not sure how long these forums will be up (and it's easier to organize everything when I have admin powers). Feel free to join! This is definitely the best place to discuss everything and keep up-to-date with progress.


    NOTE: All fixes/bugs/reports/etc. are using the "experimental branch" 1.0D! Don't use any fixes if you're on the default branch, as they will probably break your game!

    Want to help? Here's the rundown of what you can do:
    • Testing & Bug Reports - Please make sure you're using game version 1.0D + the latest version of CECOMMPATCH before reporting anything, to prevent duplicate bug reports.
    • Fixes - A GITHUB has been setup, but I don't mind if you just post something like "find <code> on line <number> in <filename>, replace with <code>" if you're prefer to not deal with git stuff.
    • Extra Content - If you're familiar enough with the game code to add in your own extra content (or properly implement old/unfinished features), feel free to contribute that. If you're not a coder, there's a TON of spots that could use better flavor text. Just tell me where it's used and what you want to replace it with, and I can add it!
    • General Input - A lot of the changes I'm making are from my own imagination or guesswork as to the intentions of the developers. I'm open to discussion on any changes, just keep it civil ;)
    Last edited: Apr 14, 2017
    Kazeto, Jabberwok and Samut like this.
  2. gmkchicago

    gmkchicago Member

    I'm not that savvy modding but I can definitely help test. I'd just need clear instructions on how to do the updates.
    One of the higher priority fixes should be fixing the bug that lowered the interface buttons in the bottom left of the screen out of playable range.
    Kazeto likes this.
  3. EsBee

    EsBee Member

    Once I have a fair amount of bugs fixed I think I'll just upload the appropriate files here. Others have done it in the past, and it's not like I'm supplying the whole game or anything. At that point all you'll have to do is unzip the files to your game directory, but I'll include instructions.

    At the moment I'm digging through and creating my own bug tracker so that I can have everything in one place. For the icon bug you *might* want to try this particular fix https://community.gaslampgames.com/threads/missing-icon.18680/ I haven't tried it myself yet, but let me know if it works... if so I'll add it to list. I'm not sure I'd suggest copying the files they uploaded... rather, find the files mentioned and make the changes yourself. Either way, that seems to be a good place to start when I get to fixing it. Do you happen to know how to reproduce the problem? Is it when using lower resolutions, or is this the same issue that occurs when you have too many alerts?
    Kazeto likes this.
  4. EsBee

    EsBee Member

    Kazeto, Samut and Teutomatos like this.
  5. Teutomatos

    Teutomatos Member

    On my way !
  6. gmkchicago

    gmkchicago Member

    Happens from the game start, even with no alerts, and at all resolutions.

    I checked the link you posted. I found the referenced file - I'm just not sure if I'm supposed to copy and paste that code somewhere, or add it?
    Kazeto likes this.
  7. EsBee

    EsBee Member

    Well that post mentions what code to change, but also supplies the files to copy+paste over if you want to do it that way. The reason I don't suggest doing that is I'm not sure what else changed from 1.0 to 1.0D. If there are other changes, then replacing the files completely could cause all kinds of other problems.
    Kazeto likes this.
  8. kabill

    kabill Member

    Don't have the time to offer any meaningful help with this, and my programming skills are only rudimentary, but in principle I'm enthusiastic about the project and if I have a chance I might try and pitch in a little. Thanks, in any case, for taking this on. As others have said, I feel like CE is on the verge of being pretty good and it's a shame development stopped just before it got to that point.
    Kazeto likes this.
  9. EsBee

    EsBee Member

    I've made some good progress so far in learning the code structure. Just spent quite a bit of time standardizing all item/module names, failure reasons, etc. A pretty big change, but a *ton* of inaccuracies were fixed and overall references to items are much more consistent.

    Now on to the bigger fish! Hoping to tackle the selenian spore crash soon, as that is one that always kills my games. UI issues may end up being what I do first though, as I'm not sure where to even start with the spores. Wish like crazy the devs had been able to release 1.0E... redoing stuff they already fixed is frustrating since I know it's possible, but don't know where to look first :p
    Kazeto and Samut like this.
  10. Samut

    Samut Member

    Cog bless you, sir.
  11. Jabberwok

    Jabberwok Member

    Glad to hear this is in the works. Will definitely join the Steam group when I get a chance.
  12. EsBee

    EsBee Member

    Currently I'm working on the notorious "selenian spore on fire" crash. I had some promising results, but more research is definitely needed. The solution *may* end up being that spores are simply immune to catching on fire. Obviously this isn't ideal as it impacts the chaos ablaze spores cause, buuut it may be the only option since we don't have access to the source files. Ideally I'll figure out a way to kill the particle effect before the removal of the spore, but file comments have lead me to believe this may not even be possible.

    I have two different saves that I can test with, but if anyone has a save where your soldiers have leyden rifles, spores are *not* ablaze yet, AND you're in a heavily wooded area (and you can tell me where to send the soldiers to find the spores), please let me know. The more cases I have to test whether my fixes work or not, the better.
    Kazeto likes this.
  13. EsBee

    EsBee Member

    Well after a LOT of fiddling around and various testing, I've solved the problem spore crash problem.

    However, the solution means spores cannot catch on fire anymore. Technically they were immune to fire damage to begin with, so I suppose not visually igniting is fairly logical. It does significantly reduce the chaos they can cause though. Their slug/etc. counterparts can still be ignited without issue, so it's only the actual flying spores that are impacted.

    Unfortunately I could not find a way to properly kill the particles before the entity was destroyed (which is what the actual problem was). My guess is that there is a slight delay for animation purposes in the compiled game code, and that means that the order of operations just doesn't apply properly... and LUA doesn't have any native wait() functions to hackishly make the destruction delayed.

    But hey, they don't crash the game anymore, so that's something!
    Kazeto likes this.
  14. Samut

    Samut Member

    Is it possible for spores (or anything, really) to ignite nearby stuff without them being on fire themselves?
  15. EsBee

    EsBee Member

    I'm not 100% sure, but I *think* they were doing that at one point in my tinkering.

    If that is something desired, I don't mind doing it. I didn't opt for it initially because I wasn't sure if that'd be confusing or not. Can't guarantee it'll work (who knows how the renderer will handle this kind of thing), but I'll give it a shot right now to see if I can't code up an fire function.

    If it works, any AI entity should be able to have the invisible fire version attached if desired. When it comes to objects (like trees) that are on fire it might be different, as that uses its own set of functions... but would probably still be doable. Not sure how fire propogation would handle it though... that's all in the compiled code, unfortunately.
    Kazeto likes this.
  16. EsBee

    EsBee Member

    Woo! Yep, it works just fine. Made a new function so it can be attached to anything. The small explosion effect that occurs below the spore when on fire (as well as the fire "whoosh" sound effect) works just fine too, so it's not too visually confusing. I'll go ahead and commit the changes to the v1 branch.

    Completely invisible fire (no explosion effect or sound) should be easily doable as well, though I'm not sure there is a need just yet. Should a custom creature be added that would benefit it'll be very simple to do.
    Last edited: Mar 5, 2017
    Kazeto likes this.
  17. Samut

    Samut Member

  18. EsBee

    EsBee Member

    Okay so I have a fix for the "icons off the screen" problem, BUT it has its usual downsides. The cause of this problem is two fold:

    1) When there are too many alerts, and
    2) When using a resolution that is exceptionally small vertically, such as 1280x720, which exacerbates #1

    The reason vanilla 1.0D *always* causes a problem for small resolutions (even without alerts) is because the container is always a fixed size...

    Thus the fix is to put alerts into a *scrollable* box of a *smaller* fixed size. HOWEVER... at larger (more standard) resolutions the box seems ridiculously small considering the available screen real estate. With this solution, only about 5 alerts are shown at a time... though obviously you can scroll through them.

    Now, a secondary fix would be to put the alerts into a dynamically sized scrollable box (similar to what 1.0 uses, just with a scrollbar so that all alerts are able to be viewed). This would leave "cause #1" as a problem still, buuut it would let larger resolutions use the screen space.

    So what are everyone's thoughts on this? Here's what it looks like at 1080p:
    Whoops, ignore the super small minimap... remnant code from other tests I was doing.

    Last edited: Mar 6, 2017
  19. Teutomatos

    Teutomatos Member

    Could you reverse the minimap in the right direction ?

    Thanks for your research. 1920 x 1080 resolution here; and effectivly about alerts column
  20. EsBee

    EsBee Member

    I don't think I'll be able to flip the minimap around, but there's a chance I can change what the default camera angle is. It's on my to-do list, but I'm not 100% sure it's possible.
    Kazeto likes this.