Steam Force Save (TWEAK)(NO HACKS/MODS)(FORCE SAVE FIX FOR STEAM USERS!!)

Davo's Released Mods. These are made for Galactic Adventures with patch 1.5.1, but some of them may still work on Core Spore. Many of these mods may be obsolete after 2017.
User avatar
Vallachan
Sentient
Sentient
Posts: 1352
Joined: Thu Mar 17, 2011 5:26 pm
Age: 24

Re: Force Save NO HACKS/MODS. FORCE SAVE FIX FOR STEAM USERS

Unread post by Vallachan »

Probably try at the end of the code. If that doesn't work, go with at the end of that section.


Spore is creative, even the mods and hacks.
Or, should I say, especially the mods and hacks?

Now currently making content for the Life is Strange and Portal communities. Check me out on YouTube
User avatar
Rogue_Jaeger
Cell
Cell
Posts: 9
Joined: Sun Feb 23, 2014 12:08 am

Re: Force Save NO HACKS/MODS. FORCE SAVE FIX FOR STEAM USERS

Unread post by Rogue_Jaeger »

Okay, I placed the edits on a new line at the very end of the code and it worked! I did a test save of a creature with DI parts and it worked!

However I now have another slight problem.

Prior to installing DI, I made sure to remove all the other mods I had that would conflict with DI. Everything installed properly, I have all the parts and everything!

But here is the problem. I know from reading previous posts on the topic that if you view a creation you made previously after installing DI the game will replace the corresponding parts with their DI counterparts [at least that's what I understand] I have not had THIS problem. Instead something else a little odd is happening.

Creatures I've used kurldowns on or any other piece to build up a face structure all of a sudden is shifted all out of whack when I view the creature in the editor. The pieces jump all over the face in the same fashion as sometimes when you go to reposition the head and any detailing you've put on it suddenly shifts position.

I thought maybe it was just a glitch so I brought up some of my buddy's creations that had similar face structures and when I viewed them in the editor it did the same thing! Weird.

I did NOT check to see if the display would be weird in actual game yet, just the editor.

Another thing I noticed is when I got to view a creature the background starts to glitch really bad. I tried changing my display settings but that did not help. Could one of the other mods I have installed be causing this problem?

Programs (x86) Steam SteamApps common Spore DataEP1

2013_DI_NC
46722-unlimitedSoL
67181-infinitepartsize
81217-unlimitedcolonypacks
82496-Galacticcodenobreak
Arenas_RDX9
Arenas_Textures
DavoFlightModMoon
Spore_EP1_Content_01
Spore_Ep1_Content_02
Spore_Ep1_Data
Spore_EP1_Locale_01
Spore_EP1_Locale_02
User avatar
Vallachan
Sentient
Sentient
Posts: 1352
Joined: Thu Mar 17, 2011 5:26 pm
Age: 24

Re: Force Save NO HACKS/MODS. FORCE SAVE FIX FOR STEAM USERS

Unread post by Vallachan »

The knurldown misplacement is just because darkspore has different models with stretching handles on the knurl downs than core spore.
Spore is creative, even the mods and hacks.
Or, should I say, especially the mods and hacks?

Now currently making content for the Life is Strange and Portal communities. Check me out on YouTube
User avatar
Rogue_Jaeger
Cell
Cell
Posts: 9
Joined: Sun Feb 23, 2014 12:08 am

Re: Force Save NO HACKS/MODS. FORCE SAVE FIX FOR STEAM USERS

Unread post by Rogue_Jaeger »

Alright so its going to do that then. Okay I just wanted to make sure it wasn't something I had done wrong by mistake. It makes sense, one version of the game isn't going to be an exact copy of the other. Spore was released in 2008 and DarkSpore was released in what...2010? 2011? I'm going to sit back and assume that even though the models look odd to me when I view them they still look as they did before to everyone else who sees them. They wouldn't have changed unless say that person viewing them also has DI. The creatures wouldn't change in the normal version and wouldn't have changed how they look in any adventures they are placed in.

This is probably a really stupid question, please forgive me as I'm no modder or techie for that matter. Does DI act like an extension pack such as Creepy and Cute for example? So if I stick creatures that I used DI on and put them in an adventure and published that adventure, those creatures with DI will not show up unless that person playing it has DI correct? I just wanted to make absolutely sure as I had several projects I wanted to start working on concerning adventures and creatures that were made with DI. If anything I'll just make two versions of each creature so I will have a DI version of the adventure and the normal version. I already have CC and non CC versions of the same adventure.

I know certain mods like the latest unlimited complexity mod or the infinite parts size mod, those creatures will not share but they will show up in a published adventure. Now I heard somewhere that Davo mentioned to someone if you take a modded creature and lock it as an adventure's captain it will download and that's how you can get around the 'share' block on modded creatures. I haven't tried it yet myself but I am planning on giving it a go just to see. I'm just curious as to if there is any truth to this claim at all.

So back to my creations real quick, sorry for jumping topics. My previous creations are only going to look odd to me because of the mod but otherwise they were not changed and will remain the same. So if I go in and attempt to fix what looks out of place to me....it will be like a mirror effect and be backwards. As in it will look perfect to me but someone viewing the creation without DI [again assuming DI doesn't function like CC] it would look weird because of the difference you spoke of in the parameters.

I had one other quick question. Again I do apologize for taking up so much of your time with this. The background when I'm viewing the creations...this doesn't happen when I'm in test drive mode or in the actual editing mode just when I'm viewing the creation from the main screen. The background starts to glitch. I tried adjusting my display settings and that didn't fix it. I'm curious as to if this is just Spore being Spore [all its wonderful glitches] or if its something to do with my own computer. I thought it might have been my security system causing a conflict so I turned it off and it didn't help. So I'm starting to think it might either be my computer itself or Spore.

I bought my laptop a little over a year ago. Its a Gateway Quad Core Processor. 4GB DDR3 Memory. AMD Radeon HD 6520G with 512 MD Graphics System. 750 GB HDD. 15.6" 16:9 HD LED LCD.

Spore came out in 2008 and since my laptop is newer than 2008...I'm just curious as to if my graphics card is iffy or if its just Spore.

I just wanted to let you know I really do honestly appreciate your patience and willingness to help me. I know this type of thing can be a rather thankless job/responsibility. Some people can be impatient and want what they want when they want it and they think you should be able to fix anything instantly when its certainly not that easy. People don't always think about everything that goes into this sort of thing. [I get that with my job day in and day out as well.] So I just wanted to let you know how much I appreciate your time and effort. It really does mean a lot to me. Thank you so much.^^
User avatar
Vallachan
Sentient
Sentient
Posts: 1352
Joined: Thu Mar 17, 2011 5:26 pm
Age: 24

Re: Force Save NO HACKS/MODS. FORCE SAVE FIX FOR STEAM USERS

Unread post by Vallachan »

I think the only way to test the adventures is to try it. I can't say for sure, because I never have and never will be able to log onto the spore forums, but making a version with and a version without is a good idea.

It is possible to share creatures using the lock as a captain function. That I know for sure.

Also, how does the background glitch? Does it look like there are multiple models rendering through eachother, a weird distorted plane of texture, etc.... Because different graphical glitches can mean different issues.

About the creations, what I would do is leave them alone for now until you need to use them, then just use the square handle to push out all their sunk in parts. I also highly recommend my color pack mod if you like doing face sculpting or adding little details.
Spore is creative, even the mods and hacks.
Or, should I say, especially the mods and hacks?

Now currently making content for the Life is Strange and Portal communities. Check me out on YouTube
User avatar
Rogue_Jaeger
Cell
Cell
Posts: 9
Joined: Sun Feb 23, 2014 12:08 am

Re: Force Save NO HACKS/MODS. FORCE SAVE FIX FOR STEAM USERS

Unread post by Rogue_Jaeger »

I have been trying to log into the official Spore Forums for awhile now and it won't work. Everything just freezes up. Now I can back out of the page and browse the forums/sporepedia without being logged in but of course without being logged in I cannot download anything. I thought this might have been something to do with all the rumors floating around [and as far as I know they may or may not be true] that EA/Maxis abandoned Spore. As such the forums don't work anymore. I didn't believe it at first but ever since I've found myself unable to log it...its looking to me like its proving true. Its really weird and kinda frustrating to say the least.

Anyway, I will take your advice and run an adventure to see what happens.

Now as far as the graphics are concerned, the background when I'm viewing the creature [again not in test drive or actual build mode] becomes pixelated when I rotate the camera to view the creature. It just looks like its not rendering properly, like it can't keep up with the movement speed of the camera. The creature itself remains unaltered but the background pixelates and starts to overlap on itself. Occasionally it will correct itself but not usually.

I've also come to encounter another problem it seems. Several of the DI parts are invisible when I place them on a creature, but when I save it they show up when I go to view the creature. If I open the creature up in the editor mode the parts become invisible again. So far this only happened with one specific part. A set of wings that came with DI. The ones that look like a more detailed version of the dragon like/bat like wings from core spore. I haven't gone through and tested out every single part to see if I get the same reaction on others but I'm going to guess the likely hood of finding more parts that does this is decent enough.


A color pack mod? Ooo that sounds really neat! Where might I find that one?
User avatar
Vallachan
Sentient
Sentient
Posts: 1352
Joined: Thu Mar 17, 2011 5:26 pm
Age: 24

Re: Force Save NO HACKS/MODS. FORCE SAVE FIX FOR STEAM USERS

Unread post by Vallachan »

The skeleton wings and green foot have know issues in the editor, just try and work around that.

Also: http://www.davoonline.com/phpBB3/viewto ... 118&t=5071
Spore is creative, even the mods and hacks.
Or, should I say, especially the mods and hacks?

Now currently making content for the Life is Strange and Portal communities. Check me out on YouTube
User avatar
Rogue_Jaeger
Cell
Cell
Posts: 9
Joined: Sun Feb 23, 2014 12:08 am

Re: Force Save NO HACKS/MODS. FORCE SAVE FIX FOR STEAM USERS

Unread post by Rogue_Jaeger »

Oh awesome thank you!^^ I will definitely give this mod a try!

Also, I just wanted to report back with a bit of news concerning the DI.

I tried playing an adventure and I was correct in my suspicions that because of the difference in the editor, having DI makes all the creatures in adventures have misplaced details, weapons, etc. So its not just effecting my own creations but other creations as well.

Its a little weird but meh. No biggie. I am going to keep DI but I decided that I'm just going to take the mod in and out when I feel like using it or not using it. I've pulled mods in and out a lot before and it didn't mess up my game so pulling out and putting DI back when I want to use it and don't want to use it shouldn't be that big of an ordeal.

Anyways thanks again for all your help!^^
User avatar
SilentAegis
Hatchling
Hatchling
Posts: 1
Joined: Sun Mar 23, 2014 11:35 pm

Re: Force Save NO HACKS/MODS. FORCE SAVE FIX FOR STEAM USERS

Unread post by SilentAegis »

Hold on. I have no damn idea what coding is. On a new line? What does that mean? At the bottom of file? The bottom of the notepad text itself? You say create a new line, but how do I do that? What do I type? Sorry if this seems absurd to ask, but I am not familiar with coding. Help! D:
User avatar
Vallachan
Sentient
Sentient
Posts: 1352
Joined: Thu Mar 17, 2011 5:26 pm
Age: 24

Re: Force Save NO HACKS/MODS. FORCE SAVE FIX FOR STEAM USERS

Unread post by Vallachan »

Press enter at the bottom, and type what is written in the OP, then save it. Done.
Spore is creative, even the mods and hacks.
Or, should I say, especially the mods and hacks?

Now currently making content for the Life is Strange and Portal communities. Check me out on YouTube
User avatar
ThisisCanada98
Hatchling
Hatchling
Posts: 1
Joined: Tue Jun 10, 2014 4:36 pm

Re: Force Save NO HACKS/MODS. FORCE SAVE FIX FOR STEAM USERS

Unread post by ThisisCanada98 »

I also want to know where and how exactly I put the text into the file.
User avatar
Vallachan
Sentient
Sentient
Posts: 1352
Joined: Thu Mar 17, 2011 5:26 pm
Age: 24

Re: Force Save NO HACKS/MODS. FORCE SAVE FIX FOR STEAM USERS

Unread post by Vallachan »

Copy/paste it at the end
Spore is creative, even the mods and hacks.
Or, should I say, especially the mods and hacks?

Now currently making content for the Life is Strange and Portal communities. Check me out on YouTube
User avatar
omegaxeraimus
Cell
Cell
Posts: 7
Joined: Sun Jun 30, 2013 2:40 am
Age: 37

Re: Force Save NO HACKS/MODS. FORCE SAVE FIX FOR STEAM USERS

Unread post by omegaxeraimus »

Oh my god this fixed the steam can't save crap for me! What I did before worked for a little while but then they updated it and blocked the mod saves. but now I can SAVE AAGAIN!!! Woo more mods. ^___^

Thanks Davo!
God of monsters the next big thing to happen to the kaiju world!
User avatar
Necromorph790
Hatchling
Hatchling
Posts: 1
Joined: Mon Jun 23, 2014 8:07 pm

Re: Force Save NO HACKS/MODS. FORCE SAVE FIX FOR STEAM USERS

Unread post by Necromorph790 »

ok I have read the posts but explain it a little better how do you or what do you do at the bottom of the page this is what I have

this is the bottom of my config page

# These are all of the alert dialogs localized if text is present (from AppConfig.txt)
if (varExists(showConfigAlerts) and ($showConfigAlerts))
trace "=== Test Alerts"

alert "not localized" 1000 -info -always # 3e8
alert "not localized" 1001 -info -always # 3e9
alert "not localized" 1002 -info -always # 3ea
alert "not localized" 1004 -info -always # 3ec
alert "not localized" 1005 -info -always # 3ed

alert "not localized" 1010 -info -always # 3f2
alert "not localized" 1011 -info -always # 3f3
alert "not localized" 1012 -info -always # 3f4

alert "not localized" 2000 -info -always # 7d0
alert "not localized" 2001 -info -always # 7d1
alert "not localized" 2002 -info -always # 7d2
alert "not localized" 2003 -info -always # 7d3
endif
boolProp disableValidation true

EDIT:
this is my properties file spot


#######################################################
# Names for props set directly by config manager script
#
property ShaderPath (hash(ShaderPath)) int
property EffectsInstancing (hash(effectsInstancing)) bool
property MRT 41 bool
property AlwaysFullscreen 0x05dd4647 bool
property RenderTargetCorrection 68 bool
property dropShadowQualityText (hash(dropShadowQualityText)) int
property dropShadowQualityImage (hash(dropShadowQualityImage)) int
property NumFramesToBuffer 0x05c97448 int
property terrainGenerateBrushesPerFrame (hash(terrainGenerateBrushesPerFrame)) int
property terrainGenerateSingleStep (hash(terrainGenerateSingleStep)) bool
property terrainGenerateTimeLimit (hash(terrainGenerateTimeLimit)) int

# Mac
property MacSpecificText 0x061b67b6 bool
property Support51Audio 0x063ab656 bool

# ColladaExport
property HasShownExportToolEULA 0x087c4363 bool
property disableValidation 0x055d7ca1 bool true <------ this is that file for the properties file thing
User avatar
Davo
The Boss
The Boss
Posts: 2422
Joined: Sun Dec 27, 2009 1:36 am
Age: 39

Re: Force Save NO HACKS/MODS. FORCE SAVE FIX FOR STEAM USERS

Unread post by Davo »

Necromorph790 wrote:ok I have read the posts but explain it a little better how do you or what do you do at the bottom of the page this is what I have
what is this garbled up mess of a sentence? or is it a question? i do apologize if you are not good at english, but even then you could have split it up to make more sense of it.

do i update the op with this information?
User avatar
Xoth
Hatchling
Hatchling
Posts: 3
Joined: Fri Jun 27, 2014 5:00 am

Re: Force Save NO HACKS/MODS. FORCE SAVE FIX FOR STEAM USERS

Unread post by Xoth »

Hi im probably going to get trolled realy bad now but im trying to make your mod work(Dark Injections), and it looks great btw thanks for all your hard work you did with it. Now i have never done any programing in my life and never moded spore before, and im trying to get the save to work. After a bit of looking around i got my hands on the files i needed and put them in the right folder and all that. I think i did the Properties.txt right, not getting any error msg. But im not sure but im guessing that i need to edit the ConfigManager.txt before the endif or should i put boolProp disableValidation true after the endif? Puting it after gives me a error message so im guessing that i should put it before the endif. The problem is that even when i put it before the endif i still cant save, i do have a strong feeling that the error is sitting behind my keyboard ^^. I sure hope that you still read posts on this tread or i may try to harass you by sending you a pm =)

The ending of my Properties.txt looks like this:

# Mac
property MacSpecificText 0x061b67b6 bool
property Support51Audio 0x063ab656 bool

# ColladaExport
property HasShownExportToolEULA 0x087c4363 bool

property disableValidation 0x055d7ca1 bool true
----------------------------------------------------------------------------------------------------------------------------
And my ConfigManager.txt looks like this:

alert "not localized" 1010 -info -always # 3f2
alert "not localized" 1011 -info -always # 3f3
alert "not localized" 1012 -info -always # 3f4

alert "not localized" 2000 -info -always # 7d0
alert "not localized" 2001 -info -always # 7d1
alert "not localized" 2002 -info -always # 7d2
alert "not localized" 2003 -info -always # 7d3

boolProp disableValidation true
endif
----------------------------------------------------------------------------------------------------
Probably easyer for you to see what im doing wrong by just posting it
Sorry for making a insanly long post
User avatar
Davo
The Boss
The Boss
Posts: 2422
Joined: Sun Dec 27, 2009 1:36 am
Age: 39

Re: Force Save NO HACKS/MODS. FORCE SAVE FIX FOR STEAM USERS

Unread post by Davo »

honestly you can add everything on the first lines of both text files.

if you are going to do it put it under the endif
User avatar
Xoth
Hatchling
Hatchling
Posts: 3
Joined: Fri Jun 27, 2014 5:00 am

Re: Force Save NO HACKS/MODS. FORCE SAVE FIX FOR STEAM USERS

Unread post by Xoth »

Im sorry for my ignorance but im not entirely sure if what you are saying is that its right or wrong to edit the files in the way i did. If its not to much truble would you mind showing what it should look like? Or upload working copies of the files that are correctly edited. Thank you for taking the time to answer my questions especially considering my lacking understanding of programing.
User avatar
Davo
The Boss
The Boss
Posts: 2422
Joined: Sun Dec 27, 2009 1:36 am
Age: 39

Re: Force Save NO HACKS/MODS. FORCE SAVE FIX FOR STEAM USERS

Unread post by Davo »

Code: Select all

#############################################################################
# Configuration rules and options for Spore
# 
# Andrew Willmott
#
# This script both defines what the various game options
# do, and sets defaults for them based on the video
# card, sound card, CPU, and other factors.
#
# It also sets some properties determining what the
# hardware will support.
#
# the following are equivalent, the error code is used as the guid if no id is supplied
# alert "You are running with new preferences" 1010 -info
# alert "You are running with new preferences" 1010 -info -id 0x000003f2 
# alert "You are running with new preferences" 1010 -info -id AppConfig!0x000003f2 


#############################################################################
# Constants
# 

boolProp recordMovieLength 9999
boolProp disableValidation true           
boolProp playOpeningMovie false


set Off 0
set On  1

set Low    1
set Medium 2
set High   3

# Shader paths -- must match with Material/config.mtl
seti shaderPath2_m 0
seti shaderPath2_0 1
seti shaderPath2_x 2
seti shaderPath3_0 3


#############################################################################
# Set up
#

setVariables

setb isVista false
if (match("${OSName}", "*vista*"))
    setb isVista true
endif

if ($isVista and $VistaKB940105Required)
   alert "The game may run out of address space with some configurations\nand video cards, resulting in stability problems.\n\nIt is recommended that you install the latest Windows Vista Service Pack\nand check for updated video drivers.\n\nFor details see the Microsoft Knowledge Base article\n\n    http://support.microsoft.com/default.aspx/kb/940105\n\n" 2003 -warning
endif
	
if ($cider)
   # Running under Mac wrapper. Set mac-specific options here
   boolProp AlwaysFullscreen true
   boolProp RenderTargetCorrection false
   boolProp MacSpecificText true
   boolProp Support51Audio false
endif

			
#############################################################################
# Initial defaults.
#
# These may be overridden below according to CPU or card.

setOption OptionShadows             $High
setOption OptionTextureDetail       $Medium 
setOption OptionEffects             $High
setOption OptionBakeQuality         $High
setOption OptionLighting            $High
setOption OptionPlanetQuality       $High
setOption OptionDOF                 $Low

setOption OptionHighResTextures     $Low

setOption OptionPhotoRes            $Medium
setOption OptionVideoRes            $Medium
setOption OptionAudioPerformance    $Medium
setOption OptionGameQuality         $High

setOption OptionDiskCacheSize       4  # 1 GB
setOption OptionTutorialsEnabled    $On
setOption OptionShowHints           $On
setOption OptionEdgeScroll          $On
setOption OptionBuddiesOnly         $Off
setOption OptionFitToScreen         $Off
setOption OptionExplainSporepedia    $On
setOption OptionExplainPaintLikeThis $On


setOption OptionExpireOld           $Off
setOption OptionArchiveExpired      $Off
setOption OptionExpireDays          30
setOption OptionDownloadSize         8

setOption OptionUpdateLimit         $Off
setOption OptionUpdateLimitDays      7

setOption OptionCaptureUI           $Off

setOption OptionCellControls        $Off
setOption OptionCreatureControls    $Off
setOption OptionTribeControls       $Off
setOption OptionCivControls         $Off
setOption OptionSpaceControls       $Off


#############################################################################
# Identify graphics adapter
#


# Set some config variables based on a card table and vendor specific rules.
# Note that Remote launch on Vista returns no vendor.
set cardName "Unknown"
set cardVendor "Unknown"
setb isCardFound false

include "VideoCards.txt"

# Fallback on the card name text supplied by the card itself.
# Assumes that at least the cardVendor has been matched, since
# vendor name is not contained in some vendor card names.
# Note that specific vendors are overridden to a default card.
#  For AMD    -> Radeon 9800 Pro
#  For NVIDIA -> NVIDIA GeForceFX 5200 SE

if (not $isCardFound)
   set cardName $graphicsCard
endif

#############################################################################
#
# Testing Code
#

# For testing
setb doTestCPU false
setb doTestGPU false

if ($doTestCPU)
    seti pentium4 0
    seti cpuCount 1
    
    seti cpuSpeed 2000
    set cpuBrand "AMD Athlon64"
endif

if ($doTestGPU)
    # test some 2.0/3.0 cards
    set cardVendor "AMD"
    set cardName "Radeon 9600"
    
    set cardVendor "Intel"
    set cardName "915"
    
    set cardVendor "NVIDIA"
    set cardName "GeForce 5900"
     
    # card strings confuse 6800 SE comparisons
    #set cardName "NVIDIA GeForce 6800 Series GPU"
         
    seti testShaderModel 2
    seti maxVertexProgramVersionHW ($testShaderModel*256)
    seti maxPixelProgramVersion    ($testShaderModel*256)
    
    # have to set this, since some overrides fallback on graphicsCard string
    set graphicsCard $cardName
endif

#############################################################################
#
# Option Levels
#

seti cpuLevelHigh          3
seti cpuLevelMedium        2
seti cpuLevelLow           1

seti gpuLevelHigh          3
seti gpuLevelMedium        2
seti gpuLevelLow           1

# Shader paths -- must match with Material/config.mtl
seti shaderPath2_m 0 #2 minimal
seti shaderPath2_0 1 
seti shaderPath2_x 2 
seti shaderPath3_0 3 

#############################################################################
#
# CPU Assessment
#

seti adjustedCPU $cpuSpeed

setb cpuAMD false
if (match("${cpuBrand}", "*AMD*"))
    setb cpuAMD true
endif

seti cpuCutoffLow 2000
seti cpuCutoffMed 2400

if ($pentium4 > 0)
    # intel p4 hyperthread or multiprocessor
    if ($hyperthreading > 0)
        # only count real cpus
        seti cpuCount (floor(${cpuCount} / 2))
    endif
    
    if ($cpuCount > 1)
        seti adjustedCPU (round($adjustedCPU * 1.3334))   
    endif

    seti cpuCutoffLow 2400
    seti cpuCutoffMed 2800

elseif ($cpuCount == 1)
    if ($cpuAMD) 
        # amd single core (xp, 64)
        seti cpuCutoffLow 1800
        seti cpuCutoffMed 2000
    else 
        # pentium m, celeron, etc 
        seti cpuCutoffLow 2000
        seti cpuCutoffMed 2200  
    endif
else    
    if ($cpuAMD) 
        # amd multicore (athlon 64x2)
        seti cpuCutoffLow 1600
        seti cpuCutoffMed 1900
    else 
        # intel multicore (core duo, core2 duo)
        seti cpuCutoffLow 1800
        seti cpuCutoffMed 2100
    endif
endif

# rate the cpu
if ($adjustedCPU < $cpuCutoffLow)
    seti cpuLevel $cpuLevelLow
elseif ($adjustedCPU < $cpuCutoffMed)
    seti cpuLevel $cpuLevelMedium
else
    seti cpuLevel $cpuLevelHigh
endif


#############################################################################
#
# GPU Assessment
#

# track specific vendors
setb isNvidia           false
#setb isNvidiaIntegrated false

setb isAMD				false
#setb isAMDIntegrated    false

setb isIntel			false
setb isIntelIntegrated  false

setb isS3			    false
setb isVendorUnknown	false

setb isLimitedVideoMemory false

# convert to major version
seti vsVersion (floor($maxVertexProgramVersionHW / 256))
seti psVersion (floor($maxPixelProgramVersion / 256))

# if not in database, assume any new card is "medium"
seti gpuLevel $gpuLevelMedium

if (match("${cardVendor}", "AMD") or match("${cardVendor}", "ATI"))
    setb isAMD true
elseif (match("${cardVendor}", "NVIDIA"))
    setb isNvidia true
elseif (match("${cardVendor}", "INTEL"))
    setb isIntel true
elseif (match("${cardVendor}", "S3"))
    setb isS3 true
else
    setb isVendorUnknown true
endif

# old driver build detection/warning
setb oldDriver false
seti oldDriverBuild 0

# force a driver build off mutigpu detection
#  or else multigpu must be disabled
setb isMultiGpu false
setb isOldDriverBuildExit false
setb sporeProfile false
if ($gpuCount > 1)
    setb isMultiGpu true
endif

if ((not $cider) and (not $doTestGPU))
    # test each vendor against specific known driver builds
    if ($isNvidia)
        # identify the build range that has a Spore profile
        if (($driverBuild >= 117600) and ($driverBuild <= 117699)) # notebook
            setb sporeProfile true
        elseif ($driverBuild >= 117741) # desktop
            setb sporeProfile true
        endif
           
        seti oldDriverBuild 116375  # 10/4/2007 
        if ($driverBuild < $oldDriverBuild)
            setb oldDriver true
        endif
        
        if ($isMultiGpu)
            #seti oldDriverBuild 117600
            setb isOldDriverBuildExit true
            
            # require a profile
            if (not $sporeProfile)
                setb oldDriver true
            endif
        endif
           
    elseif ($isIntel)
        seti oldDriverBuild 104906  # 12/19/2007
        #setb isOldDriverBuildExit true
        
        if ($driverBuild < $oldDriverBuild)
            setb oldDriver true
        endif
        
    elseif ($isAMD)
        if ($isVista)
            seti oldDriverBuild   100096  # Cat 8.3, 3/2008
            
            if ($isMultiGpu)
                seti oldDriverBuild 100127 # Cat 8.7, 7/2008
            endif
        else
            seti oldDriverBuild 106764  # Cat 7.12, 12/2007
            
            if ($isMultiGpu)
                seti oldDriverBuild 106833  # Cat 8.7, 7/2008
                setb isOldDriverBuildExit true
            endif
        endif
        
        if ($driverBuild < $oldDriverBuild)
            setb oldDriver true
        endif
    endif
      
    # this alert is only displayed the first time the game is launched, or when the preferences are deleted
    if ($oldDriver)
       if ($isOldDriverBuildExit)
           if ($isMultiGpu)
               alert "An older video driver is detected.\n\nTo ensure correct visuals and gameplay with multiple gpus,\ninstalling the latest video driver is required,\nor multiple gpu mode must be disabled.\nThe game will not run.\nPlease see the README for details.\n\n" 1012
           else
               alert "An older video driver is detected.\n\nTo ensure correct visuals and gameplay,\ninstalling the latest video driver is required.\nThe game will not run.  Please see the README for details.\n\n" 1011
           endif
       else
          alert "An older video driver is detected.\n\nTo ensure correct visuals and gameplay,\ninstalling the latest video driver is recommended.\n\n" 1010 -info
       endif
    endif
endif


if ($isNvidia)
    # gtx reverses standard naming convention
    if (match("${cardName}", "*GeForce GTX*"))
        # classify high
        seti gpuLevel $gpuLevelHigh
         
    # rules don't apply to Quadro numbering, if not renamed in db assume medium
    elseif (not match("${cardName}", "*Quadro*"))
        
        # classify low
        if (match("${cardName}", "*5??0*"))
            seti gpuLevel $gpuLevelLow
            
	    elseif (match("${cardName}", "*61?0*"))
	        seti gpuLevel $gpuLevelLow
	    elseif (match("${cardName}", "*62?0*"))
		    seti gpuLevel $gpuLevelLow
		elseif (match("${cardName}", "*65?0*"))
		    seti gpuLevel $gpuLevelLow
		
		# catlab ep1 run classifies 6600/6800XT as low
		elseif (match("${cardName}", "*66?0*"))
		    seti gpuLevel $gpuLevelLow
		elseif (match("${cardName}", "*6800 XT*"))
		    seti gpuLevel $gpuLevelLow
		        
	    elseif (match("${cardName}", "*72?0*"))
	        seti gpuLevel $gpuLevelLow
	    elseif (match("${cardName}", "*73?0*"))
	        seti gpuLevel $gpuLevelLow
	    elseif (match("${cardName}", "*74?0*"))
		    seti gpuLevel $gpuLevelLow
		elseif (match("${cardName}", "*75?0*"))
		    seti gpuLevel $gpuLevelLow
		    
		elseif (match("${cardName}", "*83?0*"))
		    seti gpuLevel $gpuLevelLow
		elseif (match("${cardName}", "*84?0*"))
		    seti gpuLevel $gpuLevelLow
		    
	    endif
   
        if ($gpuLevel == $gpuLevelLow)
            setb isLimitedVideoMemory true
        else
            # classify high
            if (match("${cardName}", "*98?0*"))
	            seti gpuLevel $gpuLevelHigh
	        elseif (match("${cardName}", "*96?0*"))
		        seti gpuLevel $gpuLevelHigh
		        
		    elseif (match("${cardName}", "*88?0*"))
		        seti gpuLevel $gpuLevelHigh
		    
		    elseif (match("${cardName}", "*79?0*"))
		        seti gpuLevel $gpuLevelHigh
		    elseif (match("${cardName}", "*78?0*"))
		        seti gpuLevel $gpuLevelHigh
		    endif
        endif
        	  
    endif
endif

if ($isAMD)
    # rules don't apply to FireGL/FireMV numbering, if not renamed in db assume medium
    if (not match("${cardName}", "*Fire*")) # FireGL/MV
    
        # classify low
        if (match("${cardName}", "*32?0*"))
		    seti gpuLevel $gpuLevelLow
		elseif (match("${cardName}", "*34?0*"))
		    seti gpuLevel $gpuLevelLow
		    
        elseif (match("${cardName}", "*23?0*"))
		    seti gpuLevel $gpuLevelLow
		elseif (match("${cardName}", "*24?0*"))
		    seti gpuLevel $gpuLevelLow
		    
        elseif (match("${cardName}", "*95?0*"))
            seti gpuLevel $gpuLevelLow
	    elseif (match("${cardName}", "*96?0*"))
	        seti gpuLevel $gpuLevelLow
	            
	    elseif (match("${cardName}", "*X12?0*"))
	        seti gpuLevel $gpuLevelLow
	    elseif (match("${cardName}", "*X13?0*"))
		    seti gpuLevel $gpuLevelLow
		elseif (match("${cardName}", "*X14?0*"))
		    seti gpuLevel $gpuLevelLow
		elseif (match("${cardName}", "*X15?0*"))
		    seti gpuLevel $gpuLevelLow
		        
	    elseif (match("${cardName}", "*X2?0*")) # X200/300/600, won't match HD 2400
		    seti gpuLevel $gpuLevelLow
		elseif (match("${cardName}", "*X3?0*"))
		    seti gpuLevel $gpuLevelLow
	    elseif (match("${cardName}", "*X6?0*"))
	        seti gpuLevel $gpuLevelLow
	  
	    endif
	    
	    if ($gpuLevel == $gpuLevelLow)
            setb isLimitedVideoMemory true
        else
            # classify high
            if (match("${cardName}", "*48?0*"))
                seti gpuLevel $gpuLevelHigh
            
            elseif (match("${cardName}", "*38?0*"))
                seti gpuLevel $gpuLevelHigh
            elseif (match("${cardName}", "*36?0*"))
                seti gpuLevel $gpuLevelHigh
	        elseif (match("${cardName}", "*29?0*"))
	            seti gpuLevel $gpuLevelHigh
	            
	        elseif (match("${cardName}", "*19?0*"))
	            seti gpuLevel $gpuLevelHigh
	        elseif (match("${cardName}", "*18?0*"))
	            seti gpuLevel $gpuLevelHigh
	        endif
	    endif
	endif	   
endif

if ($isIntel)
    if ($cider)
        # x3100
        seti gpuLevel $gpuLevelLow	
	elseif (match("${cardName}", "*915*") or match("${cardName}", "*945*"))
		seti gpuLevel $gpuLevelLow	
		setb isIntelIntegrated true	
	else
		seti gpuLevel $gpuLevelLow
	endif
    
    setb isLimitedVideoMemory true
endif

if ($isS3)
	seti gpuLevel $gpuLevelLow
	setb isLimitedVideoMemory true
endif

# unknown vendors dropped if below shader model
if ($isVendorUnknown)
	seti gpuLevel $gpuLevelLow
    setb isLimitedVideoMemory true
endif

# drop gpu level if less than 128MB of video memory, below minspec
if ($textureMemory < 125)
    seti gpuLevel $gpuLevelLow
endif

# determine whether card is mobile and drop gpu by one level 
setb isMobile false
if ($cider)
    if (match("${cardName}", "*Mobility*"))
        setb isMobile true
    elseif (match("${cardName}", "GeForce*Go*"))
        setb isMobile true
    endif
  
    if ($isMobile)
        if ($gpuLevel >= $gpuLevelHigh)
            seti gpuLevel $gpuLevelMedium
        elseif (($isCardFound) and ($gpuLevel >= $gpuLevelMedium)) # only drop identified medium cards to low
            seti gpuLevel $gpuLevelLow
        endif
    endif  
      
endif

############################################################################
# Set base shader path
#

seti shaderPathToSet 0

if ($psVersion >= 3)
   seti shaderPathToSet $shaderPath3_0
   
   if ($isIntel)
	  seti shaderPathToSet $shaderPath2_m
   endif
elseif ($psVersion >= 2)
   # use temp register count to distinguish 2 from 2a/2b
   if ($cider)
        seti shaderPathToSet $shaderPath2_0
        if ($maxPSRegisters >= 26)
            seti shaderPathToSet $shaderPath2_x
        endif
        if ($isIntel)
            seti shaderPathToSet $shaderPath2_m
        endif
   else
        seti shaderPathToSet $shaderPath2_0
        if ($maxPSRegisters >= 32)
            seti shaderPathToSet $shaderPath2_x
        endif
        if ($isIntel)
            seti shaderPathToSet $shaderPath2_m
        endif
   endif
else
   # this message should be generated/localized code side
   alert "Sorry, your graphics card is below our min spec.\nThe game will not run.\nPlease see the README for details." 2001
endif

# NOTE: do not override this for special cases, unless the card will
# actually crash or has bugs. Instead setOption OptionLighting to
# reduce the path by default to what we recommend.
intProp shaderPath $shaderPathToSet

#############################################################################
# Instancing support

if ($cider)
    # no support for instancing
    setb instancing false
endif

if ($instancing)
    trace "=== Instancing can be enabled"
    boolProp effectsInstancing true

    # rendering artifacts using instancing on hw tnl based intel cards
    #  dropping to swvp does not help
    if ($isIntel)
	    # swvp cards benefit from instancing, check that drivers work correctly
	    if (match("${cardName}", "*915*") or match("${cardName}", "*945*") or match("${cardName}", "*Q35*"))
		    boolProp effectsInstancing true
	    else
		    boolProp effectsInstancing false	
	    endif
    endif
endif

# Report classification

trace "==="
trace "=== GPU level ${gpuLevel}"
trace "=== Card ${cardName}, Vendor ${cardVendor}, Driver ${driverBuild}, ${instancing}"
trace "==="
trace "=== CPU level ${cpuLevel}"
trace "=== CPU ${cpuCount}, Speed ${adjustedCPU}, HT ${hyperthreading}, P4 ${pentium4}" 


#############################################################################
# Set options based on cpu
#

setOption OptionEffects             $cpuLevel
setOption OptionBakeQuality         $cpuLevel
setOption OptionPlanetQuality       $cpuLevel
setOption OptionAudioPerformance    $cpuLevel
setOption OptionGameQuality         $cpuLevel


#############################################################################
# Set terrain generation brush throttle based on cpu
#

if ($cpuLevel > $cpuLevelMedium)
    intProp terrainGenerateBrushesPerFrame 200
    intProp terrainGenerateTimeLimit 20
elseif ($cpuLevel > $cpuLevelLow)
    intProp terrainGenerateBrushesPerFrame 100
    intProp terrainGenerateTimeLimit 10
else
    intProp terrainGenerateBrushesPerFrame 30
    intProp terrainGenerateTimeLimit 5
endif

#############################################################################
# MRT
#

boolProp MRT 0
if ( $numSimultaneousRTs > 1 )
	boolProp MRT 1
endif

############################################################################
# Resolution
#
if (($gpuLevel >= $gpuLevelMedium) and (not $isLimitedVideoMemory))
    seti resolutionTarget (1024 * 768)
else
    seti resolutionTarget (800 * 600)
endif

setResolution $resolutionTarget

############################################################################
# Texture Detail
#

if (($gpuLevel == $gpuLevelLow) or ($isLimitedVideoMemory))
    setOption OptionTextureDetail $Low
endif

############################################################################
# DOF
#

if (($gpuLevel >= $gpuLevelHigh) and ($cpuLevel >= $cpuLevelHigh))
    setOption OptionDOF $High
endif

############################################################################
# Shadow settings
#

seti shadowOption $cpuLevel
if ($gpuLevel < $cpuLevel)
	seti shadowOption $gpuLevel  
endif

trace "=== Shadow setting ${shadowOption}"
setOption OptionShadows $shadowOption


############################################################################
# Event Query
#

# Vista exhibits hangs when using D3DQUERYTYPE_EVENT.  

#trace "OS = ${OSName}"
if ($isVista or $cider)
    trace "=== Vista/Mac: avoiding GPU flush"
    intProp NumFramesToBuffer 3    # avoid GPU lock to reduce buffering -- leave it to the driver
endif

############################################################################
# Lighting level controls shaders that run.  Can be set higher.

setOption OptionLighting $gpuLevel

if ($cpuLevel == $cpuLevelLow)
    # this sets the 2_m shader path
	setOption OptionLighting $Low
endif

############################################################################
# UI Drop shadows

if (($gpuLevel == $gpuLevelLow) or $isLimitedVideoMemory)
	intProp dropShadowQualityImage 1
	intProp dropShadowQualityText  1
endif


############################################################################
# Drop CPU Settings By GPU
#

if ($gpuLevel == $gpuLevelMedium)
    # prevent high cpu level from pushing too many batches to medium gpu
    #  this helps medium gpu classification apply to more cards
    if ($cpuLevel == $cpuLevelHigh)
        setOption OptionPlanetQuality $Medium
        setOption OptionEffects       $Medium
    endif
    
    if ($cpuLevel == $cpuLevelHigh)
        setOption OptionGameQuality $Medium
    endif
    
elseif ($gpuLevel == $gpuLevelLow)
    setOption OptionEffects       $Low
    setOption OptionBakeQuality   $Low
    setOption OptionPlanetQuality $Low
    setOption OptionGameQuality   $Low
      
    # swvp needs more cpu processing
    if ($isIntelIntegrated)
       setOption OptionAudioPerformance $Low
    endif
endif

#######################################
# Safe mode
# 

# Set options to safe values. In safe mode, all options will
# be reset to their defaults, but the prefs won't be saved.

# Basically setting anything that might trigger bad hardware behaviour to low.
if ($safeMode)
    trace "=== SAFE MODE"
    
    alert "Running in safe mode" 8888 -info
    
    setOption OptionLighting      $Low
    setOption OptionShadows       $Low
    setOption OptionEffects       $Low       
    setOption OptionTextureDetail $Medium
    setOption OptionPlanetQuality       $Low
    setOption OptionAudioPerformance    $Low
    setOption OptionPhotoRes            $Low
    setOption OptionVideoRes            $Low
    setOption OptionFitToScreen         $Off
endif

# These are all of the alert dialogs localized if text is present (from AppConfig.txt)
if (varExists(showConfigAlerts) and ($showConfigAlerts))
    trace "=== Test Alerts"
    
    alert "not localized" 1000 -info -always # 3e8
    alert "not localized" 1001 -info -always # 3e9
    alert "not localized" 1002 -info -always # 3ea
    alert "not localized" 1004 -info -always # 3ec
    alert "not localized" 1005 -info -always # 3ed
    
    alert "not localized" 1010 -info -always # 3f2
    alert "not localized" 1011 -info -always # 3f3
    alert "not localized" 1012 -info -always # 3f4
    
    alert "not localized" 2000 -info -always # 7d0
    alert "not localized" 2001 -info -always # 7d1
    alert "not localized" 2002 -info -always # 7d2
    alert "not localized" 2003 -info -always # 7d3
endif


&



Code: Select all

#
# Player options, stored in prefs.
#

# Current version number of preferences file.
# If it doesn't match what the code expects, your preferences file is ignored & reset to default.
property OptionVersion        0x04754439 uint32
property OptionDefaultsSet    0x0461709d bool


#######################################################
# Config manager options
#
# NOTE: All options set through the config manager must be uint32s
# Each of these should have a corresponding entry in Options.txt,
# and potentially SPCommonOptionIDs.h.

# Low/Med/High
property OptionShadows        0x0461709e uint32
property OptionTextureDetail  0x0461709f uint32
property OptionEffects        0x046170a0 uint32
property OptionBakeQuality    0x046170a3 uint32
property OptionLighting       0x046170a6 uint32
property OptionPlanetQuality  0x046170a7 uint32
property OptionGameQuality    0x05c9482d uint32
property OptionDOF            0x4c0dd839 uint32

property OptionHighResTextures 0x08488f95 uint32 #note: this one is controlled by a cheat

property OptionPhotoRes       0x0473b8cb uint32	
property OptionVideoRes       0x0473b8cc uint32
property OptionAudioPerformance 0x7d8ed666 uint32

# on/off
property OptionFullScreen     0x046170a2 uint32
property OptionFitToScreen    0x046170a5 uint32

property OptionDiskCacheSize  0x046170a4 uint32

# Populated in code; contains screen resolution & refresh rate
property OptionScreenSize     0x046170a1 uint32

# Game options
property OptionTutorialsEnabled 0x04ea96cb uint32

# Launching EP1 for the first time etc
property ScenarioStarEffectsEnabled      0x08069a6c bool
property ScenarioGAEditorEffectsEnabled  0x0806dbba bool
property ScenarioGAButtonClicked         0x080d7de1 bool
property ScenarioGAFirstLaunched         0x080d97fe bool
property ScenarioSpaceGameLaunched       0x080eaa93 bool
property ScenarioCaptainEditorLaunched   0x080d8460 bool
property ScenarioAdventureEditorLaunched 0x080d8470 bool

# Scenario Tutorial Completion
property NumScenarioTutorialCompletedBuild 0x07abf095 uint32
property NumScenarioTutorialCompletedTerrain 0x07abf09d uint32

# Scenario Play Mode Tutorial Completion
property ScenarioPlayModeTutorialComplete 0x07be69ad bool

# Captain Editor Tutorial Completion
property CaptainEditorTutorialCompleted 0x07be27a2 bool

# Captain Sporpedia Tutorial Completion
property CaptainSporepediaTutorialCompleted 0x07d1fe81 bool

# YouTubeLogin
property OptionLoggedInYouTube 0x05664a8b uint32

# Game Hints
property OptionShowHints 0x05b5bb5e uint32      

# Login
property OptionBuddiesOnly  0x05de7b4a uint32

# Edge Scroll
property OptionEdgeScroll   0x0636ec26 uint32

# download expiry
property OptionExpireOld        0x0626f940 uint32
property OptionArchiveExpired   0x0626f9c0 uint32
property OptionExpireDays       0x0626f958 uint32
property OptionDownloadSize     0x0685a63c uint32

# feed update
property OptionUpdateLimit      0x0685a785 uint32
property OptionUpdateLimitDays  0x0685a821 uint32

# image capture
property OptionCaptureUI     0x0631621a bool      false

# Dialog Box when entering Sporepedia
property OptionExplainSporepedia  0x0604a51a uint32

# Dialog Box when clicking on PaintLikeThis
property OptionExplainPaintLikeThis 0x0604a561 uint32

# game controls
property OptionCellControls       0x0679b833 uint32
property OptionCreatureControls   0x0679b85e uint32
property OptionTribeControls      0x0679b868 uint32
property OptionCivControls        0x0679b873 uint32
property OptionSpaceControls      0x0679b880 uint32

##############################################################
# Set by options screen when a change requires asset rebaking.
property PrefsClearGraphicsCache (hash(PrefsClearGraphicsCache)) bool false


#######################################################
# Audio
#
# These are manipulated directly rather than through the
# config manager.

property AudioMasterVolume   (hash(mastervolume))   float
property AudioSFXVolume      (hash(sfxvolume))      float
property AudioMusicVolume    (hash(musicvolume))    float
property AudioVOXVolume      (hash(voxvolume))      float
property AudioSpeakerMode    (hash(speakermode))    uint32
property AudioMuteAll        (hash(muteall))        bool


#######################################################
# Login
#
# Set directly by network
property UserName           0x040512ef string8
property Password           0x040512f4 string8
property PlayOffline        0x040e3d98 bool
property PromptOnStartup    0x0440a514 bool

###################################################
# YouTube credentials
#
property YTUserName           0x05664bf5 string8
property YTPassword           0x05664bf6 string8
#property YTPromptOnStartup    0x05664bf7 bool


#######################################################
# Names for props set directly by config manager script
#
property ShaderPath              (hash(ShaderPath))  int
property EffectsInstancing       (hash(effectsInstancing)) bool
property MRT                     41              bool
property AlwaysFullscreen        0x05dd4647      bool
property RenderTargetCorrection  68              bool
property dropShadowQualityText   (hash(dropShadowQualityText))  int
property dropShadowQualityImage  (hash(dropShadowQualityImage)) int
property NumFramesToBuffer       0x05c97448 int
property terrainGenerateBrushesPerFrame	(hash(terrainGenerateBrushesPerFrame))	int
property terrainGenerateSingleStep		(hash(terrainGenerateSingleStep))	bool
property terrainGenerateTimeLimit		(hash(terrainGenerateTimeLimit))	int
   
# Mac
property MacSpecificText         0x061b67b6 bool
property Support51Audio          0x063ab656 bool

# ColladaExport
property HasShownExportToolEULA 0x087c4363 bool
property playOpeningMovie (hash(playOpeningMovie)) bool
property  disableValidation         0x055d7ca1 bool true
property recordMovieLength           0x0456f974 float  9999
User avatar
Xoth
Hatchling
Hatchling
Posts: 3
Joined: Fri Jun 27, 2014 5:00 am

Re: Force Save NO HACKS/MODS. FORCE SAVE FIX FOR STEAM USERS

Unread post by Xoth »

Thank you sir for your patience and help it worked perfectly :D

Now lets go create
Post Reply Previous topicNext topic

Return to “Davo's Mods”