Editing
Terminal
(section)
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Usage == The terminal is accessible at any point, even on a fresh copy of the game. Unlocking it requires pressing the 7 key four times: first in the Story menu, which unlocks the joke week; then in '''Supernovae''', which takes you to '''Cheating'''; then in Cheating, which takes you to '''Unfairness'''; lastly in Unfairness, which takes you to the terminal. Another method of access for the terminal unlocks only after playing Exploitation at least once. Once the player has, it will appear as a new menu option in freeplay titled "Console"; this menu contains Cheating, Unfairness, Exploitation, and Enter Terminal. Selecting the last option takes the player directly to it without its initial cutscene. === Commands === Both externally and in the source code, inputs are identified as ''commands'' (a certain prefixed word) and ''arguments'' or ''parameters'' (specifications to be used for commands). For clarity's sake on this page, ''argument'' will be used to refer to an expected placement of text following a command, which has a certain number of valid ''parameters'' of which it must be substituted with one when using a command. For example, in the '''admin''' command, its first argument has one parameter, ''grant'', and its second argument has 8 parameters, including ''dave.dat'', ''bambi.dat'', and so forth - using a command like this in the game, henceforth, will look like "'''admin grant dave.dat'''". All commands are case sensitive; not all of their parameters are. The commands are as follows: {| class="wikitable" style="margin:auto" |+ 9 commands |- ! Command !! Version !! Help text !! # of Arguments !! # of Parameters !! Notes |- | '''admin''' || All || ''Shows the admin list, use grant to grant<br>rights.'' || 0<br>2 || 1: 1<br>2: 6 (3.0a), 7 (3.0b)<br>[[Terminal#admin|Jump to list]] || Using this command with the parameter ''grant'' and the name<br> of a .dat character file triggers various game events.<br>This is the command necessary for unlocking '''Exploitation'''.<br> Parameters are case sensitive. |- | '''characters''' || All || ''Shows the list of characters''. || 0 || 0 || Entering any arguments has no effect and performs the<br> same action. |- | '''clear''' || All || ''Clears the screen.'' || 0 || 0 || Entering any arguments has no effect and performs the<br> same action. |- | '''help''' || All || ''Displays this menu.'' || 0 || 0 || Returns a list of valid commands and their functions.<br>Entering any arguments has no effect and performs the <br>same action. |- | '''open''' || 3.0b || ''Searches for a text file with the specified ID, <br>and if it exists, display it.'' || 1 || 45 (3.0b)<br>44 (current<br> source code)<br>[[Terminal#open|Jump to list]] || Replaced ''texts'' in 3.0b.<br>All parameters except for those in base64 are case<br> insensitive.<br>Entering any additional arguments has no effect and<br>performs the same action. |- | '''secret mod leak''' || Pre-3.0a<br>Current source<br> code || ''No providing such leaks.'' || 0 || 0 || This command only existed in development and was not<br> usable in 3.0a[https://github.com/BemboLikePizza/VsDave/commit/d5c28ff602a6d511e81a36bb987b7fcc074594de#diff-c37d0deb77707b5c89b7a25ac18d3b6e018ebd1154eaae13b81ed68e60b00a6fL9] or 3.0b[https://github.com/BemboLikePizza/VsDave/commit/0e5ab3d7e6bc61e3538ab51077c770dc76434278]. In the current source <br>code, it has been re-added to take the player to the <br>You Can Think Pad minigame from '''Roofs'''. |- | '''texts''' || 3.0a || ''Searches for a text file with the specified ID,<br> and if it exists, display it.'' || 1 || 14<br>[[Terminal#open|Jump to list]] || Replaced by ''open'' in 3.0b. |- | '''vault''' || 3.0b || ''Store valuable files here. Takes 3 key<br>parameters seperated'' [sic]'' by spaces.'' || 3 || 1: 3*<br>2: 3*<br>3: 3*<br>[[Terminal#vault|Jump to list]] || When entered with all three parameters, it reveals 8 <br>additional parameters for the second argument of ''open''.<br> Vault's parameters can be entered in any order at least<br>once. Parameters are case sensitive.<br>Entering any additional arguments has no effect, regardless <br>of where they're placed. As long as the three parameters<br> are used anywhere, it will perform the same action. |- | '''welcometobaldis''' || 3.0a-3.0b || ''No providing such leaks.'' || 0 || 0 || In 3.0a, this command took the player to the You Can <br>Think Pad minigame that precedes '''Roofs'''. In 3.0b, it was<br>changed to only output the text "This was fun while it <br>lasted but do it the intended way now plz k thx". In the<br> current source code, the command has been removed<br> entirely. |} In total, there are '''58''' combinations of commands that produce unique outputs in 3.0b, '''25''' in 3.0a, and '''57''' in current source code. === Controls === Any key pressed by the player affects the text input. Many keys and common shortcuts do not function the same in the terminal as they would in other typical applications. The output of each key has been mapped below: [[File:Terminal Keyboard.png|thumb|center|1200px|A keyboard diagram for the outputs of the terminal.]] The keys that have special functions are as follows: * '''Shift''': Change text to uppercase * '''Esc''': Exits from the terminal and returns to the main menu * '''Enter''': Enters the command for processing * '''Space''': Self-explanatory * '''Backspace''': Also self-explanatory, although it is limited to only erasing one letter per keypress * '''Ctrl + Backspace''': Erases the entire line (screen does not update until another key is pressed) * '''Num Lock''': Alters the outputs of certain numpad keys Many keys have been altered to produce different text results than normal, including some special keys. This is controlled by three key functions: * The game converts all key inputs except for ''enter'', ''shift'', ''backspace'', and ''space'' into plaintext outputs;[https://github.com/BemboLikePizza/VsDave/blob/0e5ab3d7e6bc61e3538ab51077c770dc76434278/source/TerminalState.hx#L442] * It then checks from the array '''unformattedSymbols''' to see if the newly-converted string matches any entries; * If there is a match, it changes the output again to its equivalent properly formatted symbol stored in the array '''formattedSymbols'''. To use an example from the game, this process looks like this: The player presses the semicolon key. This input is converted to a lowercase string, which becomes "semicolon". Finally, this string becomes the correct intended symbol, ";". However, the list of unformatted symbols is not exhaustive to all the keys on the keyboard and only includes numbers and limited punctuation marks.[https://github.com/BemboLikePizza/VsDave/blob/0e5ab3d7e6bc61e3538ab51077c770dc76434278/source/TerminalState.hx#L37] This is why many keys, which do not have any matches in the unformattedSymbol array, simply produce the plaintext name of the key when pressed. Interestingly, an unformatted entry for ''plus'' exists but not for its formatted equivalent. Because caps lock has a plaintext output, pressing it will not affect the casing of typed letters. Only the shift key can alter casing, and it does this universally for any key that has an output containing alphabetic letters (so entering Shift + Ctrl will output CONTROL). Due to the modifications to the shift and ctrl keys, it is impossible to use a majority of keyboard shortcuts, such as copying, pasting, selecting, and moving selected text. Other features to note: * The following symbols are impossible to type: '''!@#$%^&*()_+{}|\:"'<>?`~'''. ''Valid'' symbols include: ''',./;[]=''' * Esc is both a function and a text key. For a split second while the screen transitions, one will be able to see "escape" having been added to the text input. * The alt key does nothing, but it does produce a sound when pressed. === Errors === There are 6 (internally, 7) error messages that can display for various invalid command uses. 3 of them are contained in '''terminalList.txt''' and 3 are in '''TerminalState.hx'''. They are as follows: {| class="wikitable" style="margin:auto" |+ 6 errors |- ! Error !! Text !! Cause |- | '''term_unknown''' || ''Unknown command "[input]"'' || Using an invalid command |- | '''term_grant_error1''' || ''[input] is not a valid user or character.'' || Using an invalid parameter for the second argument of ''admin''.<br>Does not display if the first argument is also invalid. |- | '''term_admin_error1'''<br>'''term_admin_error2'''<br>(used together) || ''No version of the "admin" command takes [number] parameter(s).'' || Using anything other than 0 or 2 arguments for ''admin''. This<br>displays regardless if the first argument is entered correctly.<br>The number of arguments is counted by each word proceeding<br>from ''admin'' separated by whitespace. |- | ''No variable name'' || ''File not found.'' || Using an invalid parameter for ''open'' |- | ''No variable name'' || ''Invalid keys. Valid keys: [number]'' || Using any fewer than the 3 parameters for ''vault''. The number<br>counts how many correct parameters were in the input; for<br>example, using ''vault free'' will return ''Invalid keys. Valid keys: 1''. |- | ''No variable name'' || ''Invalid Parameter'' || ''Intended'' to appear when the first argument of ''admin'' is invalid, but<br>it does not display in the game. |} The last error message listed is bugged - henceforth, when the player uses the ''admin'' command with two arguments and the first one is invalid, it returns nothing. This is because the code that handles the admin command output does not reset the previous text in the ''else'' branch of the statement evaluating if the first argument is ''grant''.
Summary:
Please note that all contributions to Dave and Bambi Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Dave and Bambi Wiki:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Log in
Request account
Namespaces
Page
Discussion
English
Views
Read
Edit
Edit source
View history
More
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Tools
What links here
Related changes
Special pages
Page information