Author Topic: Anyway I could use cheats for single player?  (Read 1690 times)

Offline douglasrac

  • Newbie
  • *
  • Posts: 2
Anyway I could use cheats for single player?
« on: October 17, 2015, 12:54:54 PM »
Just wanna have fun in a different way.

Offline Highlander

  • Hero Member
  • *****
  • Posts: 773
  • Outpost 2 Elder
Re: Anyway I could use cheats for single player?
« Reply #1 on: October 18, 2015, 10:54:03 AM »
You will need the original game for it :)
There can be Only one. Wipe Them out. All of Them.

Old player still playing. Visit Spark for a game of Outpost 2

Offline Sirbomber

  • Hero Member
  • *****
  • Posts: 3174
Re: Anyway I could use cheats for single player?
« Reply #2 on: October 18, 2015, 11:04:51 AM »
The official cheats have all been disabled, but those are limited in their scope anyways so not sure how much "fun" you could actually have with them.  There are a few trainers people have made over the years but they're not centrally located so you'll have to dig through old forum posts if you want them.

Alternatively, why not just make a colony game where you start with everything so you can power-trip against a weak AI?
"As usual, colonist opinion is split between those who think the plague is a good idea, and those who are dying from it." - Outpost Evening Star

Outpost 2 Coding 101 Tutorials

Offline douglasrac

  • Newbie
  • *
  • Posts: 2
Re: Anyway I could use cheats for single player?
« Reply #3 on: October 18, 2015, 11:29:49 AM »
How do I make a colony game?

Offline leeor_net

  • Administrator
  • Hero Member
  • *****
  • Posts: 1650
    • LairWorks Entertainment
Re: Anyway I could use cheats for single player?
« Reply #4 on: October 18, 2015, 05:06:29 PM »
It's not terribly simple. It requires using the map editor to build the map itself and then building a DLL file to go along with it.

Me, Hooman and Leviathan are working on a solution to make this much less painful. May be a bit of time before it's as simple as launching a map editor, doing your thing then hitting the play button.

However, there are some decent posts about how to develop your own maps if you're interested and are at least somewhat familiar with C++.
- Leeor
LairWorks Entertainment

Titanum UFO's

Offline Leviathan

  • Hero Member
  • *****
  • Posts: 4115
Re: Anyway I could use cheats for single player?
« Reply #5 on: October 24, 2015, 06:27:00 PM »
Personally I think we should maybe release/provide a exe with the cheats enabled if people want to use them for single player etc. No worry about trying to use it in multilayer, just set the exe to a older version and the game wont start with the other player in multilayer.

Our exe contains various improvements over the CD exe so its better if we could provide one which is CD exe + patchs but missing cheats removal..

Either way I don't think there is a huge call for it? But more content/ways to play the game is good.

As for new colony games with lots of stuff already placed (like a sandbox), great idea!

Offline leeor_net

  • Administrator
  • Hero Member
  • *****
  • Posts: 1650
    • LairWorks Entertainment
Re: Anyway I could use cheats for single player?
« Reply #6 on: October 26, 2015, 01:09:42 PM »
Could do that and then have the installer create several links, e.g., Outpost 2 and Outpost 2 Cheats Enabled, etc.
- Leeor
LairWorks Entertainment

Titanum UFO's

Offline Leviathan

  • Hero Member
  • *****
  • Posts: 4115
Re: Anyway I could use cheats for single player?
« Reply #7 on: October 26, 2015, 03:00:08 PM »
That's a even better idea, include it in the game download so no other download/config required by the end-user :)

Only problem is you have to switch the exe I believe.. so you would need a simple launcher but that's not too difficult to do.

Offline Hooman

  • Administrator
  • Hero Member
  • *****
  • Posts: 4071
Re: Anyway I could use cheats for single player?
« Reply #8 on: October 29, 2015, 12:09:32 AM »
I wouldn't mind having that included in the download. The checksum, if it hasn't been disabled, should prevent people from joining multiplayer games, unless everyone is using the same version. Everyone would have to agree to use the cheat enabled version to cheat in multiplayer, which is a valid thing for people to want to do.

I think it's a one byte change. The text processing code called a function in the special hand crafted assembly segment (it was named differently than the rest) of the executable that did the cheat processing. The first instruction of that function was changed to RET, basically gutting the function. I had a text file somewhere that detailed the byte changes for the various patches. Not sure where it went, but this change would be easy to undo without it. Both the original EXE and current EXE are in SVN, so it'd be easy enough to load up an old EXE and see what byte used to be at that address. The function in question had a labelled name in OllyDbg. I don't remember the exact name off the top of my head, but it was quite obvious. If the labels are sorted by address, and someone scanned down the list to the address of the segment with the different naming scheme, the function name would pop out pretty quick.

Just checked into this quickly. Adding details for reference, for whenever someone takes this up:
In the DSEG segment, there is a function CheckChatForCheatCode at address 0x58642A.
The original first byte was 0x55 which corresponds to the instruction PUSH EBP.
« Last Edit: October 29, 2015, 02:57:26 AM by Hooman »