Help - Search - Members - Calendar
Full Version: DaisyBox's SR4CharGen (SR4CG)
Dumpshock Forums > Discussion > Community Projects
Pages: 1, 2, 3, 4, 5, 6, 7
Fireleaf
Changing data in the actual programs folder breaks windows security rules dating from Windows NT 3.51 and has been strongly slapped down by vista and windows 7.

I don't know what version of Visual Studio you use but here is some code for 2008 that will allow you to use the AllUsersProfile to store user changeable data.
it only includes warnings for errors so it needs just a little work to make it more robust.

CODE
Option Strict On
Option Explicit On

Imports System.IO
Namespace DaisyBox.SR4CG
    Public Class customFiles

        Private _templateFilesPath As String

        Friend ReadOnly Property templateFilesPath() As String
            Get
                Return _templateFilesPath
            End Get
        End Property

        Private _customFilesPath As String
        Friend ReadOnly Property customFilesPath() As String
            Get
                Return _customFilesPath
            End Get
        End Property

        Friend Sub CopyCustomFiles()

            Dim dirInfo As DirectoryInfo
            Dim destFile As FileInfo
            Dim origFile As FileInfo

            'make sure the folder exists in all users profile, if not create it.
            dirInfo = New DirectoryInfo(_customFilesPath)

            If Not dirInfo.Exists Then

                Try
                    dirInfo.Create()
                Catch ex As Exception
                    MsgBox(ex, MsgBoxStyle.Critical, "Error")
                End Try

            End If

            'make sure source exists
            dirInfo = New DirectoryInfo(_templateFilesPath)
            If Not dirInfo.Exists Then
                MsgBox(dirInfo.FullName & " Not Found", MsgBoxStyle.Critical, "Path not found!")
            End If

            'copy files from install dir to Program Data folder
            For Each file As FileInfo In dirInfo.GetFiles()
                origFile = file
                destFile = New System.IO.FileInfo(file.FullName.Replace(_templateFilesPath, _customFilesPath))
                If Not destFile.Exists Then
                    Try
                        System.IO.File.Copy(origFile.FullName, destFile.FullName, True)
                    Catch ex As Exception
                        MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")
                    End Try
                End If
            Next

        End Sub
        Sub New()
            _templateFilesPath = My.Application.Info.DirectoryPath & "\Data Files\Custom"
            _customFilesPath = Environment.GetEnvironmentVariable("AllUsersProfile") & "\" & _
                               My.Application.Info.CompanyName.Trim & "\" & _
                               My.Application.Info.ProductName.Trim & "\" & _
                               My.Application.Info.Version.ToString.Trim & _
                               "\Data Files\Custom"
        End Sub
    End Class
End Namespace


If you use vs2003 I'll see what I can dig up on the differences. It has been a long time and I think I cleaned my 2003 snippet library out.
dobbersp
QUOTE (Fireleaf @ Nov 5 2009, 01:36 PM) *
Changing data in the actual programs folder breaks windows security rules dating from Windows NT 3.51 and has been strongly slapped down by vista and windows 7.

I don't know what version of Visual Studio you use but here is some code for 2008 that will allow you to use the AllUsersProfile to store user changeable data.
it only includes warnings for errors so it needs just a little work to make it more robust.

CODE
Option Strict On
Option Explicit On

Imports System.IO
Namespace DaisyBox.SR4CG
    Public Class customFiles

        Private _templateFilesPath As String

        Friend ReadOnly Property templateFilesPath() As String
            Get
                Return _templateFilesPath
            End Get
        End Property

        Private _customFilesPath As String
        Friend ReadOnly Property customFilesPath() As String
            Get
                Return _customFilesPath
            End Get
        End Property

        Friend Sub CopyCustomFiles()

            Dim dirInfo As DirectoryInfo
            Dim destFile As FileInfo
            Dim origFile As FileInfo

            'make sure the folder exists in all users profile, if not create it.
            dirInfo = New DirectoryInfo(_customFilesPath)

            If Not dirInfo.Exists Then

                Try
                    dirInfo.Create()
                Catch ex As Exception
                    MsgBox(ex, MsgBoxStyle.Critical, "Error")
                End Try

            End If

            'make sure source exists
            dirInfo = New DirectoryInfo(_templateFilesPath)
            If Not dirInfo.Exists Then
                MsgBox(dirInfo.FullName & " Not Found", MsgBoxStyle.Critical, "Path not found!")
            End If

            'copy files from install dir to Program Data folder
            For Each file As FileInfo In dirInfo.GetFiles()
                origFile = file
                destFile = New System.IO.FileInfo(file.FullName.Replace(_templateFilesPath, _customFilesPath))
                If Not destFile.Exists Then
                    Try
                        System.IO.File.Copy(origFile.FullName, destFile.FullName, True)
                    Catch ex As Exception
                        MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")
                    End Try
                End If
            Next

        End Sub
        Sub New()
            _templateFilesPath = My.Application.Info.DirectoryPath & "\Data Files\Custom"
            _customFilesPath = Environment.GetEnvironmentVariable("AllUsersProfile") & "\" & _
                               My.Application.Info.CompanyName.Trim & "\" & _
                               My.Application.Info.ProductName.Trim & "\" & _
                               My.Application.Info.Version.ToString.Trim & _
                               "\Data Files\Custom"
        End Sub
    End Class
End Namespace


If you use vs2003 I'll see what I can dig up on the differences. It has been a long time and I think I cleaned my 2003 snippet library out.



I use 2008 express. I don't really know anything about these security procedures, so could you provide me with a link to where they're written?
I find it odd that It's illegal for a program to modify files in its own install directory....
Fireleaf
The simple fact is that by default "user" accounts do not have write access to the program folder. It has been this way since the adoption of NTFS as a file system as a simple security measure to make sure that installed programs could not be tampered with to subvert the system. Since windows vista came out and locked down even the administrator account it makes old programs an even bigger headache.

I am a computer tech for a community college and I could tell you many nightmares about programs not working for our students because they write to the Program Files folder.

here are a couple of links

Someone asking how to make their app Vista/Win 7 compliant
http://social.msdn.microsoft.com/forums/en...b-0b35b7852ecd/

Windows Vista Application Development Requirements for User Account Control (UAC)
http://msdn.microsoft.com/en-us/library/aa905330.aspx

The Windows Vista and Windows Server 2008 Developer Story: Application Compatibility Cookbook
http://msdn.microsoft.com/en-us/library/aa480152.aspx
Fireleaf
Seems there is a difference between Vista/Win 7 and 2000/XP I assume it goes back even further but I don't think it matters.

On XP, he %AllUsersProfile% environment variable points to a root folder that contains "Application Data" as a sub folder on XP/2000. The "Applicatioin Data" folder contains the data from the programs.

On Vista and Windows 7 the Application Data" folder does not exist as such. It is a symbolic link that points right back to the "C:\ProgramData\"

I guess I'll have to tinker with my code and see if it works on Win XP too. I'll let you know.

Fireleaf
This fixes it. It works in Windows XP SP3, Windows Vista (Home, Pro, Enterprise (x86/x64) and windows 7 Enterprise x64/x86
I added "\Application Data\" & _ and remove the trailing slash from the line above "\"

CODE
        Sub New()
            _templateFilesPath = My.Application.Info.DirectoryPath & "\Data Files\Custom"
            _customFilesPath = Environment.GetEnvironmentVariable("AllUsersProfile") & _
                               "\Application Data\" & _
                               My.Application.Info.CompanyName.Trim & "\" & _
                               My.Application.Info.ProductName.Trim & "\" & _
                               My.Application.Info.Version.ToString.Trim & _
                               "\Data Files\Custom"
        End Sub
Brooks G. Banks
I was building an adept, and added a standard bow. On the weapons sheet, it lists the range correctly (STR7 bow with ranges of 7/70/210/420), but on the print sheet, under range it has 2. Not the actual range. The other ranged weapons I've added all seem to be working fine. Also, with the bow, the price is showing as a flat price, instead of the bows RatingX100. I changed it in my copy to work correctly, but figured you'd like to know about it, too.
dobbersp
QUOTE (Brooks G. Banks @ Nov 8 2009, 07:10 PM) *
I was building an adept, and added a standard bow. On the weapons sheet, it lists the range correctly (STR7 bow with ranges of 7/70/210/420), but on the print sheet, under range it has 2. Not the actual range. The other ranged weapons I've added all seem to be working fine. Also, with the bow, the price is showing as a flat price, instead of the bows RatingX100. I changed it in my copy to work correctly, but figured you'd like to know about it, too.


The weapons print has a bug in it, although the program displays everything correctly outside of the print preview and the actual print as far as I know.
loboaureo
I just discover it, and already love it. smile.gif

Feature suggestion: it would be nice if you could maximice the window smile.gif
Logic
Hey I just wanted to report a bug really quick:

Create: Ork
Special: Mystic Adept (10)

Qualities:
Ambidextrous (5)
Guts (5)
Aptitude (10)

This adds up to 30. However, in the Build Points under Positive Qualities it's listed as 35. That's all.
dobbersp
The fix for the special dropdown/quality points total bug will be pushed with the next update.
overcannon
Quick little error, the price of the Attention Coprocessor cyberware from Augmentation doesn't scale.
dobbersp
QUOTE (overcannon @ Nov 16 2009, 06:36 PM) *
Quick little error, the price of the Attention Coprocessor cyberware from Augmentation doesn't scale.


can you give me a page number and what its supposed to be so i dont have to go looking for it?
that would be uber awesome.
d:- D
overcannon
No problem; Augmentation, pg 36.

The only actual problem is that it is supposed to cost Rating*3000Y; i.e. Availability and Essence do not scale.
dobbersp
QUOTE (overcannon @ Nov 18 2009, 09:33 AM) *
No problem; Augmentation, pg 36.

The only actual problem is that it is supposed to cost Rating*3000Y; i.e. Availability and Essence do not scale.


Fixed. Thanks for the catch!
d:- D
dobbersp
QUOTE (Brooks G. Banks @ Nov 8 2009, 07:10 PM) *
I was building an adept, and added a standard bow. On the weapons sheet, it lists the range correctly (STR7 bow with ranges of 7/70/210/420), but on the print sheet, under range it has 2. Not the actual range. The other ranged weapons I've added all seem to be working fine. Also, with the bow, the price is showing as a flat price, instead of the bows RatingX100. I changed it in my copy to work correctly, but figured you'd like to know about it, too.


Fixed bow price...working on the print thing. Thanks!
d:- D
McDougle
I love ur generator n just joined to give my cred to u, humble sir and post a suggestion:
Itīd be great if the other sections beside "gear" had a search-function, too.
Furthermore i somehow couldnt find the mounted weapons for the vehicles(maybe i just missed it somehow) and
Last but not least it would be awesome for the far future to have descriptions of the skills n stuff so u dont always have to look em up in the books(that french gen i used before had that). smile.gif

Keep up with ur great work! spin.gif
dobbersp
QUOTE (McDougle @ Nov 21 2009, 02:32 PM) *
I love ur generator n just joined to give my cred to u, humble sir and post a suggestion:
Itīd be great if the other sections beside "gear" had a search-function, too.
Furthermore i somehow couldnt find the mounted weapons for the vehicles(maybe i just missed it somehow) and
Last but not least it would be awesome for the far future to have descriptions of the skills n stuff so u dont always have to look em up in the books(that french gen i used before had that). smile.gif

Keep up with ur great work! spin.gif


The vehicle weapons are on the weapons tab, under ranged weapons (If i remember right)
Thanks for the feedback, and happy chargening!

d:- D
McDougle
Fast respond. nyahnyah.gif
Yeah, got it. ^^

Another suggestion: i kinda miss the field for the chars name.
Pollution
I do love this program.

Any chance for a good print out in the near future (i.e. one that looks like an actual character sheet rather than text only?). Or at least prints everything on the same (or continuous) page(s)? I love the software but hate the print out.
dobbersp
QUOTE (Pollution @ Nov 23 2009, 05:14 AM) *
I do love this program.

Any chance for a good print out in the near future (i.e. one that looks like an actual character sheet rather than text only?). Or at least prints everything on the same (or continuous) page(s)? I love the software but hate the print out.


Ya...the printout sucks. I pretty much have to do the whole thing by hand, so its not likely that it'll be of really high quality any time soon. I do plan to use the standardized character format soon, so you can export it and print it with a different chargen eventually. sorry.
d:- )
Delarn
Quick info : Can't choose Mentor Spirit/ Paragon.
Do you want me to put the infected part in the Database with the Running Wild updates ? Oh yeah, why do you use this kind of Data ? It dates from the SRCG from the 2nd ed from Paolo. You could make the program works with a nice xml database.

I really love the program, you could upgrade a lot of stuff in it. If you want to include xml in it, I could point you a friend of mine. He's working on a character advancement program with an xml back bone.

I hope you continue your good work.

--- edit ---

Did you update the Databases using SR4A ? There are some stuff that don't work in character creation ...
dobbersp
QUOTE (Delarn @ Dec 13 2009, 01:38 PM) *
Quick info : Can't choose Mentor Spirit/ Paragon.
Do you want me to put the infected part in the Database with the Running Wild updates ? Oh yeah, why do you use this kind of Data ? It dates from the SRCG from the 2nd ed from Paolo. You could make the program works with a nice xml database.

I really love the program, you could upgrade a lot of stuff in it. If you want to include xml in it, I could point you a friend of mine. He's working on a character advancement program with an xml back bone.

I hope you continue your good work.

--- edit ---

Did you update the Databases using SR4A ? There are some stuff that don't work in character creation ...


I used this data structure for no apparent reason. I just made it up as i went along. xml would have been nicer, but it would also take up more space.
In retrospect, using more space would have been better for human readability, but the space efficient part makes it load everything quicker.

I also didnt use a database because I wanted the data to be accessible to users so that they can edit the data files as they wish. I started with this format before I implemented the custom item GUI (which I just added on a whim).

This is not up to date as far as SR4A is concerned, and yes, there is a whole store of things that could be added.


d:- D
Delarn
I've changed some Adept power in my database. They have a lower cost now.
HeckfyEx
Say, is chargen's grabbing a 1gb of ram normal? I'm running Vista x64.
dobbersp
QUOTE (HeckfyEx @ Dec 14 2009, 11:09 AM) *
Say, is chargen's grabbing a 1gb of ram normal? I'm running Vista x64.


unfortunately, yes it is. Its an issue with the .NET framework on the vista 64. There's nothing I can do about it (that I'm aware of).
Delarn
Where do you find the dropbox database for magic and technomancer... I want to add AI for the Rating Attribute...
dobbersp
QUOTE (Delarn @ Dec 15 2009, 07:57 AM) *
Where do you find the dropbox database for magic and technomancer... I want to add AI for the Rating Attribute...


Those are hard coded ^^
Captain Sock Puppet
This program is absolutely fantastic. Its one of the most complete and easy to use Character Generators I've seen for any system I've played.

Is there any chance you'll be adding in the templates like Ghoul or Changeling as a separate option, or just adding them into the race section like Dwarf:Ghoul, or Elf:Changeling?

For now I've added a few in myself, but that can be somewhat time consuming and if you were planning on adding them as a selection option that would save alot of time. Also, I couldn't find Materials for Magical Lodges anywhere so I added that manually myself.

Delarn
We should add the code for each addition we do...
dobbersp
If you guys want to start some sort of standards list for things that should be included in the data files, feel free!
HeckfyEx
QUOTE
unfortunately, yes it is. Its an issue with the .NET framework on the vista 64. There's nothing I can do about it (that I'm aware of).

Is this problem exists in Win7 x64?
dobbersp
QUOTE (HeckfyEx @ Dec 17 2009, 10:55 PM) *
Is this problem exists in Win7 x64?


I don't have windows 7 installed, so i can't tell you either way, but its definitely possible that it is also an issue in W7.
forgarn
Any chance you'll be adding the Initiative attribute to the calculations?
LivingOxymoron
I'm running Win7 x64 and seem to be running the program without a hitch.

QUOTE (HeckfyEx @ Dec 17 2009, 10:55 PM) *
Is this problem exists in Win7 x64?

Delarn
Hi Dobbersp,
I would like to give you a review of missing features.
1: Races : Infected and Changeling. (Infected should be in a mod tab beside the race)
2: The changeling should open a tab when you take a surge quality.
3: The AI and Free Spirit should also open a Tab. (Inherant programs for the AI and Spirit power for the Free Spirit)
4: The Technomancer should be able to choose a Paragon when the Paragon Quality is taken.
5: Same for the mage but with mentor spirit.

It's about that I think it miss. But I'm sure I'll find other stuff wink.gif (Make it opensource on google code)
Wiggles Von Beerchuggin'
Posting some feedback that cropped up in the Troll Melee Adept thread.

-When a magic character takes 'ware, their essence drops like it should, and you can't have more adept power points than the new Magic value. However, if you have a melee character with a Magic of 6 and 2 points of ware, the generator still allows you give them a [for example] Critical Strike of 6. I assume this is because that value is calculated from the Magic Attribute before Essence loss is taken into account.
Delarn
The Chargen is too much Hardcoded. I can't make conversion of old character with it.
HeckfyEx
Upgraded to win7 x64. It runs but still uses ungodly amount of ram.
Also, to those of us who plays online output to plain text would be nice.
Delarn
Use a print to file procedure.
oakfed
Was just trying out this app and a couple spreadsheets for a new Shadowrun campaign. Looks pretty good so far!

I've found two minor errors while entering my first character.

The Weapon mods data file has what's probably a cut-and-paste error for Gas Vent 3 - it was only giving 2 recoil compensation (same as Gas Vent 2).

When I add a specialization for a starting Knowledge skill, it charges me a character point for it rather than taking it off my remaining unspent 'free' points.

I also noticed a couple features it'd be nice to have...

I couldn't figure out how to link armor mods to a specific item of armor? The mods are on the gear list, at least, but ideally you'd do custom armor just like the custom weapons.

I couldn't find any ability to have a cyberware item provide a bonus to a specific skill? That'd be for Reflex Recorders, or the Dodge bonus granted by Move-by-wire.

I found some of the qualities from Augmentation not implemented - Biocompatibility, anyway, and probably others. But I don't think the program currently has any way to have a quality do an essence multiplier, so it's not just a matter of manually adding the quality to the data file.

Still, I think this app is the one I'm going to use for now, at least until I start to run out of essence... Nice work!
Delarn
If only I could have the source I could work on some part. Like AI, Cahngeling and Infected.
McDougle
Yes, opensource would be definitely great... and a whole community to work on it. wink.gif
We know were its coming from, so credit wouldnt be a prob!
Golgoth
One thing I have noticed (it's probably been posted on here, but I didn't have the time to skim the 12 pages) the Suprathyroid Gland in the chargen system doesn't correctly add to the listed attributes.
Zolhex
A quick repost I made on your website just so it is sure to get to you.

I was playin around today came across 2 things:

1} If I add Tough as Nails 3 to my Physical
Adept his magic rateing goes up by 3 and a 9
magic is not doable in chargen.

2} The quality In Debt is listed as levels 1 to
5 there are 6 levels to it 5, 10 , 15, 20, 25,
and 30 so a starting character could have as
much as 30,000 In Debt.

I'd also like to add that I'd like to see surge
and surge qualities added in.

Lastly Great program my home group and myself
all have it and I tell people about it all the
time.
ForumFerret
Is there an option to toggle 'ware as used?
10gauge
I finally re-installed Windows via Virtualbox. Now I can use SR4CG again. smile.gif I like the new weapons tab. Still waiting for categories for gear but the search is a great first step!

GO! biggrin.gif
Brooks G. Banks
Is there any downloadable update for this program? The last update I see was listed on the dobberism site as 9/29/2009 date. I've seen lots of comments about updates.

forgarn
Have three more. The first is that Wired Reflexes III only add 2 to your Reaction and IP's instead of 3 to each.

The second is that specialization of a knowledge skill uses a BP and not a Knowledge Skill point as listed here:
QUOTE (SR4A @ pg. 85)
Specializing in a Knowledge Skill costs 1 Knowledge Skill Point (or 2BP). No more than one specialization can be taken per Knowledge skill.


The last is that the Poor Self Control (Vindictive) is listed in RC as a -10 and the program has it as a -5.

dobbersp
QUOTE (Brooks G. Banks @ Jan 29 2010, 08:29 AM) *
Is there any downloadable update for this program? The last update I see was listed on the dobberism site as 9/29/2009 date. I've seen lots of comments about updates.

unfortunately my life is a little hectic right now. I do want to produce updates in the future, but I can't guarantee when I'll release them.
The September release is the latest version.

sorry guys :'(
endou_kenji
QUOTE (dobbersp @ Feb 2 2010, 06:13 AM) *
unfortunately my life is a little hectic right now. I do want to produce updates in the future, but I can't guarantee when I'll release them.
The September release is the latest version.

sorry guys :'(



And is there anyway we can help?

BTW, there are two things that are wrong (probably some typo) on Vehicle mods

Interior Cameras has a 0 slot cost (it's being listed as 1)
Enhanced Image Screens doesn't have a rating, it's fixed (on the chargen, it lets you go up to rating 6).
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Dumpshock Forums © 2001-2012