GithubHelp home page GithubHelp logo

nalatroz / rpgtoolkit Goto Github PK

View Code? Open in Web Editor NEW

This project forked from chrisbmatthews/rpgtoolkit

0.0 1.0 0.0 29.37 MB

Legacy RPG Toolkit Development System

xBase 0.21% HTML 8.21% JavaScript 0.06% CSS 0.04% Batchfile 0.02% Visual Basic 54.18% C++ 25.54% C 10.54% DIGITAL Command Language 0.05% Makefile 0.19% SAS 0.02% Assembly 0.41% Pascal 0.27% Module Management System 0.02% Objective-C 0.21% Roff 0.04%

rpgtoolkit's Introduction

RPG Toolkit Development System; Version 3

I've converted this from CVS -> GIT and moved it over to GitHub, largely for posterity.

The original Sourceforge project is located here: https://sourceforge.net/projects/rpgtoolkit/

I'm keeping this around for personal nostalic reasons. After the rpgtoolkit was GPL'ed, some variants were forked by volunteers in the community. The latest one I am aware of is here: https://github.com/rpgtoolkit (I am not involved with it in any way, just as my involvement with RPGToolkit 3 ended after version 3.0.4 or so)

Final cbm commit

In fact, you can find my last commit in the history, as the old CVS history has been preserved. I have also tagged it:

git checkout cbm_lastcommit

...and the commit history shows:

commit 3276066eac68613a599a4db3276066eac68613a599a4dbb69542f93773091a6b69542f93773091a6
Author: cbm_rpgtoolkit <cbm_rpgtoolkit@8ad37bdc-5837-4682-a52a-fbb6d9f1e9f7>
Date:   Tue Sep 14 20:22:33 2004 +0000

    changed freeimage.lib

Finding Your Way Around

I'm going to explain this for the state of the code as I left it after my last commit. Do a git checkout cbm_lastcommit to follow along. A good place to start might be the main entry point of the engine. Have a look at:

vb/trans3/modules/transMain.bas

The main entry point is the Main() subroutine. It briefly calls into mainEventLoop() which is defined in the C++ runtime here:

vc/actkrt3/GUISystem/platform/transHost.cpp

It then calls quickly back into the VisualBasic code by calling gameLogic() in transMain.bas (essentially doing a callback into the VisualBasic code)

You can obviously see we were looking to progressively move more and more code into winmain.cpp and its peers over time. At this stage, most of the logic still lived in VB, but the engine had a toe-hole in the C++ codebase.

Really, everything flows from the gameLogic() subroutine. It represents one 'frame', or one 'step' of engine execution. You should be able to follow everythign else it does from there.

...Later on, other contributors ported most of the trans3 logic from VisualBasic into VisualC++, so you can follow the same path if you get the HEAD revision and look through vc/trans3/app/winmain.cpp

All-in-all, I think it's pretty easy to read and follow. Writing this was the first time I've looked at the code in more than a decade, and it all came flooding back tto me. So I hope it's clear and clean code (for VisualBasic, anyway ;))

Why Keep This Copy in Your Personal Repo?

The RPG Toolkit was my "masterpiece" sideproject when I was in my early 20s and going through university. I was amazed by the amount of community support I got. As is the case with most personal projects, I just wanted to "scratch an itch", and I was incredibly into videogames at the time.

Top-down 2D RPGs seemed relatively simple to code, and I set about doing the very best I could. I think I'm pretty happy with how it turned out, considering the development tools I had available to me in the late 90s and early 2000s.

Honestly, if it wasn't for this project, I wouldn't be the software developer I have come to be today. I developed so much of my early, formative, programming style on this project.

So I wanted this in my personal GitHub, because so much of it is really, personally, mine.

I really appreciate the volunteers who grabbed the torch after I stepped down. I'm just happy anyone else ever found this useful :)

Chris Matthews (cbm); July, 2019

rpgtoolkit's People

Contributors

chrisbmatthews avatar

Watchers

 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.