Rockbox Technical Forums

Support and General Use => Plugins/Viewers => Topic started by: axlgreasetires on March 16, 2007, 08:36:11 PM

Title: Doom cheats.
Post by: axlgreasetires on March 16, 2007, 08:36:11 PM
Has anybody ever thought about this?  Sometimes playing using the ipods controls is very frustrating and making yourself invincible would really help.

Could it be possible to implement cheats?
Title: Re: Doom cheats.
Post by: deceasekain on March 17, 2007, 08:33:09 PM
ANYTHING is possible
you just gotta be a great programmer
i was thinking you could just add the cheats into the rockdoom menu

Title: Re: Doom cheats.
Post by: ryran on March 18, 2007, 02:53:09 AM
Oh yes. That might actually make it interesting to play on an ipod....
Title: Re: Doom cheats.
Post by: axlgreasetires on March 18, 2007, 11:01:12 AM
Too bad i have no C programming skills whatsoever. :-[
Title: Re: Doom cheats.
Post by: BigMac on March 18, 2007, 04:53:52 PM
Well there is always time to learn:) I do not get why you would even want to play a game if you are going to put in a cheat that would make it impossible for you to lose, thus removing the fun aspect of a game:/
Title: Re: Doom cheats.
Post by: ryran on March 19, 2007, 02:10:20 AM
Personally, I'd just want idkfa.
Title: Re: Doom cheats.
Post by: axlgreasetires on March 20, 2007, 09:55:20 PM
YEah it needs at least some cheat maybe.  Heres some cheats:

idchoppers: Gives you a chainsaw.  Could be useful w/out killing fun.
iddqd:          God Mode.  Could possibly kill fun.
idkfa:           Gives all the Keys Weapons and Ammo.  Could possibly kill fun.
idfa:             Gives all the weapons and ammo.  Less chance of killing fun.  
idspispopd:  Same as noclip in counterstrike.  Walk through walls.  DooM.  Fun Killer.
idclip:           Same.  DooM2.  Could mostlikely kill fun.

There are definitely more but i can't remember them.
Title: Re: Doom cheats.
Post by: carocrazy132 on March 21, 2007, 09:21:00 PM
YEah it needs at least some cheat maybe.  Heres some cheats:

idchoppers: Gives you a chainsaw.  Could be useful w/out killing fun.
iddqd:          God Mode.  Could possibly kill fun.
idkfa:           Gives all the Keys Weapons and Ammo.  Could possibly kill fun.
idfa:             Gives all the weapons and ammo.  Less chance of killing fun.  
idspispopd:  Same as noclip in counterstrike.  Walk through walls.  DooM.  Fun Killer.
idclip:           Same.  DooM2.  Could mostlikely kill fun.

There are definitely more but i can't remember them.


Invincibility-iddqd
All weapons, keys, ammo, and 200% armor-idkfa
Invisibility-fhshh
Reset ammunition-idfa
Berserker strength-idbeholds
Temporary invincibility-idbeholdv
Temporary invisibility-idbeholdi
Full automap-idbeholda
Anti-radiation suit-idbeholdr
Light amplification visor-idbeholdl
Walk through walls-idclip
Chainsaw-idchoppers
Level select-idclev
Toggle full map; full map and objects; normal map-iddt
Display coordinates and heading-idmypos
Change music to indicated level-idmus        <01-32>




(i play alot       ;D ;D ;D       )
Title: Re: Doom cheats.
Post by: scorche on March 22, 2007, 03:54:44 AM
It truly is amazing that you play so much, that you were able to recite those in the exact same order and format as the first result in Google says!  ;)

Honestly... there is no sense in filling this thread with cheats, seeing as we do not have a system for cheats.  If there was a developer or someone else who expressed interest in coding this, and they were unable to Google, and so asked the forums, *then* it would be alright for this.  But no more please.
Title: Re: Doom cheats.
Post by: carocrazy132 on March 22, 2007, 03:36:56 PM
It truly is amazing that you play so much, that you were able to recite those in the exact same order and format as the first result in Google says!  ;)

Honestly... there is no sense in filling this thread with cheats, seeing as we do not have a system for cheats.  If there was a developer or someone else who expressed interest in coding this, and they were unable to Google, and so asked the forums, *then* it would be alright for this.  But no more please.


i wouldnt believe me either but i memorized those, but i never found fhshh on the net, my old friend Quion told me about it
Title: Re: Doom cheats.
Post by: mcuelenaere on March 22, 2007, 04:07:44 PM
Code: [Select]
//
// Player internal flags, for cheats and debug.
//
typedef enum
{
   // No clipping, walk through barriers.
   CF_NOCLIP           = 1,
   // No damage, no health loss.
   CF_GODMODE          = 2,
   // Not really a cheat, just a debug aid.
   CF_NOMOMENTUM       = 4

} cheat_t;

found it in http://svn.rockbox.org/viewvc.cgi/trunk/apps/plugins/doom/d_player.h?revision=9312&view=markup,
so I think there's some built-in support for cheats...
Title: Re: Doom cheats.
Post by: ColdSphinx on March 23, 2007, 01:26:20 AM
so we only need a fuction to open the console, enter the cheat-string and close the console...
Title: Re: Doom cheats.
Post by: Llorean on March 23, 2007, 01:27:48 AM
The game didn't have a console. You just typed the cheats in, mid-game.
Title: Re: Doom cheats.
Post by: ColdSphinx on March 23, 2007, 01:29:58 AM
i forgot, it's a long time ago...
I'm looking trought m_cheat.c/h
Title: Re: Doom cheats.
Post by: mattandme on March 24, 2007, 02:16:22 AM
i know this is kind-of irrelevant to coding this, but i thought ALL the cheats started with id... id decided it in doom 1 and 2, but im not sure if fhshh is right or wrong, i just don't think that it works...
Title: Re: Doom cheats.
Post by: ColdSphinx on March 24, 2007, 05:19:25 AM
are you sure that "ALL the cheats started with id"?
Code: [Select]
struct cheat_s cheat[] = {
  {"idmus",      "Change music",      always,   cheat_mus,      -2},
  {"idchoppers", "Chainsaw",          not_net | not_demo,   cheat_choppers },
  {"iddqd",      "God mode",          not_net | not_demo,   cheat_god      },
#if 0
  {"idk",        NULL,                not_net | not_demo | not_deh,   cheat_k },  // The most controversial cheat code in Doom history!!!
#endif
  {"idkfa",      "Ammo & Keys",       not_net | not_demo,   cheat_kfa },
  {"idfa",       "Ammo",              not_net | not_demo,   cheat_fa  },
  {"idspispopd", "No Clipping 1",     not_net | not_demo,   cheat_noclip },
  {"idclip",     "No Clipping 2",     not_net | not_demo,   cheat_noclip },
  {"idbeholdh",  "Invincibility",     not_net | not_demo,   cheat_health },
  {"idbeholdm",  "Invincibility",     not_net | not_demo,   cheat_megaarmour },
  {"idbeholdv",  "Invincibility",     not_net | not_demo,   cheat_pw,  pw_invulnerability },
  {"idbeholds",  "Berserk",           not_net | not_demo,   cheat_pw,  pw_strength        },
  {"idbeholdi",  "Invisibility",      not_net | not_demo,    cheat_pw,  pw_invisibility    },
  {"idbeholdr",  "Radiation Suit",    not_net | not_demo,   cheat_pw,  pw_ironfeet        },
  {"idbeholda",  "Auto-map",          not_dm,   cheat_pw,  pw_allmap          },
  {"idbeholdl",  "Lite-Amp Goggles",  not_dm,   cheat_pw,  pw_infrared        },
  {"idbehold",   "BEHOLD menu",       not_dm,   cheat_behold   },
  {"idclev",     "Level Warp",        not_net | not_demo | not_menu,   cheat_clev,    -2},
  {"idmypos",    "Player Position",   not_dm,   cheat_mypos    },
  {"idrate",     "Frame rate",        0,   cheat_rate     },
  {"tntcomp",    NULL,                not_net | not_demo,   cheat_comp     },     // phares
  {"tntem",      NULL,                not_net | not_demo,
   cheat_massacre },     // jff 2/01/98 kill all monsters
  {"iddt",       "Map cheat",         not_dm,   cheat_ddt      },     // killough 2/07/98: moved from am_map.c
  {"tnthom",     NULL,                always,   cheat_hom      },     // killough 2/07/98: HOM autodetector
  {"tntkey",     NULL,                not_net | not_demo,    cheat_tntkey   },     // killough 2/16/98: generalized key cheats
  {"tntkeyr",    NULL,                not_net | not_demo,   cheat_tntkeyx  },
  {"tntkeyy",    NULL,                not_net | not_demo,   cheat_tntkeyx  },
  {"tntkeyb",    NULL,                not_net | not_demo,   cheat_tntkeyx  },
  {"tntkeyrc",   NULL,                not_net | not_demo,    cheat_tntkeyxx, it_redcard    },
  {"tntkeyyc",   NULL,                not_net | not_demo,   cheat_tntkeyxx, it_yellowcard },
  {"tntkeybc",   NULL,                not_net | not_demo,    cheat_tntkeyxx, it_bluecard   },
  {"tntkeyrs",   NULL,                not_net | not_demo,   cheat_tntkeyxx, it_redskull   },
  {"tntkeyys",   NULL,                not_net | not_demo,   cheat_tntkeyxx, it_yellowskull},
  {"tntkeybs",   NULL,                not_net | not_demo,   cheat_tntkeyxx, it_blueskull  },  // killough 2/16/98: end generalized keys
  {"tntka",      NULL,                not_net | not_demo,   cheat_k    },         // Ty 04/11/98 - Added TNTKA
  {"tntweap",    NULL,                not_net | not_demo,   cheat_tntweap  },     // killough 2/16/98: generalized weapon cheats
  {"tntweap",    NULL,                not_net | not_demo,   cheat_tntweapx, -1},
  {"tntammo",    NULL,                not_net | not_demo,   cheat_tntammo  },
  {"tntammo",    NULL,                not_net | not_demo,   cheat_tntammox, -1},  // killough 2/16/98: end generalized weapons
  {"tnttran",    NULL,                always,   cheat_tnttran  },     // invoke translucency         // phares
  {"tntsmart",   NULL,                not_net | not_demo,   cheat_smart},         // killough 2/21/98: smart monster toggle
  {"tntpitch",   NULL,                always,   cheat_pitch},         // killough 2/21/98: pitched sound toggle
  // killough 2/21/98: reduce RSI injury by adding simpler alias sequences:
  {"tntran",     NULL,                always,    cheat_tnttran    },   // killough 2/21/98: same as tnttran
  {"tntamo",     NULL,                not_net | not_demo,   cheat_tntammo    },   // killough 2/21/98: same as tntammo
  {"tntamo",     NULL,                not_net | not_demo,   cheat_tntammox, -1},  // killough 2/21/98: same as tntammo
  {"tntfast",    NULL,                not_net | not_demo,   cheat_fast       },   // killough 3/6/98: -fast toggle
  {"tntice",     NULL,                not_net | not_demo,   cheat_friction   },   // phares 3/10/98: toggle variable friction effects
  {"tntpush",    NULL,                not_net | not_demo,    cheat_pushers    },   // phares 3/10/98: toggle pushers
  {NULL}                 // end-of-list marker
};

workin on reimplementation...
Title: Re: Doom cheats.
Post by: mikeh77 on March 27, 2007, 04:40:17 PM
This forum has helped me immensely through several issues, but I had to register simply for this thread. Considering the strafe & backwards functions are not mappable to keys (or are not practical), the cheats would be great.

As far as there being no challenge to the game after the cheats, sometimes it's fun simply to play the game for entertaniment value without having necessarily a challenge - think of the other "screensaver" type plug-ins - there's no challenge to those yet some remain popular, right?

Anyway, this would be truly amazing if someone could make the cheats work. I'm not big into coding but it seems to me a "Cheats" menu in the doom plug-in root menu would make the most sense and would probably be easiest.
Title: Re: Doom cheats.
Post by: scorche on March 27, 2007, 04:45:13 PM
Enough with the "this feature would really be great" posts.  We get it.
Title: Re: Doom cheats.
Post by: Llorean on March 27, 2007, 04:50:20 PM
Any single one of you is free to do it. It's open source. The core devs are mostly busy doing stuff like "Fixing bugs" and while you've all sat here and thought "How great would it be if I could cheat in Doom" not one of you has actually filed a feature request for it.
Title: Re: Doom cheats.
Post by: mikeh77 on March 27, 2007, 08:08:23 PM
... while you've all sat here and thought "How great would it be if I could cheat in Doom" not one of you has actually filed a feature request for it.

While I'm new to this community and I'm still learning the rules and guidelines, I read the FlySpray howto guide and posted a feature request for this, located here:

http://www.rockbox.org/tracker/task/6916

Thanks again for the ideas and pointers here.
Title: Re: Doom cheats.
Post by: mattandme on March 28, 2007, 08:08:41 PM
i always thought doom needed a new key map entirley! possibly, one like the rokboy plugin? i like the touch effect, and it works, while adding more key slots. If its programmed in C, Basic, or java I could help, but thats all i know.
Title: Re: Doom cheats.
Post by: ColdSphinx on March 29, 2007, 06:52:59 AM
@mattandme: whole rockbox is in c (not c++ or c#)

On the tracker there is my first work on doom, not ready but a beginning.
Title: Re: Doom cheats.
Post by: axlgreasetires on March 31, 2007, 03:17:23 PM
Thats GREAT ;D.  But the only problem with writing your own apps for rockbox is not too many people know how to code in C.  Its a really old language and is the for the most part not taught by any schools except maybe a couple colleges.  I would gladly donate the time to write the app but i just don't have time to learn the language at the moment...  Maybe i will over the summer.
Title: Re: Doom cheats.
Post by: ParaplegicSK8ER on April 05, 2007, 11:43:28 PM
Yeah, the cheats would be a nice add on in the game because its a lot harder to play the game on the ipod. I can strafe and easily dodge things on the computer but its impossible on the ipod. Another thing that could help would be some way to turn "run" on. You need it for the second level in Doom2 and other levels in other Doom wads. You cant beat any of these's games because you cant make a jump and just have to give up.
Title: Re: Doom cheats.
Post by: axlgreasetires on April 06, 2007, 07:23:16 PM
I think you mean toggle run because you can already turn run on in the menu before you start the game.
Title: Re: Doom cheats.
Post by: BigMac on April 06, 2007, 09:12:10 PM
But the only problem with writing your own apps for rockbox is not too many people know how to code in C.  Its a really old language and is the for the most part not taught by any schools except maybe a couple colleges.
Do you have any information to back up any of thos claims? C is one of, if no the, widest used languages. It is taught in many high schools, as well as near every college that has a Computer Science major.
Title: Re: Doom cheats.
Post by: axlgreasetires on April 07, 2007, 04:05:59 PM
I have no proof.  I just know that it is known mostly by people that don't buy proper program compiling software from major companies such as adobe and microsoft.
Title: Re: Doom cheats.
Post by: Llorean on April 07, 2007, 04:12:52 PM
"Proper program compiling software?"

A HUGE amount of the software the internet runs on was written in C, and compiled in GCC.

C is pretty much the fundamental programming language responsible for how software developed on home computers, I'd say.

Please, don't just jump out with generalizations like that based on solely your own limited personal experiences.
Title: Re: Doom cheats.
Post by: Febs on April 07, 2007, 04:23:31 PM
I have no proof.  I just know that it is known mostly by people that don't buy proper program compiling software from major companies such as adobe and microsoft.

From Wikipedia's entry on the C programming language (http://en.wikipedia.org/wiki/C_programming):

Quote
C is a general-purpose, procedural, imperative computer programming language developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system.[1] It has since spread to many other platforms, and is now one of the most widely used programming languages. C has also greatly influenced many other popular languages,[2] especially C++, which was originally designed as an enhancement to C. It is the most commonly used programming language for writing system software,[3][4] though it is also widely used for writing applications.
Title: Re: Doom cheats.
Post by: levi47 on April 07, 2007, 04:26:09 PM
Just making up facts and posting them does not make you look smarter. C is probably one of the most useful languages to learn, it gives you a nice high level environment with a lot of low level access. I can't imagine a  university not offering some course in C programming.  I would like to see you program for a DAP in flash or VB.

Aside from that, as soon as i finish my exams at my university that does teach C i am going to take a look at the code and see about compiling it as an option in the initial menu.
Title: Re: Doom cheats.
Post by: Llorean on April 07, 2007, 04:28:06 PM
I will say, it can be getting harder to find straight C in a course, but you'll often find C++ or C/C++ courses in the cases where you can't find C.
Title: Re: Doom cheats.
Post by: levi47 on April 07, 2007, 05:02:26 PM
C programing should be taught in any university that teaches electrical or computer engineering. i can't see how you could learn the workings of a microprocessor without a little assembly and then a little C on top of that to bring in the high level languages. After programing in assembly, C looks mighty appealing.
Title: Re: Doom cheats.
Post by: axlgreasetires on April 08, 2007, 07:05:17 PM
i have tried to learn c and c++ but right now im in highschool and the noobs there don't teach c or c++ or basicly anything except Visual Basic, java, html, and i think thats it.  I don't get why they don't teach c but i had basicly never heard of it till i was young and had just gotten an awesome dell pc that ran windows 98.  

Oh good old assembly: i gave up on that last year.  C does appear to be simpler and more like human language.
Title: Re: Doom cheats.
Post by: Rincewind on April 08, 2007, 09:58:37 PM
you don't need a university course to teach yourself C programming.
Reading a book about it and staring at the rockbox code for hours trying to figure out how small parts of it work was the way I learned it.
I knew Visual Basic and Pascal before, this might not be a good way if you never have programmed before.

Most of the rockbox code doesn't look like anything they tought in the C/C++ course at uni which I had to take last year.
Title: Re: Doom cheats.
Post by: Twilight in Zero on April 08, 2007, 11:36:31 PM
On the subject of Doom cheats...

May I suggest implementing the Konami Code, for the heck of it? :P It won't be completely accurate, but on iPods we could do Menu Menu Play Play Rew FFwd Rew FFwd Select. :P
Title: Re: Doom cheats.
Post by: mikeh77 on April 10, 2007, 07:29:06 PM
Just so we all know, someone submitted a patch here: http://www.rockbox.org/tracker/task/6916

(this is the feature request I made for Doom cheats)...

Not sure if it works since I can't get Rockbox to compile on my computer with cygwin.

Hopefully once the patch is stable and works well we can get it included in a future release, or at the very least convince some unsupported builders to include it in their builds.
Title: Re: Doom cheats.
Post by: ColdSphinx on April 10, 2007, 08:44:23 PM
That patch is only an first implementation and not ready.
I just restoret the cheat functions of prboom and made them work with rochbox. Also I added my first proof of concept to enable the cheats, but currently I haven't time to finish it. It will patch and compile without any error or warning, but everythin you do in the "Cheat" menu is obsolete it just write what cheat you selectet but it won't get readed.
Title: Re: Doom cheats.
Post by: axlgreasetires on April 15, 2007, 07:44:54 PM
hmmm.  What would be great is if we could have a different function for the toggling of the hold switch.  Like make a popup menu that asks if we wan't to auto run and a menu for cheats (I know that this sounds a bit "sketchy" and probably would not work out im just trying to come up with ideas).  But being able to aply  and remove cheats during gameplay and also being able to toggle autorun would be a good feature.

I think that having a key combonation would not work.
Title: Re: Doom cheats.
Post by: mikeh77 on May 14, 2007, 05:09:22 PM
That patch is only an first implementation and not ready.
I just restoret the cheat functions of prboom and made them work with rochbox. Also I added my first proof of concept to enable the cheats, but currently I haven't time to finish it. It will patch and compile without any error or warning, but everythin you do in the "Cheat" menu is obsolete it just write what cheat you selectet but it won't get readed.

It's been about a month now, just curious if anyone else has looked at working with this patch for implementation. If I knew C I would certainly do it. Considering the Doom Scrollwheel Strafe plug-in is included in many of the Unsupported Builds, I'm thinking if this finally gets to be working it would probably also be included. Not sure how much work this would take but considering prboom already has cheat functions coded in, it couldn't be *that* time consuming. Perhaps I'll take it upon myself to learn C just to do this if nobody else continues with it...  :'(

Anyone who is willing to continue this, check the flyspry task on the tracker (link above), and you will have many happy Rockbox Doomers!!  ::)
Title: Re: Doom cheats.
Post by: sss on June 26, 2010, 01:05:10 AM
UPDATED: V2 fixes backpack pickups, read attached file
More new optional patches included.  Tested with latest July 3rd SVN and release 3.6.
__________

Just thought I'd stick this in here for others to find since I'm finished with it.  Try the patches out, they are better than cheats!  Sorry for my millionth doom related post.

External mirror (pick one):
tar.gz archive: http://www.mediafire.com/?uzzyzwn2zyw
zip archive:     http://www.mediafire.com/?0gw2y1myzdm
Title: Re: Doom cheats.
Post by: sss on February 14, 2011, 01:08:00 AM
Oddly enough the patches are still working and we are almost at 3.8.  I just wanted to mark a little update here as people still seem to be grazing at the download links now and then.
Title: Re: Doom cheats.
Post by: [Saint] on February 14, 2011, 02:40:43 AM
Oddly enough the patches are still working and we are almost at 3.8.  I just wanted to mark a little update here as people still seem to be grazing at the download links now and then.

Why is it odd?

The Doom code almost never gets touched.


[St.]