Skip to content

Commit

Permalink
First commit
Browse files Browse the repository at this point in the history
  • Loading branch information
tomasz-rozanski committed Oct 24, 2019
0 parents commit f33f670
Show file tree
Hide file tree
Showing 15 changed files with 3,980 additions and 0 deletions.
99 changes: 99 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
# Prerequisites
*.d

# Compiled Object files
*.slo
*.lo
*.o
*.obj

# Precompiled Headers
*.gch
*.pch

# Compiled Dynamic libraries
*.so
*.dylib
*.dll

# Fortran module files
*.mod
*.smod

# Compiled Static libraries
*.lai
*.la
*.a
*.lib

# Executables
*.exe
*.out
*.app

# Visual Studio Stuff

# Files built by Visual Studio
*_i.c
*_p.c
*_h.h
*.ilk
*.meta
*.obj
*.iobj
*.pch
*.pdb
*.ipdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*_wpftmp.csproj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc

# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
[Aa][Rr][Mm]/
[Aa][Rr][Mm]64/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/
[Ll]ogs/

# Visual Studio 2015/2017 cache/options directory
.vs/

# Visual Studio 2017 auto generated files
Generated\ Files/

# Sublime Text files
*.sublime-project
*.sublime-workspace

# Game Stat Files
*.txt
temp
game_stats/

# Batch files
shell.bat
setup.bat
log.bat
TODO.md
21 changes: 21 additions & 0 deletions LICENSE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# MIT License

*Copyright (c) 2019 Tomasz Różański*

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
92 changes: 92 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
# VSTrack (Vagrant Story Tracker)
[about-vstrack]: #about-vstrack

***VSTrack*** is a small command-line tool for [Vagrant Story][vagrant-game] players, streamers, and speedrunners.

It collects a bunch of useful data from the runnig game, and stores it in standard `.txt` files. This gives you an easy access to information that is often burried behind multiple levels of UI, or not available to the player at all.

One way to use the collected data is to feed the output files into your streaming software as a text input (i.e. Text (GDI+) plugin in [OBS][obs]), and use it as a part of your layout. Keep in mind, that most of the data is formatted with fixed-width fonts in mind (use proportional fonts at your own risk).

At this moment, you can track the following:
* Weapon, Blade, and Shield stats and properties
* Armor (all slots, plus necklace) stats and properties
* Player stats (HP, MP, RISK, STR, INT, AGL, range, walking/running speed)
* Player location (area name, room name)
* In-game play timer (with 1 second precision)

*VSTrack* also detects when the last boss dies, and auto-magically stores the record play time in this very moment.

Weapon, armor and shield data are stored in two formats:
* full
* short: only CLASS and AFFINITY values (useful for item leveling)

## Prerequisites
[prerequisites]: #prerequisites

At this moment, *VSTrack* is working only with the [ePSXe emulator][epsxe-emulator], but the plan is to add support for more emulation platforms.

To use *VSTrack* you'll need:
* **ePSXe** version *1.9.0*, *1.9.25* or *2.0.5*
* **Vagrant Story** NTSC-US version *(SLUS-01040)*

Other SKUs of the game might work, but weren't tested yet.

## How to use it
[usage]: #usage

No installation is required. Just copy the executable into preffered folder, and run it from the command-line or by double-clicking (running as Administrator is recommended).

When you'll see the start menu, press key `1-3` to choose emulator version you're using to play the game, or `0` to exit. If your selection was correct, you should see some basic game information in the console window.

During the first use, the program will create a subfolder called `game_stats`, where all the output files will be stored.

After you kill the last boss, *VSTrack* will write record time into a file, wait for your input and terminate itself. If you want to play another game session, simply restart the program.

## Contributing
[contributing]: #contributing

### Pull Requests
[pull-requests]: #pull-requests

To make changes to *VSTrack*, please send in pull request to the `master` branch on GitHub. I will review it, and either merge or request further changes.

### Issue Tracker
[issue-tracker]: #issue-tracker

If you found a bug, want to suggest a new feature, or disscuss how the program works, please use the Issue Tracker on its GitHub page.

I encourage you to use the following labels:
* `enhancement`: when you request new functionality
* `bug`: if you want to report a part of *VSTrack* that is not working correctly, or not working at all
* `discussion`: if you want to discuss improving something in *VSTrack*

### Development Workflow
[development-workflow]: #development-workflow

To build *VSTrack* use **Visual Studio 2019** or **Build Tools for Visual Studio 2019**. You can build executable from command line, using the `build.bat` script from the project folder, but first make sure to set all required envirorment variables, by calling `vcvars32.bat`. You'll find this script somewhere within the installation folders of the tools mentioned above.

## Acknowledgements
[acknowledgements]: #acknowledgements

I would like to thank:
* [Square-Enix][square-enix] and the game dev team, for creating and publishing such excellent piece of software
* [GameFAQs][game-faqs] guide authors, especially:
* Jay Tilton
* Samuel Riesterer
* Matt Hamand
* Zy Nicholson
* [Data Crystal][data-crystal], for collecting and sharing a huge collection of information about the inner-workings of the game
* [Cheat Engine][cheat-engine] authors and community:
* besides being a direct inspiration for my little tool, CE allowed me to extract information from the game with ease, and test *VSTrack* behaviour in a very reliable way
* CE forums are the huge vault of technical knowledge; I found a lot of programming gems out there
* [MSDN][msdn], for state-of-the-art documentation, which makes developing on Windows such a pleasure


[vagrant-game]: https://en.wikipedia.org/wiki/Vagrant_Story
[obs]: https://obsproject.com
[epsxe-emulator]: https://www.epsxe.com
[data-crystal]: http://datacrystal.romhacking.net/wiki/Vagrant_Story
[game-faqs]: https://gamefaqs.gamespot.com/ps/914326-vagrant-story/faqs
[square-enix]: https://www.jp.square-enix.com/game/detail/vagrantstory/
[cheat-engine]: https://www.cheatengine.org
[msdn]: https://msdn.microsoft.com/en-us/
2 changes: 2 additions & 0 deletions build-nodebug.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
@echo off
cl main.c /Fe: vstrack /nologo /link user32.lib psapi.lib
2 changes: 2 additions & 0 deletions build.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
@echo off
cl main.c /Fe: vstrack /nologo /Zi /link user32.lib psapi.lib
Loading

0 comments on commit f33f670

Please sign in to comment.