Gamebase 64 Forum

RegisterRegister Log inLog in

New GB version coming... feature requests, anyone?
Goto page Previous  1, 2, 3 ... 7, 8, 9 ... 23, 24, 25  Next
 
Post new topic   Reply to topic    -= GB64 Forum =- Forum Index -> The GameBase Frontend
View previous topic :: View next topic  
Author Message
K.C.
Cool Member
Cool Member


Joined: 29 Sep 2003
Posts: 362
GB64-Points: 364
Location: The Netherlands

PostPosted: Thu Jan 07, 2010 8:13 pm    Post subject: Reply with quote

And another feature request!

The Verify Available Files checks if all needed files can be found and generates a text file with all files it needs, but are not found at the locations where they need to be.

Can this be expanded with an option to look for redundant files?
In a collection there could be too many game images, screenshots, or extras that are not accessed from any database entry.
They can be removed to keep the directories clean, but there isn't an easy way to find them.
Back to top
View user's profile Send private message
Jimbo
Cool Member
Cool Member


Joined: 16 Nov 2004
Posts: 226
GB64-Points: 226


PostPosted: Thu Jan 07, 2010 10:58 pm    Post subject: Reply with quote

As briefly mentioned before, I've added a way to import your favourites and other personal info from another database (e.g. a previous version of GB64): -



Other updates...

Quote:
It would be handy if I could use GEMUS environment variables in key=value pairs.


Done!

Quote:
Request: Global key=value pairs!


I've gone one better: You can now have global key=value pairs, and also create "sets". per-game key=values overwrite a set's key=values, which overwrite the global ones.

Basically you create a folder in your DB folder called "Gemus", putting in there text files containing key=value pairs: -

C:\GameBase\GameBase Amiga\Gemus\_global.txt
C:\GameBase\GameBase Amiga\Gemus\kick12.txt
C:\GameBase\GameBase Amiga\Gemus\kick13.txt
C:\GameBase\GameBase Amiga\Gemus\kick20.txt
C:\GameBase\GameBase Amiga\Gemus\mouse.txt

the _global.txt file is read into the Gemus script first, then the per-game ones are interpreted, looking for any sets to load: -

mem=512
kvset=kick20
kvset=mouse
foo=%gamepath%

Wherever a key called "kvset" is found in the per-game pairs, it will be replaced with those in the respective "set" file in your \Gemus folder. (the amiga values above are just examples to show you that you can group related key=values now in sets.)

At the moment, there is no UI in GameBase for the global/set key=value pairs, you have to create the files yourself.

Quote:
A sub title for the games would be nice.


Yes this would be nice, I'll see what I've got time for. Might not make 1.3 tho.

Quote:
A review rating field to aggregate review scores from magazines in addition to the rating field in the personal tab.


Another good idea. How would it be stored/displayed though? As a percentage? as a 5-star rating? a 10-star rating?

Quote:
Possibility to have multiple control types in the games tab. Possibility to have multiple programmers / musicians / graphic artist. That would allow to filter by unique artists instead of just one big clump of artists.


These "multiple" field type requests would mean a lot of fundamental changes to the frontend which will take lots of time and even more testing - not something I'm keen on doing right now, but maybe in a future version.

Quote:
Ability to rename the fields without messing around the INI files.


Again, this needs a complete overhaul, with ONE ini setting per field - there's quite a few per field now, which is shit I know icon_wink.gif hindsight is a wonderful thing!

Quote:
Aside from that, I have a small question about Gamebase. I use the GEMUS to modify a field (Autotype=) in the CPCE emulator INI. Is there a way to reset the value of Autotype to nothing (no value, symbol,...) ? If not, I would greatly appreciate if you added a way to do it.


Hmm... does putting an empty value in not work? (I've not tried, that's off the top of my head). If it doesn't work I'm sure I can work something out.

Quote:
The Verify Available Files checks if all needed files can be found and generates a text file with all files it needs, but are not found at the locations where they need to be. Can this be expanded with an option to look for redundant files?


Yeah I can see why this would be useful. I've added it to the list, but it might not make v1.3.

ciao!
Back to top
View user's profile Send private message
K.C.
Cool Member
Cool Member


Joined: 29 Sep 2003
Posts: 362
GB64-Points: 364
Location: The Netherlands

PostPosted: Fri Jan 08, 2010 7:47 am    Post subject: Reply with quote

The global key=value pairs and kvsets are a very welcome addition for me.
The way you implemented it should do the trick, but wouldn't it be better to store all kvsets in one file, for example kvsets.ini or kvsets.txt?
This file could be stored in the database folder itself (creating a subfolder is not needed) and could have the following contents:
Code:
[global]
; Comments about the Global settings
fullscreen=true
setting1=abc
setting2=123
Setting3=%emupath%
machine=svga_s3

[cgasystem]
; Comments about the CGA section
fullscreen=false
setting1=xyz
machine=cga

[hercsystem]
;Some comments
fullscreen=false
machine=hercules
setting2=456

In this example, section names could be interpreted as kvsets.
Storing the sets this way will make it look a bit more organized. Also I guess you could use a big part of the code you used for setting the paths for games and screenshots for creating a GUI, because it uses the same system: storing all games paths in a single text file, a new button for an extra path etc.
I'm not a (VB) programmer, so this is a wild guess.
I'm asking this right now, because I think it's not easy to change it after the way you implemented it is included in the official release.

Another request (does this ever end???):
Could you add a couple more environment variables in GEMUS?
I would like to see variables pointing to the paths you specified in the Gamebase paths section.
Variable names could be:
    storedgames(n)
    storedmusic
    storedpictures(n)
    storedextras(n)
    storedphotos
Reason I ask is that I want to be able to start a zipped game and mounting a CD ISO file that is stored outside the ZIP file (would take too long to extract and eventually rezip it).
The only options I have now are:
  • storing the ISO's under the Emulator folder (not very logical, and it would only work if you have one emulator), or
  • storing them under the database folder, but for all my collections I want to keep the database folder clean and don't want to fill the Program Files folder with data.

Using %gamesstore(1)%\ISOs in a GEMUS script, I could point to a subfolder at the location where my games collection is stored.
Back to top
View user's profile Send private message
Jimbo
Cool Member
Cool Member


Joined: 16 Nov 2004
Posts: 226
GB64-Points: 226


PostPosted: Fri Jan 08, 2010 7:58 am    Post subject: Reply with quote

Hi

Yes it should be quite easy to change the kvsets to use a single ini file in the database folder.

I'll add those ether environment variables too.
Back to top
View user's profile Send private message
ldaneels
Keen Member
Keen Member


Joined: 10 Sep 2003
Posts: 100
GB64-Points: 100


PostPosted: Fri Jan 08, 2010 9:47 am    Post subject: Reply with quote

Hi there,
For the review aggregate field, percentages would be easier to handle (star ratings are easy to convert to percentages). As for the way to store it, I was thinking we can calculate the aggregate manually, but if there is a way to enter multiple review scores that can be calculated automatically, that would be awesome.
Gamebase shows an error message (invalid function parameter 4. Expected: VALUE) when you don't put anything for value. This is the line I am trying to set no value to :
Set_INI_Value(%emupath%\cpce.ini||CPCE||autotype|| )
This line has a space for a value while I would like to have:
Set_INI_Value(%emupath%\cpce.ini||CPCE||autotype||)
Thanks for your hard work,

Loic
Back to top
View user's profile Send private message
Jimbo
Cool Member
Cool Member


Joined: 16 Nov 2004
Posts: 226
GB64-Points: 226


PostPosted: Sun Jan 10, 2010 11:54 am    Post subject: Reply with quote

- Added the following new GEMUS environment vars:

%dbdriveletter%
%storedgames(n)%
%storedpictures(n)%
%storedextras(n)%
%storedmusic%
%storedphotos%

- Fixed GEMUS to allow empty values in key=value pairs, and in all Set_* functions.

- Changed the global/kvsets pairs to use single file (Gemus.ini) in database folder.

- @.mad... fixed that screenshot resizing bug!

more soon...
Back to top
View user's profile Send private message
.mad.
Outstanding Member
Outstanding Member


Joined: 19 Jun 2005
Posts: 997
GB64-Points: 2777
Location: Lancashire, England

PostPosted: Sun Jan 10, 2010 1:24 pm    Post subject: Reply with quote

Thanks,

When using the personal settings / rating for each game.
if you select rating as classic, the game is then shown in a bold font.

would it be possible to use colours in these settings??

Red = poor
Blue = ok
Green = good

this option could then be used as a visual marker for certain games.

Missing Games in BLUE
Denied Games in RED
Need installing in GREEN

i know your very busy.
if it's easy for you to do, then it's a good idea. icon_wink.gif
Back to top
View user's profile Send private message
hardmanm
Cool Member
Cool Member


Joined: 05 Jul 2006
Posts: 419
GB64-Points: 419
Location: Lancashire, England

PostPosted: Mon Jan 11, 2010 7:54 am    Post subject: Reply with quote

Will a new Beta be released soon?
_________________
Gamebase Developer of:

AcornMania, AmstradMania, Atari800, Apple II, SpeccyMania, GamebaseBBC, Gamebase Electron, Apple2GS, Sam Coupe, Gamebase GX4000, Memotech MTX, NEC PC98, Fujitsu FM-7 and Sharp X1.
Back to top
View user's profile Send private message
Jimbo
Cool Member
Cool Member


Joined: 16 Nov 2004
Posts: 226
GB64-Points: 226


PostPosted: Mon Jan 11, 2010 8:04 am    Post subject: Reply with quote

Ok, finally got Run_Emulator_Send_Keys() Gemus function working (thanks for the tip AAG).

Tested on WinVICE, works a charm. Works on DOS apps too: -

Run_Emulator_Send_Keys([5]HELLO{ENTER}[2]JIMBO||100)

The above will wait 5 seconds, then send "HELLO" keys and enter key, then wait 2 seconds, then send "JIMBO". It works with Function keys etc, and shift/alt/control combos work.

The ||100 param is the duration to hold each key down, in milliseconds. Some apps (e.g. WinVICE) seem to ignore the keypresses if they aren't held down for long enough - its as if they are too quick that they don't get registered. That's the reason for this param. I found that 100ms worked best. Just be careful with this param - if you specify a long duration, key-repeat may come into effect (it did for me at 400ms).

@.mad.... Nice idea for the colours, but the listbox in VB can't do that by default so its a lot of work to implement it - I won't be doing that just yet.

Cheers
Back to top
View user's profile Send private message
Jimbo
Cool Member
Cool Member


Joined: 16 Nov 2004
Posts: 226
GB64-Points: 226


PostPosted: Mon Jan 11, 2010 8:09 am    Post subject: Reply with quote

A new beta will be released as soon as I have done: -

- rezip using 7-zip
- sort option for custom views
- add game as copy of existing game

I also have to keep my wife happy, so I imagine it will be a week or two yet!

It will also take longer the more features you guys keep giving me icon_wink.gif
Back to top
View user's profile Send private message
Mayhem
GB64 Team


Joined: 08 Sep 2003
Posts: 705
GB64-Points: 705
Location: Londonish

PostPosted: Mon Jan 11, 2010 12:22 pm    Post subject: Reply with quote

K.C. wrote:
Can this be expanded with an option to look for redundant files?


I heartily agree with this feature suggestion... it was a pain in the rear trying to find and remove all the superfluous files for the release of GB20... want to make sure I got them all...
_________________
Lie with passion and be forever damned...
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Jimbo
Cool Member
Cool Member


Joined: 16 Nov 2004
Posts: 226
GB64-Points: 226


PostPosted: Mon Jan 11, 2010 12:36 pm    Post subject: Reply with quote

Michael Plate just reminded me that years ago I wrote a tool for the GB64 team that does exactly this but only for screenshots. Since I found the sourcecode for it, I think I'll amend it to also check for games/music/extras/photos too, and then release that.
Back to top
View user's profile Send private message
K.C.
Cool Member
Cool Member


Joined: 29 Sep 2003
Posts: 362
GB64-Points: 364
Location: The Netherlands

PostPosted: Tue Jan 12, 2010 8:48 am    Post subject: Reply with quote

With the list of changes in mind, I don't think this is not going to be version 1.3, I would surely name it Gamebase 2.0! icon_biggrin.gif

A few small questions:
  • A lot of Yes/No fields have been changed to Yes/No/Unknown.
    Is there a way to check for Unknown in GEMUS?
  • In GEMUS you can check if a variable contains some text, but is there also a way to check if it DOESN'T contain a (sub)string?
    The only workaround I know is this one:
    Code:
    If %testvar_value% CONTAINS (*text*)
    Else
            Show_Message(testvar doesn't contain the word text!)
    EndIf

    It works, but it would be more elegant if this code would work also:
    Code:
    If %testvar_value% NOT CONTAINS (*text*)
            Show_Message(testvar doesn't contain the word text!)
    EndIf
Back to top
View user's profile Send private message
Jimbo
Cool Member
Cool Member


Joined: 16 Nov 2004
Posts: 226
GB64-Points: 226


PostPosted: Tue Jan 12, 2010 7:09 pm    Post subject: Reply with quote

I added an EXCLUDES function, instead of NOT CONTAINS, as it was easier icon_smile.gif

Will look at the Yes/No/Unknown thing!

bye!
Back to top
View user's profile Send private message
K.C.
Cool Member
Cool Member


Joined: 29 Sep 2003
Posts: 362
GB64-Points: 364
Location: The Netherlands

PostPosted: Tue Jan 12, 2010 8:51 pm    Post subject: Reply with quote

Jimbo wrote:
Just looking at the relative paths thing and came across this code in the global GetPathInfo() function: -

Code:
'convert relative path to absolute
If Mid$(.strRealPath, 2, 1) <> ":" Then
    .strRealPath = g_strAppPathWithBackslash & .strRealPath
    iLen = Len(.strRealPath)
    'let filesystem convert relative path to qualified directory name (remove "..\", etc.)
    If g_xobjFunc.DirExists(.strRealPath) = True Then
        .strRealPath = CurDir()
    End If
End If


I'm not affected by this and I'm not a VB programmer, so if I misinterpret this code, don't blame me for that please.

As far as I can see it, this code looks if the second character of the path is a colon ( : ) to determine if a path is absolute or relative.
But what if games, screenshots, extras or photos are stored on a shared network drive?
For example \\NAS\Emulation\Gamebase\C64\Games is an absolute path, but hasn't a colon at the second position. So it seems that it is treated as a relative path.
If I've not misunderstood this code, it should at least check if the path starts with a double backslash ( \\ ) to determine if a UNC path is specified.

I couldn't test this, so excuse me if this isn't correct...

Thanks again for all the great improvements!
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    -= GB64 Forum =- Forum Index -> The GameBase Frontend All times are GMT
Goto page Previous  1, 2, 3 ... 7, 8, 9 ... 23, 24, 25  Next
Page 8 of 25

 
Jump to:  
Cannot post new topics
Cannot reply to topics
Cannot edit your posts
Cannot delete your posts
Cannot vote in polls in this forum


Powered by phpBB © phpBB Group

The C64 Banner Exchange
The C64 Banner Exchange

gb64.com ©1997-2010 The GB64 Team