Code Monkey home page Code Monkey logo

blockda / blowtorch Goto Github PK

View Code? Open in Web Editor NEW
24.0 9.0 8.0 52.04 MB

A tool for playing text based adventure games that communicate over Telnet. Features include simple alias replacement, triggers, timers, custom speedwalks, xterm256 color support, lua scripting, plugins and miniwindows.

Home Page: http://bt.offsetnull.com

License: MIT License

C 78.85% C++ 0.26% Java 12.93% Lua 4.97% Shell 0.06% Assembly 0.65% Makefile 0.27% Python 0.02% HTML 1.81% Roff 0.02% CSS 0.06% Batchfile 0.10%
android lua c android-sdk android-ndk jni-android

blowtorch's Introduction

Contributors Notice

I am accepting pull requests, feature requests and issues using the github project tracking tools. If you need more help setting up the code base for compilation, assistance in finding out how something works, or where to go to look for "x", please feel free to ask me. This is the first time I've ever managed an open source project so I could use feedback on how I could do things better. Or let me know if I've got something out of bad practice checked into source code, BlowTorch is a work in progress; It can always be better.

BlowTorch Source Code Repository

To Build BlowTorch you will need the following things downloaded:

  • Android SDK (latest version is fine)
  • Android NDK, specifically any version that isn't the latest. r15c is what I use.
  • Unpack these, note the paths, they will be needed later
  • For now the LuaJit, SQLite3, LuaJava, and Lua extension modules have their source code checked in for ease of use. I am pretty sure this is bad practice so it will probably be replaced by a downloader script or instructions here on what version to download and where to extract it.

Now set the following Environment Variables:

  • export ANDROID_SDK_ROOT=path to sdk root
  • export NDK_HOME=path to ndk root
  • export NDK_HOST_CC_TARGET=darwin-x86_64 for mac, linux-x86_64 for unix, i dont know for windows
  • NDKABI=14 is defined in build_ndk_libraries.sh this should be moved.
  • The current build script hard codes the compiler as GCC v.7. This should be pulled out into an environment variable.

Now execute the NDK build script:

  • ./build_ndk_libraries.sh

With the native libraries built, the android project can be built with gradle:

  • ./gradlew :BT_Free:assembleDebug
  • ./gradlew :BT_Free:assembleDebug

or

  • ./gradlew :BT_Free:assembleRelease
  • ./gradlew :BT_Aard:aasembleRelease

note: the gradle project will attempt to sign the apk with a non existant certificate, drop your certificate into the appropriate location and the gradle project will pull the password from an environment variable, BT_RELEASE_PASS for the stock BlowTorch and BT_AARD_PASS for the Aardwolf client. If you do not know about apk signing, please see the android developer documentation.

double note: the location that the build scripts look for certificates is in the build.gradle for the respective project. For the stock BlowTorch client it looks for BTLib/key/bt_privatekey.keystore and for the aardwolf client it looks for BT_Aard/key/signiture_cert the passwords are passed via system environment variable.

If you want to set the password from the command line without seeing it use the following:

#!/bin/bash
 
read -s -p "Enter Password: " BT_RELEASE_PASS
export BT_RELEASE_PASS

Taking special care to source the script into your current environment, or the script will execute inside of its own session, set the variable and then the environment terminates with the program.

source ~/bt_enter.sh

The output from the gradle build is in BT_[Free|Aard]/build/outputs/apk.

blowtorch's People

Contributors

blockda avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

blowtorch's Issues

History recall from the input bar

Or as a user of aardwolf requested, contextual help for game commands.

This would look like a bar that pops up above the input bar that contains past entries. Configurable max amount. Consider moving history to an sqlite database, either natively or through java.

Launcher sometimes eats settings.

Not known how to reproduce the issue.

But sometimes the launcher loads and the list is empty. The file that it attempted to save the list to is 0 bytes and it is gone.

Internal settings are stored under a file named whatever the connection is named, making a new entry in the list with the same name as your connection had should probably load the settings it had before.

Bad text rendering for lusternia.com

Reported via email:

Address is lusternia.com port 23, create a character then try learning a skillset. If you do AB , it should show details of that ability bit in this case, you see black or unlegible texts

screenshot_20180513-230906

Does not support the aardwolf UTF-8 extended ascii map

So close.
Must set options->system encoding->UTF8
on aardwolf: maptype <anything but 0>

result with side by side by running tags on/off and maptype toggling; running the aardwolf scripts for the map miniwindow.

I think it is the default font not actually monospacing those characters. Its... off..

screenshot_20180509-163914

Scripting Question: Passing alias "variable" into LUA script

Hello! Trying to do some LUA scripting via aliases. I have an alias "BNK_1" that holds the number "55555". (It's a "variable" alias.)

Then have a new "Deposit" alias:

/x=($1);/y=x / 10;/SendToServer("bank " .. BNK_1 .. " deposit " .. y)

How do I get the alias to act as a variable in the LUA?

Logging

Logging logging logging logging logging.

Other clients do it. Logging. To the sdcard, internally. Anywhere.

Let them scroll through it. somehow get the time/date in there so you can see how far back in time the log goes.

Make the . and / optionally configurable characters

Since these can be reserved for use in games, they should be able to be changed to other characters.

. can be escaped with .. but that is only so nice.

/ can't be escaped if I recall correctly and that one is an issue with some games.

Button overhaul

Add option to flip button to up/down/left/right. Also longpress and double tap. So together with normal tap you could have actually 7 buttons in 1 button.

Hardcore version is flip and hold, which gives even more possibilities (I've found this feature in Xposed Edge for Android).

Add option for pure black window backgrounds.

OLED screens benefit from pure black color. Should be an option. The current window and mini window color background color is 0x0A0A0A.

All windows should follow the single option. So the aard script set with the layout manager should play nice and follow the system setting.

Android 10 warning marshal.so text relocation.

As shown in the title.

I deployed sdk and ndk according to the instructions on ubuntu, and I cannot successfully compile BLOWTORCH TEST, so I would like to ask if we can compile marshal.so separately? What parameters need to be specified?

Service crashes and eats settings.

Not sure how, I was playing somewhat normal. Although I had the new tick notification trigger testing going. The whole thing crashed very hard and came back with the dreaded, no settings, and the settings file is 0 length. They gone. Frustrating.

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.