Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - Daemonward

on: May 24, 2012, 07:43:30 pm 1 General Category / User Created Content / Patch to Display Inventory Weight and Carrying Capacity

Something about GearHead has been bugging me for years now and I finally decided to do something about it.

Ask yourself, what is wrong with this picture:





If you said, "That poor chap has gone over his weight carrying capacity, but he has no way of knowing how much he is carrying or how much he can carry," then you might be interested in this:





If you'll direct your attention to the lower left hand corner of the screen, you'll see that next to the HP, SP, and MP there are some new numbers. Enc (encumbrance) displays how many kg you are carrying (rounded up) and how many kg you can carry before you start incurring encumbrance penalties. If you would like to add this feature to your own game, simply replace the CharacterHPSPMP procedure (found in glinfo.pp for GH2 and in sdlinfo.pp for GHAR) with the following modified procedure and recompile the game. Enjoy!

Code: [Select]
Procedure CharacterHPSPMP( M: GearPtr );
{ Display the HP, SP, and MP for this model. }
const
StatName: Array [1..8] of String = (
'Re','Bo','Sp','Pe','Cr','Eg','Kn','Ch'
);
GutterWidth = 8;
var
CurP,MaxP: Integer;
msg: String;
T,X,S: Integer;
C: TSDL_Color;
begin
CDest.Y := CZone.Y + TTF_FontLineSkip( Game_Font ) + 65;

AI_PrintFromRight( 'HP:' , GutterWidth , NeutralGrey , Small_Font );
CurP := GearCurrentDamage( M );
MaxP := GearMaxDamage( M );
msg := BStr( CurP );
AI_PrintFromLeft( msg , CZone.W div 5 - GutterWidth , StatusColor( MaxP , CurP ) , Small_Font );

AI_PrintFromRight( 'SP:' , CZone.W div 5 + GutterWidth , NeutralGrey , Small_Font );
CurP := CurrentStamina( M );
MaxP := CharStamina( M );
msg := BStr( CurP );
AI_PrintFromLeft( msg , CZone.W * 2 div 5 - GutterWidth , EnduranceColor( MaxP , CurP ) , Small_Font );

AI_PrintFromRight( 'MP:' , CZone.W * 2 div 5 + GutterWidth , NeutralGrey , Small_Font );
CurP := CurrentMental( M );
MaxP := CharMental( M );
msg := BStr( CurP );
AI_PrintFromLeft( msg , CZone.W * 3 div 5 - GutterWidth , EnduranceColor( MaxP , CurP ) , Small_Font );

AI_PrintFromRight( 'Enc:' , CZone.W * 3 div 5 + GutterWidth , NeutralGrey , Small_Font );
CurP := EquipmentMass( M );

{ For the PC, the following encumberance penalties are applied based the the encumberance level: }
{ Speed penalty = EncumberanceLevel, Reflex penalty = EncumberanceLevel / 2 }
{ EncumberanceLevel = (EquipmentMass - (2 * GearEncumberance)) / GearEncumberance. }
{ Therefore, EncuberanceLevel = 1 when EquipmentMass = 3 * GearEncumberance. }

MaxP := GearEncumberance( M ) * 3;

{ At SF:0 each point of mass = 0.5 kg. Add 1 and divide by 2 so the integer division will round up to the nearest kg. }

msg := BStr( (CurP + 1) div 2 );

{ EnduranceColor turns from green to red as the value approaches 0. }
{ Using (MaxP - CurP) it will change from green to red as EquipmentMass approaches EncumberanceLevel = 1. }

AI_PrintFromLeft( msg , CZone.W * 4 div 5 - (GutterWidth div 2) , EnduranceColor( MaxP , MaxP - CurP ) , Small_Font );


AI_PrintFromRight( '/' , CZone.W * 4 div 5 + (GutterWidth div 2) , NeutralGrey , Small_Font );
MaxP := GearEncumberance( M ) * 3 div 2;
msg := BStr( MaxP );
AI_PrintFromLeft( msg , CZone.W - (GutterWidth * 3) , NeutralGrey , Small_Font );
AI_PrintFromLeft( 'kg' , CZone.W - GutterWidth , NeutralGrey , Small_Font );



CDest.Y := CDest.Y + TTF_FontLineSkip( Small_Font );
for t := 1 to 8 do begin
AI_PrintFromRight( StatName[t] , CZone.W * (t - 1) div 8 + 2 , NeutralGrey , Small_Font );

S := CSTat( M , T );
if S > M^.Stat[ T ] then C := InfoHilight
else if S < M^.Stat[ T ] then C := StatusBad
else C := InfoGreen;

AI_PrintFromLeft( BStr( S ) , CZone.W * t div 8 - 3 , C , Small_Font );
end;
end;

on: June 21, 2010, 08:11:32 am 2 General Category / General Discussion / New Mech Game in Development for Syntensity: Metallblech

This looks like it's going to be really cool. From the forum:

Quote
It is a Battletech / Mechwarrior / Gundam like modular Mech design. The 3D model is build in modular parts for equipment,weapon and body parts. The modules are exported as separate md5 files. This enables a individual Mech configuration as well as proper hit location system and the destruction of body parts.


The announcement is here: http://syntensity.blogspot.com/2010/06/plan-for-next-release-metallblech.html

The forum thread with pics and details is here: http://forum.freegamedev.net/viewtopic.php?f=28&t=476&start=0

on: May 21, 2010, 12:21:28 pm 3 General Category / General Discussion / Compiling GearHead: the Easy Way

Since newer versions of FreePascal no longer require JEDI-SDL to compile GearHead, I'm trying to update and improve the GearHead Compiling Guide: http://gearheadrpg.com/wiki/index.php?title=Guides:How_to_compile_GearHead

Take a look, give it a try, and make a few edits of you own. ;)

on: September 15, 2009, 08:53:07 pm 4 General Category / Plot and Game World / Mecha Manufacturers

Here's a tentative list of GH2 mecha organized by primary manufacturer/operator. It's mostly based on the faction brackets in the design files, with a few of the General mecha (vadel, zerosaiko, etc.) being listed by their known manufacturers.

Aegis Overlord

AEF Luna II
AEF-04 Zwar
AET-52 Gigas
BLB-01c BlueBird
CHA-02 Chameleon
CHA-02q Star Chameleon
CHR-3L Chimentero

BioCorp

TSD-1078 Fenris

Blades of Crihna

Crihna Gorilla
Crihna Harkney
Crihna Kraken
Crihna Skull

Ceres Robotics

PL-912 Phoenix

Cobolt Battle Group

CBG-87b Ice Wind
CBG-88d Ice Wind


Comet Metalworks

CMS-04 Ramuh
CRN-1C Crown
KOR-15 Galah
KOR-15b Sheriff Galah
KOR-55g Argos
RIG-01 Zero Savin
RIG-02 Overkill Savin
RIG-03 Reaper Savin
RIG-03a2 Gladius
RIG-04 Fortress Savin
RIG-05 Dragon Savin
TR9-02 Trailblazer

General

GCF-2 Mebsy
GCF-2d Strike Mebsy
HL-401 Dora
HMC-6 Wolfram
LCA-1S Puma
MCI-74 Neko
MWC-30 Dao Deoji
SAN-X12 Assault Buru Buru
SAN-X8c5 Mason Buru Buru
SAN-X8f Buru Buru
SAN-X9 Buru Buru
SAN-X9c Urban Buru Buru
SAN-X9cb Crossbones Buru Buru
SAN-X9g Heavyfoot Buru Buru
SAN-X9r5 Gunner Buru Buru
ZLK-3 Corraich

Hoeller Industries

H-10 War Cry
H-15 Picaro
HY-2 Atgeir
SAN-H2b Eyre
SD-620 Shard
SDR-2A Cogan
ZAM-99 Roc

Hwang-Sa Monastery

MD7 Hariseng

Kettel Industries

Z45-62 Zerosaiko

MUGL Enterprises

KC-1 Eggman
MA-073 Tauner
MB-06 Largo
MMS-02 Green Pixie
MOG-07 Haiho

None*

GHA-05b Radcliff

Pro Duelist Association

A7800 Joust
AD28 Custom Vadel
CNA-15 Century
OVK-677 Ovaknight
SAN-X12e Devil Buru Buru

Ran Magnus

RM-3 Secutor

Red Mask Raiders

RMA-01 Gaunt
RMR-?? Bargol

RegEx Corporation

SAN-D1 Daum
THD-36 Thorshammer
WR-106 Wraith

Silver Knights

KSM-01b Ramstein
SAN-X9sk StarWarrior Buru Buru

Unique**

Zeta Wolfram

Vadel Incorporated

AD28c Vadel


*Empty faction brackets. Possibly a bug.

**Not sure what this means.

20090916 EDIT: I made the suggested changes.

on: June 27, 2009, 01:14:07 pm 5 General Category / Support / Walkthrough: Compiling GH2 SDL

I'm trying to compile the SDL version of GearHead 2 and hopefully improve the How to compile GearHead wiki article along the way. Any help that you can give would be appreciated.

I am running Fedora 11 x86_64.

Here's what I've done so far:

1. I downloaded the gh2-0603-source.zip and gh2-0603-image.zip archives.

2. I extracted them and moved the gamedata and image directories into the GH2 directory and moved GH2 to /home/GH2.

3. I installed fpc, SDL-devel, SDL_image-devel, SDL_mixer-devel, SDL_net-devel, and SDL_ttf-devel.

4. I downloaded JEDI-SDLv1.0 from the sourceforge cvs repository using these commands:

 cvs -d:pserver:anonymous@jedi-sdl.cvs.sourceforge.net: /cvsroot/jedi-sdl  login

(when prompted for a password, simply press the Enter key)

 cvs -z3 -d:pserver:anonymous@jedi-sdl.cvs.sourceforge.net: /cvsroot/jedi-sdl  co JEDI-SDLv1.0

5. I moved JEDI-SDLv1.0 to /home/JEDI-SDLv1.0

6. I added these lines to /etc/fpc.cfg:

-Fi/home/JEDI-SDLv1.0/SDL/Pas
-Fu/home/JEDI-SDLv1.0/SDL/Pas
-Fu/home/JEDI-SDLv1.0/SDL_Mixer/Pas
-Fu/home/JEDI-SDLv1.0/SDL_Image/Pas
-Fu/home/JEDI-SDLv1.0/SDL_Net/Pas
-Fu/home/JEDI-SDLv1.0/SDL_ttf/Pas
-Fu/home/JEDI-SDLv1.0/smpeg/Pas
-Fu/home/JEDI-SDLv1.0/SFont/Pas
-Fu/home/JEDI-SDLv1.0/SDL_Sound/Pas
-Fu/home/JEDI-SDLv1.0/SDLMonoFonts/Pas
-Fu/home/JEDI-SDLv1.0/SDLSpriteEngine/Pas
-Fu/home/JEDI-SDLv1.0/Cal3D/Pas
-Fu/home/JEDI-SDLv1.0/ODE/Pas
-Fu/home/JEDI-SDLv1.0/SDLCtrls/Pas
-Fu/home/JEDI-SDLv1.0/SDL_flic/Pas

7. I changed to the /home/GH2 directory, typed 'fpc gearhead' and got the following output:

Free Pascal Compiler version 2.2.2 [2008/10/26] for x86_64
Copyright (c) 1993-2008 by Florian Klaempfl
Target OS: Linux for x86-64
Compiling gearhead.pas
gearhead.pas(27,2) Warning: APPTYPE is not supported by the target OS
Compiling gears.pp
Compiling texutil.pp
Compiling navigate.pp
Compiling locale.pp
Compiling rpgdice.pp
Compiling gearutil.pp
Compiling ghmecha.pp
Compiling ui4gh.pp
Compiling ghmodule.pp
Compiling ghholder.pp
Compiling ghintrinsic.pp
Compiling ghchars.pp
Compiling ghweapon.pp
Compiling ghmovers.pp
Compiling ghsensor.pp
Compiling ghsupport.pp
Compiling ghguard.pp
Compiling ghswag.pp
Compiling ghprop.pp
Compiling movement.pp
gearutil.pp(3171,2) Note: Local variable "TB" not used
Compiling ability.pp
ability.pp(248,4) Note: Local variable "Tool" not used
locale.pp(1239,4) Note: Local variable "P" not used
Compiling backpack.pp
Compiling glgfx.pp
glgfx.pp(64,47) Warning: Some fields coming after "b" weren't initialized
glgfx.pp(65,47) Warning: Some fields coming after "b" weren't initialized
glgfx.pp(66,44) Warning: Some fields coming after "b" weren't initialized
glgfx.pp(67,49) Warning: Some fields coming after "b" weren't initialized
glgfx.pp(69,48) Warning: Some fields coming after "b" weren't initialized
glgfx.pp(70,48) Warning: Some fields coming after "b" weren't initialized
glgfx.pp(71,48) Warning: Some fields coming after "b" weren't initialized
glgfx.pp(72,49) Warning: Some fields coming after "b" weren't initialized
glgfx.pp(73,51) Warning: Some fields coming after "b" weren't initialized
glgfx.pp(74,49) Warning: Some fields coming after "b" weren't initialized
glgfx.pp(75,49) Warning: Some fields coming after "b" weren't initialized
glgfx.pp(76,48) Warning: Some fields coming after "b" weren't initialized
glgfx.pp(77,50) Warning: Some fields coming after "b" weren't initialized
glgfx.pp(78,48) Warning: Some fields coming after "b" weren't initialized
glgfx.pp(79,49) Warning: Some fields coming after "b" weren't initialized
glgfx.pp(80,50) Warning: Some fields coming after "b" weren't initialized
glgfx.pp(81,50) Warning: Some fields coming after "b" weren't initialized
glgfx.pp(82,51) Warning: Some fields coming after "b" weren't initialized
glgfx.pp(83,49) Warning: Some fields coming after "b" weren't initialized
glgfx.pp(84,45) Warning: Some fields coming after "b" weren't initialized
glgfx.pp(85,52) Warning: Some fields coming after "b" weren't initialized
glgfx.pp(87,51) Warning: Some fields coming after "b" weren't initialized
Compiling /home/JEDI-SDLv1.0/SDL/Pas/sdlutils.pas
sdlutils.pas(271,3) Note: Local variable "StartTick" not used
sdlutils.pas(890,3) Note: Local variable "_ebx" not used
sdlutils.pas(890,9) Note: Local variable "_esi" not used
sdlutils.pas(890,15) Note: Local variable "_edi" not used
sdlutils.pas(890,21) Note: Local variable "_esp" not used
sdlutils.pas(1152,3) Note: Local variable "_ebx" not used
sdlutils.pas(1152,9) Note: Local variable "_esi" not used
sdlutils.pas(1152,15) Note: Local variable "_edi" not used
sdlutils.pas(1152,21) Note: Local variable "_esp" not used
sdlutils.pas(1324,3) Note: Local variable "_ebx" not used
sdlutils.pas(1324,9) Note: Local variable "_esi" not used
sdlutils.pas(1324,15) Note: Local variable "_edi" not used
sdlutils.pas(1324,21) Note: Local variable "_esp" not used
sdlutils.pas(1327,31) Note: Local variable "TextureColor" not used
sdlutils.pas(2200,9) Warning: unreachable code
sdlutils.pas(2227,7) Warning: unreachable code
sdlutils.pas(2917,14) Warning: Conversion between ordinals and pointers is not portable
sdlutils.pas(2918,15) Warning: Conversion between ordinals and pointers is not portable
sdlutils.pas(3005,14) Warning: Conversion between ordinals and pointers is not portable
sdlutils.pas(3006,15) Warning: Conversion between ordinals and pointers is not portable
sdlutils.pas(3212,16) Warning: Conversion between ordinals and pointers is not portable
sdlutils.pas(3228,16) Warning: Conversion between ordinals and pointers is not portable
sdlutils.pas(3244,21) Warning: Conversion between ordinals and pointers is not portable
sdlutils.pas(3263,16) Warning: Conversion between ordinals and pointers is not portable
sdlutils.pas(3124,3) Note: Local variable "StartTick" not used
sdlutils.pas(3280,3) Note: Local variable "R" not used
sdlutils.pas(3280,6) Note: Local variable "G" not used
sdlutils.pas(3280,9) Note: Local variable "B" not used
sdlutils.pas(3486,3) Note: Local variable "R" not used
sdlutils.pas(3486,6) Note: Local variable "G" not used
sdlutils.pas(3486,9) Note: Local variable "B" not used
sdlutils.pas(4092,23) Warning: Conversion between ordinals and pointers is not portable
sdlutils.pas(4095,25) Warning: Conversion between ordinals and pointers is not portable
sdlutils.pas(4117,17) Warning: Conversion between ordinals and pointers is not portable
sdlutils.pas(4117,17) Error: Typecast has different size (4 -> 8) in assignment
sdlutils.pas(4120,17) Warning: Conversion between ordinals and pointers is not portable
sdlutils.pas(4120,17) Error: Typecast has different size (4 -> 8) in assignment
sdlutils.pas(4136,23) Warning: Conversion between ordinals and pointers is not portable
sdlutils.pas(4139,25) Warning: Conversion between ordinals and pointers is not portable
sdlutils.pas(4156,17) Warning: Conversion between ordinals and pointers is not portable
sdlutils.pas(4156,17) Error: Typecast has different size (4 -> 8) in assignment
sdlutils.pas(4159,17) Warning: Conversion between ordinals and pointers is not portable
sdlutils.pas(4159,17) Error: Typecast has different size (4 -> 8) in assignment
sdlutils.pas(4175,23) Warning: Conversion between ordinals and pointers is not portable
sdlutils.pas(4178,25) Warning: Conversion between ordinals and pointers is not portable
sdlutils.pas(4195,17) Warning: Conversion between ordinals and pointers is not portable
sdlutils.pas(4195,17) Error: Typecast has different size (4 -> 8) in assignment
sdlutils.pas(4198,17) Warning: Conversion between ordinals and pointers is not portable
sdlutils.pas(4198,17) Error: Typecast has different size (4 -> 8) in assignment
sdlutils.pas(4214,23) Warning: Conversion between ordinals and pointers is not portable
sdlutils.pas(4217,25) Warning: Conversion between ordinals and pointers is not portable
sdlutils.pas(4234,17) Warning: Conversion between ordinals and pointers is not portable
sdlutils.pas(4234,41) Warning: Conversion between ordinals and pointers is not portable
sdlutils.pas(4234,17) Error: Typecast has different size (4 -> 8) in assignment
sdlutils.pas(4237,17) Warning: Conversion between ordinals and pointers is not portable
sdlutils.pas(4237,41) Warning: Conversion between ordinals and pointers is not portable
sdlutils.pas(4237,17) Error: Typecast has different size (4 -> 8) in assignment
sdlutils.pas(4253,23) Warning: Conversion between ordinals and pointers is not portable
sdlutils.pas(4256,25) Warning: Conversion between ordinals and pointers is not portable
sdlutils.pas(4273,17) Warning: Conversion between ordinals and pointers is not portable
sdlutils.pas(4273,17) Error: Typecast has different size (4 -> 8) in assignment
sdlutils.pas(4276,17) Warning: Conversion between ordinals and pointers is not portable
sdlutils.pas(4276,17) Error: Typecast has different size (4 -> 8) in assignment
sdlutils.pas(4365) Fatal: There were 10 errors compiling module, stopping
Fatal: Compilation aborted
Error: /usr/bin/ppcx64 returned an error exitcode (normal if you did not specify a source file to be compiled)

Can anyone help me figure out what I'm doing wrong?

on: December 31, 2008, 05:37:33 pm 6 General Category / General Discussion / Improving the GearHead Wiki

I've been making an effort over the last few days to improve the wiki by creating missing articles and checking to make sure every mecha article has at least a portrait, a stats block for each variant, and at least one sentence of descriptive text. For many of the articles, in the event that I couldn't find any in-game information, I tried to make up plausible flavor text. So far, I've finished all of the GH1 mecha articles except for the Aranos.

I know Zoanoids are supposed to be based on animals, but I have no idea what the Aranos is supposed to be. The Rattler Cannon makes me think that it might be based on the Chimera from Greek mythology, with the body of a lioness and a tail that terminated in a snake's head. But the Aranos has six legs, with the fore- and hind legs clawed, and the middle legs armed with swarm missiles, which leaves me scratching my head wondering what it might be and how to describe it in the article.

If anyone has comments, corrections, or constructive criticism please reply. And of course, feel free to jump in and edit the articles yourselves.

on: September 13, 2008, 09:26:57 am 7 General Category / Announcements / Lists of GearHead Mecha by Point Value

Hi everyone,

I've made two lists(GH1 and GH2) of mecha ranked by their Point Values and added them to the GearHead Wiki for your perusal. I thought it would be a handy and useful reference with which compare the various mecha designs.

Enjoy!

Note: All Point Values are taken from the design files viewed in the game menu.
Pages: [1]