Page 1 of 3
PureMemory Deluxe
Posted: Mon Mar 02, 2009 9:32 pm
by Fluid Byte
You knew that this would be coming! I actually made a sequel to this shitty game.
Like the last version, this has to be considered more like a learning project than a high paced action game.
Maybe it's entertaining at least for a coffee break.
Features
- Complete Graphics Revamp
- Combo System
- New Music Score
- 6 New Tilesets
- Online-Highscore
Screenshots
Download
http://www.codedreality.de/purememory-deluxe-en.html
Enjoy!
------------------------------------------------------------------------------------------------
Update v1.4
- Changed: DirectX 9 is now used as the default graphics API which means it's now fully
compatible with the the Aero-Scheme of Windows Vista and Windows 7
- Added: The game now has offical support for 64-Bit systems
- Fixed: Highscore online check sometimes went into an endless loop if the URL wasn't
reachable (circle of death) because of a validation of the return value
Update v1.3
- Fixed: "invisible font" bug on Vista
- Fixed: time was not stoped/cached in "TimeMode" when the game loses focus
Update v1.2- SFX/BGM volume in the options now gets changed in realtime
- The score achieved in timemode wasn't correctly transfered online. That's fixed now but the times have been reset.
- The game is no no longer finalized with AppPacker. So there's no more two "PureMemory Deluxe.exe" processes running. May fix some Vista-problems as well.
Update V1.1
- reduced CPU usage
- MiniZIP Update
- fixed typos
Posted: Mon Mar 02, 2009 11:11 pm
by Fluid Byte
Update V1.1B
- reduced CPU usage
- MiniZIP Update
- fixed typos
Posted: Tue Mar 03, 2009 12:25 am
by luis
Looks very nice!
But doesn't start on my system.
I see two PureMemory.exe processes (?) for a moment in the taskmanager and then quits.
XP SP3 (ita), nVidia 9800 GTX, 4GB and an original IBM model-m keyboard

Posted: Tue Mar 03, 2009 12:47 am
by Fluid Byte
luis wrote:I see two PureMemory.exe processes (?) for a moment in the taskmanager and then quits.
That's because the game has been packed. When you start the .EXE it unpacks all needed files, closes itself and then launches the "real" .EXE. Dunno why it won't start though. Several people have the same problem.
Posted: Tue Mar 03, 2009 1:05 am
by idle
very nice fluid.
It opened up fine on XP here, but still had two processes running.
Posted: Tue Mar 03, 2009 3:47 pm
by Inf0Byt3
Very cool game

. Works great here on XP 32bit.
Congrats Fluid Byte!
Posted: Tue Mar 03, 2009 3:52 pm
by DarkDragon
Well done!

Posted: Tue Mar 03, 2009 8:20 pm
by Fluid Byte
Update v1.2B- SFX/BGM volume in the options now gets changed in realtime
- The score achieved in timemode wasn't correctly transfered online. That's fixed now but the times have been reset.
- The game is now no longer finalized with AppPacker. So there's no more two "PureMemory Deluxe.exe" processes running. May fix some Vista-problems as well.
Please download the new version!
Posted: Tue Mar 03, 2009 8:51 pm
by luis
Fluid Byte wrote:
[*] The game is now no longer finalized with AppPacker. So there's no more two "PureMemory Deluxe.exe" processes running.
Still doesn't start on my PC.
(if you are interested in upload a debug version writing a log file maybe, I can try that and report back).
Posted: Tue Mar 03, 2009 10:05 pm
by Fluid Byte
luis wrote:(if you are interested in upload a debug version writing a log file maybe, I can try that and report back).
That's exactly what I thought yesterday but how to do? Create a textfile at startup and then and after each code segment (init DirectX, load sound, load graphics, init interface, etc.) just write a line? It doesn't matter if it crashes and the file doesn't get closed correctly with CloseFile(), right?
Everything be written into the file until a crash, won't it?
Posted: Tue Mar 03, 2009 11:23 pm
by Kaeru Gaman
test it....
write a code that writes something to a textfile every second,
and kill the process in the middle of execution.
on the other hand, you can use OpenFile:WriteString:CloseFile to do an Append...
Posted: Wed Mar 04, 2009 12:33 am
by Fluid Byte
Kaeru Gaman wrote:on the other hand, you can use OpenFile:WriteString:CloseFile to do an Append...
So simple but yet so effective...
I just had a look at the OpenFile() example and put this togther (try with debugger off):
Code: Select all
Procedure _Log(Text.s)
OpenFile(0,"purememory.log")
FileSeek(0,Lof(0))
WriteStringN(0,Text)
CloseFile(0)
EndProcedure
_Log("first line in log")
_Log("programm started")
tittyfuck = 23 / Null ; force the programm to crash
; do stuff
_Log("programm closed") ; this line will be missing in log
You sometimes lose the sense for the simple solutions if when you program to much.
Thanks Kaeru!

Posted: Wed Mar 04, 2009 12:40 am
by Kaeru Gaman
you're welcome!
boy, you made me laught! k.m.a. what a blaster...
Posted: Wed Mar 04, 2009 12:45 am
by luis
EDIT: POLISHED A LITTLE
http://www.purebasic.fr/english/viewtopic.php?p=279380
Fluid Byte wrote:
Everything be written into the file until a crash, won't it?
Yes.
Here it is how I do: (
DEPRECATED: SEE LINK ABOVE)
Code: Select all
; #L2F_ENABLED
Macro L2F_INIT (sFileName, flgAppend)
CompilerIf Defined(L2F_ENABLED, #PB_Constant)
_DebugToFile ("", sFileName, flgAppend)
CompilerEndIf
EndMacro
Macro L2F (sText)
CompilerIf Defined(L2F_ENABLED, #PB_Constant)
_DebugToFile (sText)
CompilerEndIf
EndMacro
CompilerIf Defined(L2F_ENABLED, #PB_Constant)
Procedure _DebugToFile (sText.s, sFileName.s = "", flgAppend = #False)
Static nFileNum
Static sDebugFileName.s
If IsFile(nFileNum) = 0
sDebugFileName = GetPathPart(ProgramFilename())
If Len(sFileName)
sDebugFileName + sFileName
Else
sDebugFileName + "debug.txt"
EndIf
If flgAppend
nFileNum = OpenFile(#PB_Any, sDebugFileName)
If nFileNum
FileSeek(nFileNum, Lof(nFileNum))
EndIf
Else
nFileNum = CreateFile(#PB_Any, sDebugFileName)
EndIf
EndIf
If Len(sText)
sText = FormatDate("%hh:%ii:%ss = ", Date()) + sText
EndIf
If IsFile(nFileNum)
WriteString(nFileNum, sText + #CRLF$)
FlushFileBuffers(nFileNum)
EndIf
EndProcedure
CompilerEndIf
Code: Select all
;*** TEST ***
Debug "1"
L2F("debug line 1")
Debug "2"
L2F("debug line 2")
Debug "3"
L2F("debug line 3")
If you define #L2F_ENABLED by uncommenting it, the debug file is created.
If you do not define #L2F_ENABLED by commenting it, there is no trace in the code of the debug procedures.
On default L2F creates a debug.txt file in overwrite mode.
If you call ONCE L2F_INIT at the start of your code, you can decide the filename and if the log must be appended to at every run or recreated.
Posted: Wed Mar 04, 2009 1:34 pm
by Fluid Byte
That would have been my next question. I was scared by the idea of having
two sources to maintain and update.
But your solution is just great luis! Thank you very much!
Ok, here's the debug version:
http://www.codedreality.de/tl_files/gam ... _Debug.zip
A correct log should look like this:
Code: Select all
13:26:03 = init DirectX 7
13:26:03 = init 3D hardware
13:26:03 = init keyboard
13:26:03 = init mouse
13:26:03 = init sound
13:26:03 = load component: minizip
13:26:03 = load component: animsprite
13:26:03 = load component: imagefont
13:26:03 = load component: highscore
13:26:03 = load component: zip access
13:26:03 = load component: interface
13:26:03 = read settings
13:26:03 = open screen
13:26:03 = prepare resources
13:26:03 = load sounds
13:26:03 = load music
13:26:03 = load graphics
13:26:03 = init interface
13:26:04 = create dialogs
13:26:04 = enter main loop ...