GithubHelp home page GithubHelp logo

mindfulvector / batbox Goto Github PK

View Code? Open in Web Editor NEW

This project forked from batch-man/batbox

0.0 0.0 0.0 150 KB

Allows to perform multiple tasks in single go (1 file for all options), but with new additional switches.

License: Other

Assembly 100.00%

batbox's Introduction

BatBox - by DarkBatcher

Description

BatBox is an external command that allows using console graphically. Furthermore, it enables also user interactions such as mouse and keyboard input. BatBox is an extremely small program (2 kilobytes) yet powerful and fast utility with with 11 switches.

Author: DarkBatcher

Usage

batbox [/d Text] [/g X Y] [/c Color] [/m] [/k[\_]] [/a Character] [/w Duration] [/f State] [/s File] [/o OffsetX OffsetY] [/h Mode] [/p Mode]

Allows user to manage console.

  • /A : Prints character associated with a code.
  • /C : Changes the color of the text that will be written (unlike cmd's color command, it doesn't change all the color)
  • /D : Prints text.
  • /F : Change console's window mode
  • /G : Changes cursor position. S
  • /H : Hides or show the console's cursor.
  • /K[_] : Get a user keystroke. If /k_ is used, it won't wait for input and returns 0 if no key is pressed.
  • /M : Get a user click.
  • /O : Moves the origin of console. The default origin is (0,0) at the top corner left. This command is useful to make
  • /P : Changes the console's window mode.
  • /S : Plays a .WAV file.
  • /W : Make a delay. The unit for this switch are milliseconds.
  • /Y : Same as /y, but will detect any mouse action, including movement. It can be used for text hovering. sprites via BatBox.

If you want create graphisms using BatBox, you can generate a BatBox command line from a text file containing an ASCII art using SpriteBox (-> spritebox) tool.

Notes

You can use multiple options on a single BatBox command line, so the following script:

batbox /g 10 10
batbox /d "Hello world"
batbox /g 0 0

Can be shortened like this:

batbox /g 10 10 /d "Hello world" /g 0 0

You can specify numbers in BatBox's parameter using decimal, hexadecimal and octal bases. For hexadecimal, add "0x" at the beginning of the number and for octal add a "0" also at the beginning.

Screenshot

Example of displaying a text at desired coordinates and changing consoles color**

image

Example of getting user input through mouse using left and right click**
Example of getting user input through keyboard and displaying ASCII value corrosponding to entered character**

image

Example of creating a delay in commands**

Compatibility

BatBox is fully compatible with cmd.exe. However, BatBox isn't a native command for Windows, so you have to use the following code to generate it dynamically:

for %%B in (
TVNDRgAAAABzAwAAAAAAACwAAAAAAAAAAwEBAAEAAAAAAAAARwAAAAEAAQAABgAAAAAAAAAA
/kJZtSAAYmF0Ym94LmV4ZQA/2UEnJAMABkNLtVRfSFNhFD9XN/DPcms6ECq7UosewkgTQhAm
01KatZwYRGDX7W73znnvuPdKVi8LHVQ+9RQ9xgSDwnrwwUJIsYcQpJeeykBCagMpobIeyq9z
7p1OIbKH+rbfd8/5nfN93+87O3edF1LAAYANXMAYgI8cHD7YeaQQFfufVsBk6ULtFBdYqO2W
ZJ1PampMEwb4sKAoqsH3ibw2qPCywreeDfEDakSs21V2cGOPYBtAgOOgw/v93Aa3BE6unONO
oigwQcO1BaSOnkUAebmbacBb/EsUV7x13WZm3s2PmBvgLvcXl/3Hoy6aEAx8HrHlBdks3VvH
JSrFfx6Sq8oHcesh2WgCnJjnYSXSX5ln0e2DjINy1vJOCTrZF1gy/63K1Dx/jEWflELTnR6M
OUfGkT8Ve7eae80Yy6bRC7JGh7njMibk5pBOXeN6nekKPJx5JvGY9Ixz5AHyzHMfvWa6sjNd
boaJsDNqE+Z5jHa2AXcstvfiVl7q1kwViakxyTCSs0suzk4ca7Rm6+gsHd1Oij7TXtJRN7Fj
uGGunti31FLxgtQvlF9NERITkg4U8ouQjVezxhIzcQkDVgU5qdo80OJXkB9upgDWZAGXRIeb
KV7kTD9D75v9MDo/0XKmH+E82rwX/Zvrs59c19/Tve7xVVZdbmO02MwOnu+RDhV0XF1HdV6r
MqskVyaiCokMVSdbRhaVJBekQDW6cfyEmGcKlw8/d8zNfihi4/Uk1E6/u210Hz1G96TfOEfo
hZiLg1V0rw7eSJP5BW8YdJcPJhAfERcRtt0+qEEcRywgphH9MSEcjQyolzfa7EZloeUy+MqN
oT/tLnATaC+6f9+inaEef1d3XWsgAKfbus60BRrqTQd+4AIHblSDOIHoRkiIZP6wneLYqqIR
MiLtghJJiOSHRMOvKrqaEDvxf2o70y0OGS2Gocl9g4a4LeIf1HRVC6q6bMiqQqu6RCGSD3Yo
yUGjhfITopjctq5V1pMJ4Yp51Axqmke8QiwjVhBreZ1/iuFtNFkxomT1xkQjLJkWmQOCrAha
TEdfHJINk+/vkyxLNzRDTQD8Ag==
)do echo:%%B>>"%tmp%\x.dat"
certutil -f -decode "%tmp%\x.dat" "%tmp%\b.dat">nul
del "%tmp%\x.dat" /q>nul
expand "%tmp%\b.dat" "%cd%\batbox.exe" >nul
del "%tmp%\b.dat" /q>nul

As BatBox is written in assembly language, porting it to other operating systems is hard. Therefore, it is only avaliable for Windows. If you're looking for a cross-platform alternative, take a look at DarkBox, made by TSnake41.

License

BatBox is distributed under GNU GPL version 3.

Article and video demonstration

Article: https://batch-man.com/batbox/

Video: https://www.youtube.com/watch?v=yL8zNujYyMQ

batbox's People

Contributors

anic17 avatar dbisht1208 avatar thekvc avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.