Hellband OnLine
Collapse
X
-
I hope you know about source control systems, I use google code's svn. I use RapidSVN to connect to svn repositories.
Web view of the code is here :
You can check out from svn with this URL:
svn checkout http://hellband.googlecode.com/svn/trunk/ hellband-read-only
I somewhat consistently follow these coding guidelines :
Naming Standards
1 - uppercase vars should be treated as constants, dont change 'em pleaseIndentation
2 - private / internal functions and variables should start with an underscore, see the OO part on how to use them after
3 - constants can be THIS_IS_BAD ( keep underscores from legacy code ) , javascript variables should be thisIsBad, however I find myself at times for the heck creating this.is.bad, you can do either.
Should be done with tabs ( I know, I am not consistent myself ), I like to look at code with tab = 2 spaces because I got brain damaged by ABAP coding. At some point I will need to write a macro or formatter to fix indentation in the whole code base.Comments
I keep the verbose comments of the C code, mostly. My own stuff is not at all as 'well' commented. Just make sure that you can honestly say you would still understand the code after not looking at it for 3 months.Place of Things
1 - In general code is fairly logically placed , please continue this traditionsOO
2 - all extending of standard objects ( Math , Array, String ) should be done in math.js, which at some point should probably be called extend.js
3 - all functions that you 'borrow' from the intarnet should go into myquery.js with a mention where you found the code
1 - each js has either 1 global var or 1 global prototype , functions are declared outside the var declaration with an underscore and then attached.Copyright
Example would be :
var wizardMode;
function initializeWizardMode()
{
wizardMode = {};
wizardMode.zap = _zap;
}
function _zap(){
..
}
The reason I do it this way is that it is very newbie and C syntax friendly, I know this could be written cooler and shorter but my colleagues at work ( god bless their soul ) have shown me that simpler is better for js OO.
All code that you contribute is yours and becomes dual licensend under GPL and Ye Olde Angband License.
Feedback & Critique
All critique of my code is welcome, I have elephant skin ;]
Data
Any changes to monsters,items, features, races, vocations, magic should be done thru hellband.xls. Yes, that means if you are a pure Linux user you probably cant modify them ;\ There is a macro inside that generate js code from each sheet. Niftyness score of that code is about 7 on 10.
Tools
clean.judo can be used to 'clean' copy pasted C code from the hellband C code, it will convert some of the constructs in C to their counterparts in javascript. If you want to use it, you will need to visit the judoscript site, download the jar and use a magic incantation to have it clean :Lingo
java judo -q clean.judo %1.js ( assuming judo.jar is in your classpath )
Some things are named differently you will adapt quickly. Class = vocation, item = gizmo , equipment = gear , inventory = gear.pack etc.
OMG
I understand if this scared you off
If that didnt scare you off, you can use the svn repository to download. Just try to start each vocation once and try to press 'i' in town. Warrior works fine, fairly sure other vocations break. For example potion flavors are not yet ported, so any vocation starting with a potion will see funkyness.
If you send me the change you propose to fix any bug you encounter, I will check it out. If your code is solid enough, you get full access to svn, like takkaria.
T.* Are you ready for something else ? Hellband 0.8.8 is out! *Comment
-
-
The knowledge menu seems mesed in 0.86 on vista. Hitting the tilde key and accessing any of the options yields a message such as for artefact knowlege: Cannot open '\s3r0.5'
Lucifer is doing such odd things to my leprechaun and I can't check the corruptions..Comment
-
Familiar (I had to fix this for Zaiband). The MSVCRT C-standard temporary file and temporary filename functions are broken on Vista.Zaiband: end the "I shouldn't have survived that" experience. V3.0.6 fork on Hg.
Zaiband 3.0.10 ETA Mar. 7 2011 (Yes, schedule slipped. Latest testing indicates not enough assert() calls to allow release.)
Z.C++: pre-alpha C/C++ compiler system (usable preprocessor). Also on Hg. Z.C++ 0.0.10 ETA December 31 2011Comment
-
EDIT: OK, did a bit of an update, so most of the objects should be OK, but this is completely untested. All the monsters are completely screwed up, though they will appear as monsters now (or some, possibly, as black spaces), any similarity to the actual monster is purely coincidental.Last edited by buzzkill; October 4, 2009, 22:36.www.mediafire.com/buzzkill - Get your 32x32 tiles here. UT32 now compatible Ironband and Quickband 9/6/2012.
My banding life on Buzzkill's ladder.Comment
-
EDIT: Patch against SVN uploaded now.Last edited by zaimoni; October 5, 2009, 00:39.Zaiband: end the "I shouldn't have survived that" experience. V3.0.6 fork on Hg.
Zaiband 3.0.10 ETA Mar. 7 2011 (Yes, schedule slipped. Latest testing indicates not enough assert() calls to allow release.)
Z.C++: pre-alpha C/C++ compiler system (usable preprocessor). Also on Hg. Z.C++ 0.0.10 ETA December 31 2011Comment
-
(Link will die once official release fixing this is out.)Zaiband: end the "I shouldn't have survived that" experience. V3.0.6 fork on Hg.
Zaiband 3.0.10 ETA Mar. 7 2011 (Yes, schedule slipped. Latest testing indicates not enough assert() calls to allow release.)
Z.C++: pre-alpha C/C++ compiler system (usable preprocessor). Also on Hg. Z.C++ 0.0.10 ETA December 31 2011Comment
-
Ok. The leading \ in the filenames not being opened should be gone, regardless.
Note that the patched executable (~954K, original is ~948K) does expect to be able to write to the directory with the *.ini file. Installing any *band to a directory where it doesn't have write permissions (E.g., Program files) generally breaks.Zaiband: end the "I shouldn't have survived that" experience. V3.0.6 fork on Hg.
Zaiband 3.0.10 ETA Mar. 7 2011 (Yes, schedule slipped. Latest testing indicates not enough assert() calls to allow release.)
Z.C++: pre-alpha C/C++ compiler system (usable preprocessor). Also on Hg. Z.C++ 0.0.10 ETA December 31 2011👍 1Comment
-
Hah,
6 years later..
I look at the efforts, and while nice I just cant figure out how to continue..
So, I have restarted from scratch again ..* Are you ready for something else ? Hellband 0.8.8 is out! *Comment
-
Comment
Comment