Author Topic: Would anyone be able and willing to take on a mod-enabling project (EXE editing)  (Read 77804 times)

0 Members and 1 Guest are viewing this topic.

Offline Yitzi

Yitzi asked upthread how the SMACX exes were modified. In post #117 here scient provided links to the programs he used. Reading the entire thread (if you have several hours to spare) will give you an idea of the effort that went into scient's patch.


Thanks, I'll take a look.

Update: Ok, I looked at it, and I think I have a working version of the debugger.  (It seems to work on another program; unfortunately, I don't have my SMAX CD with me at the moment so can't test it on SMAX.)  While there's a lot left to do, I now feel fairly certain that I will eventually be able to make my own .exe edits.  (I do not, however, intend to do anything that would require a change to the user interface, such as making it possible to have more than 7 factions outside a scenario; I suspect that would be far beyond my capabilities, due to the immense abstraction involved in GUIs.)
« Last Edit: November 11, 2012, 01:05:19 AM by Yitzi »

Offline Impaler

I've made over 20,000 EC from farming worms before. No need for a multiplier.

My intent is to lower the Cash Worms, by reducing the multiplier to say 5 from the current 10 so you get half as much.  The formula for payment would be Worm Level * Modifier.  I can't imagine anyone thinks it should be higher but hey if it floats your economy in your Single player game it's no skin off my drone.

Offline Green1

Man, Impaler.. I am telling you friend... a much better mod would be to tackle the 7 faction cap. You will be elevated to the status of godhood. Even Kyrub and Scient would be mere demigods in your pantheon.

There have been "balance" patches and alpha/x tweaks before. But nothing would compare to the DLs that lifts the cap. It could shut down AC2 in bandwidth and attract the notice of influential folks in the gaming community that lurk. Think Derek Paxton.

BTW, when scient decompiled, what language was SMAX written in? I am wondering if the code was easy to follow.

Online Buster's Uncle

  • In Buster's Orbit, I
  • Ascend
  • *
  • Posts: 49271
  • €440
  • View Inventory
  • Send /Gift
  • Because there are times when people just need a cute puppy  Soft kitty, warm kitty, little ball of fur  A WONDERFUL concept, Unity - & a 1-way trip that cost 400 trillion & 40 yrs.  
  • AC2 is my instrument, my heart, as I play my song.
  • Planet tales writer Smilie Artist Custom Faction Modder AC2 Wiki contributor Downloads Contributor
    • View Profile
    • My Custom Factions
    • Awards
Impaler's been a SMACer since ten years before the game was invented, but he's not a coder, man.

Offline Yitzi

BTW, when scient decompiled, what language was SMAX written in? I am wondering if the code was easy to follow.

It looks like it translated into assembly language.  Great for modifying things, doesn't require unreliable decompilation...but not at all easy to follow for anything more complicated than mathematical calculation.

Online Buster's Uncle

  • In Buster's Orbit, I
  • Ascend
  • *
  • Posts: 49271
  • €440
  • View Inventory
  • Send /Gift
  • Because there are times when people just need a cute puppy  Soft kitty, warm kitty, little ball of fur  A WONDERFUL concept, Unity - & a 1-way trip that cost 400 trillion & 40 yrs.  
  • AC2 is my instrument, my heart, as I play my song.
  • Planet tales writer Smilie Artist Custom Faction Modder AC2 Wiki contributor Downloads Contributor
    • View Profile
    • My Custom Factions
    • Awards
You've read the whole thread now, or mostly just the crucial post?

Offline Yitzi

Not the whole thread, but the crucial post, and a sampling of the thread.  It looks like the hard part was usually figuring out what was causing the bug; for modding-enabling fixes, that's not really as much of an issue, so such "fixes" would probably be less work-intensive than the sort of thing that scient did.  The hard part would just be finding which lines control the relevant mechanic, and replacing them with something that performs as desired.

Online Buster's Uncle

  • In Buster's Orbit, I
  • Ascend
  • *
  • Posts: 49271
  • €440
  • View Inventory
  • Send /Gift
  • Because there are times when people just need a cute puppy  Soft kitty, warm kitty, little ball of fur  A WONDERFUL concept, Unity - & a 1-way trip that cost 400 trillion & 40 yrs.  
  • AC2 is my instrument, my heart, as I play my song.
  • Planet tales writer Smilie Artist Custom Faction Modder AC2 Wiki contributor Downloads Contributor
    • View Profile
    • My Custom Factions
    • Awards
Probably easier than debugging code that's so hard to follow with all the function calls or whatever to elsewhere in the code. sure.  That makes sense.

Offline Impaler

Impaler's been a SMACer since ten years before the game was invented, but he's not a coder, man.

Not a Coder!!!  Buster are you unaware of my Civ4 modding?  I was the Code host of Apolyton's Mod Cast for Chirons sake.  Admittedly I've never gotten into the code of SMAC because it needs to be disassembled and I don't have that in my skill set.

The two suggestion I made were to a degree informed by my understanding of code though, these are both things that can be done within the constraints of dis-assembly because they are singular math functions, a multiply for planet pearls (worm cash) and an exponent for tech cost.

Also with regard to exceeding 7 factions.  I don't think that's going to be possible, faction count is such a fundamental assumption of the games UI you would have to rewrite a ton of it and UI is hard enough to edit in source code, disassembled it would be a nightmare, not to mention all the locations in the underlying engine code which assume probably assume 7 factions, you would need to find every one of these spots to not crash the game. 

And lastly I just don't like the idea of more factions from a story and game-play perspective.  The whole SMAC story and mythos is built around the philosophical and ideological nature of the factions and the personification of that ideology in the form of the leaders.  The original 7 are nearly perfect in my opinion and you can see how weak the Cross Fire factions are in comparison.  The only ones I really like are the Pirates and Drones who are apolitical and proletariat respectively which are at least semi-ideological, and the Angels while ideological ambiguous do exemplify a popular strategy.  Everything else is rubbish  or redundant from an ideological point of view, particularly the Aliens.

Online Buster's Uncle

  • In Buster's Orbit, I
  • Ascend
  • *
  • Posts: 49271
  • €440
  • View Inventory
  • Send /Gift
  • Because there are times when people just need a cute puppy  Soft kitty, warm kitty, little ball of fur  A WONDERFUL concept, Unity - & a 1-way trip that cost 400 trillion & 40 yrs.  
  • AC2 is my instrument, my heart, as I play my song.
  • Planet tales writer Smilie Artist Custom Faction Modder AC2 Wiki contributor Downloads Contributor
    • View Profile
    • My Custom Factions
    • Awards
Yeah, I was unaware of your cIV coding.  Sorry 'bout that.  -Also, Buster is my niece.


I was never too impresed by the X factions, either.  Doesn't change that some newb comes in out of the cold somewhere and asks about it about every three months or so for years now.  And it's not just newbs, either.  That particular change is very much in demand.

Offline Yitzi

The two suggestion I made were to a degree informed by my understanding of code though, these are both things that can be done within the constraints of dis-assembly because they are singular math functions, a multiply for planet pearls (worm cash) and an exponent for tech cost.

I'm not sure that assembly can handle exponents other than via looped multiplication.

Quote
Also with regard to exceeding 7 factions.  I don't think that's going to be possible, faction count is such a fundamental assumption of the games UI you would have to rewrite a ton of it

Now that I think of it, you're probably right; it shows up not only when making the game, but also with infiltrator/pact brother info and the communications.  So a more-than-seven-factions mod, while no doubt popular, is probably not going to happen with the possible exception of if someone wants to rework the relevant parts of the UI to something far simpler (and uglier), which might allow a more-than-seven-factions mod.

Offline Impaler

The two suggestion I made were to a degree informed by my understanding of code though, these are both things that can be done within the constraints of dis-assembly because they are singular math functions, a multiply for planet pearls (worm cash) and an exponent for tech cost.

I'm not sure that assembly can handle exponents other than via looped multiplication.

An exponent is done by calls to standard math libraries, the original code probably just uses multiplies the variable by itself X * X so its not quite super simple but it's certainly do able.

Offline Kilkakon

  • Likes cute things but is
  • Mostly Harmless
  • *
  • Posts: 1155
  • €695
  • View Inventory
  • Send /Gift
  • It does something (It's free and yet priceless)  
  • Creator of Lost Eden and C&C: Dawn of Tomorrow
  • Scenario Creator Custom Faction Modder AC2 Hall Of Fame AC2 Wiki contributor Downloads Contributor Author of at least one AAR Planet tales writer author of the Lost Eden mod for Alien Crossfire
    • View Profile
    • My website!
    • Awards
My personal complaint (well my friend's one who is the only guy who likes LE haha) is that we can have a button to block AIs hassling the player. When you're winning against an AI and they want a Blood Truce (but not to surrender) then every single unit that moves or attacks in range of one of their cities results in them trying to contact the player. A cap on the number of times they can do that a turn would be great.

Of course, as people say, >7 factions is probably the biggest want everybody has.

Online Buster's Uncle

  • In Buster's Orbit, I
  • Ascend
  • *
  • Posts: 49271
  • €440
  • View Inventory
  • Send /Gift
  • Because there are times when people just need a cute puppy  Soft kitty, warm kitty, little ball of fur  A WONDERFUL concept, Unity - & a 1-way trip that cost 400 trillion & 40 yrs.  
  • AC2 is my instrument, my heart, as I play my song.
  • Planet tales writer Smilie Artist Custom Faction Modder AC2 Wiki contributor Downloads Contributor
    • View Profile
    • My Custom Factions
    • Awards
Also with regard to exceeding 7 factions.  I don't think that's going to be possible, faction count is such a fundamental assumption of the games UI you would have to rewrite a ton of it

Now that I think of it, you're probably right; it shows up not only when making the game, but also with infiltrator/pact brother info and the communications.  So a more-than-seven-factions mod, while no doubt popular, is probably not going to happen with the possible exception of if someone wants to rework the relevant parts of the UI to something far simpler (and uglier), which might allow a more-than-seven-factions mod.
This strays into my area of expertise a little, so you guys tell me if my logic works here:

It's pretty safe to assume that everyone's machine these days can handle over twice the resolution, yes?  It wouldn't save our hypothetical mod coder all the soul-crushing no-doubt tedious work, but the simplest mod to the UI is to add a second row of leaders to the council screen under the first - possbly the function key screens, too.  It wouldn't be hard to make room.  A lot of piddling crap would still have to be tracked down in the code still, but what I'm suggesting would be a minor redesign that probably wouldn't even call for my services drawing anything.  It's definitely doable should a coder/decompiler be willing and have enough time to attend to the details, yes?

I do acknowledge the soul-crushing, no-doubt tedious, work I'm proposing for someone else...

Offline Yitzi

Also with regard to exceeding 7 factions.  I don't think that's going to be possible, faction count is such a fundamental assumption of the games UI you would have to rewrite a ton of it

Now that I think of it, you're probably right; it shows up not only when making the game, but also with infiltrator/pact brother info and the communications.  So a more-than-seven-factions mod, while no doubt popular, is probably not going to happen with the possible exception of if someone wants to rework the relevant parts of the UI to something far simpler (and uglier), which might allow a more-than-seven-factions mod.
This strays into my area of expertise a little, so you guys tell me if my logic works here:

It's pretty safe to assume that everyone's machine these days can handle over twice the resolution, yes?  It wouldn't save our hypothetical mod coder all the soul-crushing no-doubt tedious work, but the simplest mod to the UI is to add a second row of leaders to the council screen under the first - possbly the function key screens, too.  It wouldn't be hard to make room.  A lot of piddling crap would still have to be tracked down in the code still, but what I'm suggesting would be a minor redesign that probably wouldn't even call for my services drawing anything.  It's definitely doable should a coder/decompiler be willing and have enough time to attend to the details, yes?

I do acknowledge the soul-crushing, no-doubt tedious, work I'm proposing for someone else...

If someone could track down all the stuff that determines what icons go where (very difficult with normal debugging tools as I understand it, since it's not an "active" thing, then it would be merely extremely tedious to copy it all over.  But that's a big if.

The problem with GUIs using assembly isn't making room for the graphics; it's the fact that non-command-line interfaces are (at least if my layman's knowledge is correct) some of the least assembly-friendly things that can be done with computers, because they're so very non-mathematical.

 

* User

Welcome, Guest. Please login or register.
Did you miss your activation email?


Login with username, password and session length

Select language:

* Community poll

SMAC v.4 SMAX v.2 (or previous versions)
-=-
24 (7%)
XP Compatibility patch
-=-
9 (2%)
Gog version for Windows
-=-
103 (32%)
Scient (unofficial) patch
-=-
40 (12%)
Kyrub's latest patch
-=-
14 (4%)
Yitzi's latest patch
-=-
89 (28%)
AC for Mac
-=-
3 (0%)
AC for Linux
-=-
6 (1%)
Gog version for Mac
-=-
10 (3%)
No patch
-=-
16 (5%)
Total Members Voted: 314
AC2 Wiki Logo
-click pic for wik-

* Random quote

Our ancestors harnessed the power of a sun, and so again shall we.
~Comissioner Pravin Lal 'The Science of Our Fathers'

* Select your theme

*
Templates: 5: index (default), PortaMx/Mainindex (default), PortaMx/Frames (default), Display (default), GenericControls (default).
Sub templates: 8: init, html_above, body_above, portamx_above, main, portamx_below, body_below, html_below.
Language files: 4: index+Modifications.english (default), TopicRating/.english (default), PortaMx/PortaMx.english (default), OharaYTEmbed.english (default).
Style sheets: 0: .
Files included: 45 - 1228KB. (show)
Queries used: 41.

[Show Queries]