How to detect a memory leak?

Blitz3D Forums/Blitz3D Programming/How to detect a memory leak?

Yue(Posted 2012) [#1]
Hi I have a concern, I need to know if the following may be an indication of a memory leak.

Caundo start the game, I said to occupy 90 megs, now well into the game when starting a new game and tells me that uses 91 megs, so after several restarts reaches 100 or more megs ... That's a memory leak? and can crash the application?

Greetings.


Leon Drake(Posted 2012) [#2]
seems like a slow memory leak if it is one..


Bobysait(Posted 2012) [#3]
a memory leak after several reboots ? I dont think so ...
Maybe a matter of system-cache or a growing backup that contains more and more infos about players, npcs etc ...


I don't know about "Caundo" then, I'm probably very far from truth


Chalky(Posted 2012) [#4]
He didn't say "reboots" - he said "restarts", as in "restarting my game"...


Yue(Posted 2012) [#5]
Hello, I go into the game and there is a menu, so I give in starting, the player dies and the game reset the Start button, then this takes several attempts to use up memory in the app, goes from 90-91 and if much more can reboot has 100 megs.

The sorry truth not speaking English has greatly hindered my life.


Bobysait(Posted 2012) [#6]
Ok, sorry, I misunderstood
Then it's a real memory leak.

Best way to check it :
- counting instances between 2 or more restarts

Dim InstanceCounts(NbRestarts, NbVariablesToTrack)
Init()

[...]
Loop()
[...]
Function OnPlayerResurection(loopid%)
  local nb = 0
  For t1.MyType1 = Each MyType1
    nb=nb+1
  Next
  InstanceCounts(1,loopid)=nb
  
  nb = 0
  For t2.MyType2 = Each MyType2
    nb=nb+1
  Next
  InstanceCounts(2,loopid)=nb
  [...]
  If loopid>1
     NbThisLoop  = InstanceCounts(1,loopid)
     NbSinceFirst = NbThisLoop-InstanceCounts(1,0)
     NbSinceLast = NbThisLoop-InstanceCounts(1,loopid-1)
     Debuglog "Type1 :"+NbThisLoop+" , "+NbSinceFirst+" , "+NbSinceLast
  Endif
end function


Then at least you'll know what kind of leak it is.
You could also track for meshes not freed from memory

by the way, blitz3d does not use "Local" variables for type (where blitzmax use a Garbage collector to release unreferenced variables) so you have to delete all "New" type

If your game allows it : sometimes a "DeleteEach MyType" + a "ClearWorld 1,1,1" is pretty simple to be sure not leaving anything in memory (excepts banks and arrays)

Last edited 2012


Yue(Posted 2012) [#7]
Hi appreciate your help, look here I have an example of what happens should only look at the last parameter that shows the memory in use, just move the character and pull it through the avismo and automatically restarts the game, and after some early memory in use rises.


Download Here: http://www.mediafire.com/?vif2dvsuwh3dtby

Apparently I have is a problem in the shadows and textures is that one way or another make up the memory usage.


Bobysait(Posted 2012) [#8]
Game does not respawn player
> Error Fatal N0x0009 when he falls in the abysses


Yue(Posted 2012) [#9]
Oh no, this really is a nightmare, to see how far I get with this, please help by removing the shadows, in ... \ Data \ config.ini and SombrasOFF = 1 change to 0. and please try again. this is really frustrating.

You can change the language options, advanced language.

Last edited 2012


Bobysait(Posted 2012) [#10]
same error, wether or not SombrasOFF is setted to "0" or "1"

ps : I use the "Fr" localisation on windows 7 64 bits
if it helps to find out why it crashes

Last edited 2012


Yue(Posted 2012) [#11]
I greatly appreciate your time on this, look I created a new executable would replace the existing single Pawn.exe. parameter and put it back in the shadows with the value 1.

http://www.mediafire.com/?k7a2380r3k3ic41


Bobysait(Posted 2012) [#12]
Sorry, but the new pawn.exe is worse ...
after "Start" it just freeze the render on the "black fade out" and go for something like an infinite loop while the music is playing.


Yue(Posted 2012) [#13]
My God, this really makes me suffer, I created a new pawn.exe, hopefully solve the problem, really never thought that this would be so complicated, that is most of the time I spend fixing things and did not advance in the project, I hope one day ends Pawn.

http://www.mediafire.com/?pehce356d5wv2nr

]

Last edited 2012


Bobysait(Posted 2012) [#14]
I'll test the new file later, but don't you have a second machine ?

It's easier to track bugs if you compile your exe and test it on several computers before to submit it to a larger beta test area
Preferably with different OS installed.
Then you have a fast test to unsure it "might" work

At least one computer for testing is a minimum
The one you program with has all the required stuff, dependencies, and statics things you needed to compile, but we often forget to link some dlls or some other extra OS's static stuff.

But keep up man, it's a nice demo (for the small part I could test)
lots of features, nice music, fairly nice UI

[edit]
The PawnFix don't freeze like the previous one, but still "Falla! <Error Fatal: Nro. x0009>"
by the way, it runs 2 or 3 "fatal error" alerts before closing

Last edited 2012


Yue(Posted 2012) [#15]
No, I have another machine, it is very unfortunate, really I am a novice at this and make a vídejuego my lack of experience is at a premium. Likewise, I am grateful to people like you who take the time to help with this, I hope you comment anxious as was the new executable.

Greetings.

Edit:
So today I am of mind.


No passing, this is really frustrating tesa ire to take a coffee.

Last edited 2012

Last edited 2012


Kryzon(Posted 2012) [#16]


----- Anyway, back on topic!

There's a specific mindset to use when you're debugging your code. It really is 'hard work'. You need to interpret what's going on.
- Do you know what you're creating and not destroying every time you go through that reset?
- Can you follow the steps of your program and list every single object that is created\loaded, and see if it's properly released when not needed anymore?
- Are you sure you are clearing all slots of your arrays, that you're not missing the first or last one because of index mistakes (starting with 1, or ending before the last slot)?

If it's making you crazy then open your windows (to let some air in), go for a walk (to clear your head), and then assertively go back to it.
The most important thing you need to know is 'you can solve it'.

Last edited 2012


Bobysait(Posted 2012) [#17]
lol
Hope you're not that exausted just for some tests :)


Yue(Posted 2012) [#18]
Hello, after walking in a while I went to an internet room and tried it and load it crashes. Now I looked at the code again and I think I found the problem.

A new update, repeatedly appreciate the help.

http://www.mediafire.com/?fdk64cbxvcndf6p


Bobysait(Posted 2012) [#19]
I've uninstalled the whole thing to be sure, then download 2 times
reinstall the main setup then, copy/paste/overwrite the files in the fix 3

...

It crashes on double-click (not even a window working :/)
If it crashes sooner at each fix, maybe I should not try the next ... I'm a bit scary it will crash my windows :)

Last edited 2012


Yue(Posted 2012) [#20]
Hello I created a new installer called version 1.4, I apologize for the inconvenience caused, I think it is best to install from scratch to see if it works.

Thanks for your patience in this.

http://www.mediafire.com/?wtn1f6x7790af2x


Bobysait(Posted 2012) [#21]
definitely crash on starting the application.

Maybe you could try without installer first, it 's a bit annoying to run this kind of installer
And if we're here to debug your game, then I'd like to not have 50 installation ugly desinstalled by the messy windows tool (that don't clear all registry keys etc ...)
So could you just use a zip/rar archive ?
We'll deal with the potential installer troubles when you'll come to something working

Last edited 2012


RemiD(Posted 2012) [#22]
An easy way to debug inside Blitz3d is to use DebugLog() or Print() and RunTimeError().
Or if you don't want to use the debug commands of Blitz3d, you can write the "start" and "end" of each step in an external .txt file.

For example let's say you have a routine to load an external lib :
Print("Loading lib X.") ;or WriteDebugTxt("Loading lib X.")
;the routine is here
Print("Lib X has been loaded.") ;or WriteDebugTxt("Lib X has been loaded.")

And each time you try to read or write an external file it is better to check what is the result of the operation (if the file has been written/read properly), if not you can use RunTimeError() to display the error.
See this code to understand how to uses RunTimeError() :
http://blitzbasic.com/codearcs/codearcs.php?code=2975

This way you will know exactly how your program behaves, and yes it takes time to do that.

Last edited 2012


Yue(Posted 2012) [#23]
Hello, definitely not happening here seems everything work perfectly, so listening to the voice of wisdom begin to send packets rar / zip.

Debugger will show an image as seen here aca development.



[EDIT]
Well, try to summarize what should happen. There is a box and the character you are dynamic. These are the destroyers when starting a new game within the game with the start menu or when the character falls from a platform. Boxes are caster and cast shadows on the ground, the character's caster and casts a shadow on the ground and on the box, the box shades the character. In the main menu, there are two platforms and two upstream and where the mesh is charged to the initial menu. So the problem is in the case in these two models, Character, or load lib FastPointer that resources in the background. I repeat here everything works perfect. But I look good all the process.


Code Fast Pointer Loading
Function Carga_RecursosHilo(Ente% = 0)
	
	
	
	Repeat
		
		
		
		
		If Img_Yue% =  0 
			
			
			
			
			Img_Yue% = LoadImage("Data\Imagenes\Yue.bmp")
			
			
			
			
			
		End If 
		
		
		
		
		
		If Yue% = 0
			
			
			
			
			Yue% = LoadAnimMesh_Zip%("Yue.b3d")            			; Jugador.
			PivotRaiz% = FindChild(Yue%,"Bone00")
			PositionEntity Yue%,0,-1.6,75	
			
			
			If Copia_SombrasONOFF% = True  Then 
				CreateCaster PrimerSombra.Sombra, Yue%
				CreateCaster SegundaSombra.Sombra, Yue%
			End If 
				;Anima%()
			
			
			
			
			
			Animate Yue%,3,1,1,0
			
			
			
			
		End If 
		
		
		If Caja% = 0
			Caja%   = LoadMesh_Zip%("Caja.b3d")						; Caja.
			
			ScaleEntity Caja%,.1,.1,.1								; Se escala la Caja.
			PositionEntity Caja%,-6,-7.8,75							; Posición de la Caja.
			RotateEntity Caja%, 0,-35,0								; Rotación de la Caja.
			
			If Copia_SombrasONOFF% = True Then 
				CreateCaster PrimerSombra.Sombra, Caja%
				CreateCaster (LodSombra.Sombra,Caja%)
				CreateCaster (TercerSombra.Sombra, Caja%)
				
			End If 
			
		End If 
		
		If Plataforma4SS% = 0 
			
			
			Plataforma4SS% = LoadMesh_Zip%("Camino2SS.b3d")  
			
			PositionEntity Plataforma4SS%, 280,-12.5,73
			
			
			
		End If 	
		
		If Plataforma4NS% = 0
			Plataforma4NS% = LoadMesh_Zip%("Camino2NS.b3d","00",Plataforma4SS%)
			
			EntityFX Plataforma4NS%,16
			
			If Copia_SombrasONOFF% = True 
				CreateCaster (TercerSombra.Sombra,Plataforma4NS%)
			End If 
			
		End If 
		
		
		If PxPlataforma4% = 0 
			PxPlataforma4% =LoadMesh_Zip("Camino2PX.b3d")
			
			PxP4% = BodyCreateMesh(PxPlataforma4%)
			pxBodySetPosition(PxP4%,280,-12.5,73)
			FreeEntity PxPlataforma4%
			
		End If 
		
		
		If BarandaSS% = 0 
			BarandaSS% = LoadMesh_Zip%("Baranda.b3d")
			EntityFX BarandaSS%,16
			PositionEntity BarandaSS%,280,-7.0,85
			
			PxBalla% = LoadMesh_Zip("BarandaPX.b3d")
			
			
			pxB% = BodyCreateMesh(PxBalla%)
			pxBodySetPosition(pxB%,280,-7.0,85)
			FreeEntity PxBalla%
			
			
		End If 
		
		
		If BarandaNS% = 0
			BarandaNS% = LoadMesh_Zip%("BarandaNS.b3d","00",BarandaSS%)
			
			
			If Copia_SombrasONOFF% = True Then 
				CreateCaster (PrimerSombra.sombra,BarandaSS%)
				CreateCaster (LodSombra.Sombra,BarandaSS%)
				CreateCaster (TercerSombra.Sombra,BarandaSS%)
			End If 
			
		End If 
		
		
		
		If RampaSS% = 0
			
			RampaSS%= LoadMesh_Zip%("RampaSS.b3d")
			PositionEntity RampaSS%,385,-4.5,73
			RotateEntity RampaSS%,.0,0,10
			
			RampaPX% = LoadMesh_Zip%("RampaPX.b3d")
			pxR% = BodyCreateMesh(RampaPX%)
			pxBodySetPosition(pxR%,385,-4.5,73)
			
			pxBodySetRotation(pxR%,0,0,10)
			FreeEntity RampaPX%
			
		End If 
		
		If RampaNS% = 0
			RampaNS% = LoadMesh_Zip%("RampaNS.b3d","00",RampaSS%)
			EntityFX RampaNS%, 16
			If Copia_SombrasONOFF%= True CreateCaster (TercerSombra.Sombra,RampaNS%)
			End If 
			
			
			
			
			
		Forever 
		
		
		
		
End Function 


Last edited 2012


Yue(Posted 2012) [#24]
This new version is packed in zip format and withheld code FastLibs external lib.

http://www.mediafire.com/?nh5f95v8hau0lqa


Bobysait(Posted 2012) [#25]
Still crash on start.

ok, here is a technic to debug without debuging:

1/ Copy/paste your blitz3d directory
2.a/ delete all the content of your new "userlibs" folder
2.b/ if you did it, remove any dlls related to some blitz3d projects that you included in your windows/system32 folder (but take take not removing Windows Dlls :D)
3/ copy/paste your game code in an empty folder (without any datas and dlls -> only the source code !)

4/ run your game in the new "freed from datas/dlls" folder within the new "freed from userlibs" blitz3d

Your game will crashes several times, telling you wich function or data is missing
> include them one by one, relatively to the userlibs (decls+dll) or data folder

Once the game is runing, you can pack your game including all the dlls from your blitz3d-userlibs folder (they logically should all be required for the project)

At this point, it should run anywhere
If not :
- maybe a system32/windows dll is missing on the user operating system
- a function is not compatible with user architectur (may happen with win32 vs win64 dlls ...)
- a function is not compatible with the graphics card
- your code include some fixed (non-relative) path (ie : "C:/Myfolder/Mygame/data/file.txt")
- a windows dll already exists on the user machine that override yours (we can fix this easily by renaming the dlls in your project)
(I have the almost latest version of fastimage and OpenAL32 in my windows/system32, and it may interfers with yours)

The way to fix this and unsure portability :
- rename your dlls (ex: "Pawn_DLL_1.dll" to "Pawn_DLL_XXX.dll")
- edit your userlibs and replace the .lib "FastImage.dll" with the related new dll name
compile the game to exe without omiting to submit the new dlls (the renamed dlls)



ps : if you have IDEal as IDE, the selection of userlibs can be faster :
-> uncheck all your decls in the "compile>Edit userlibs" menu
run the program and try to check one by one the decls containing the missing functions.

Last edited 2012


Yue(Posted 2012) [#26]
Google Translate in action ... one moment.


Yue(Posted 2012) [#27]
Well I've done everything as you said and I recompiled the game, I can say that I do not play any Windows dll, dll and all are in the root of pawn direcotorio called Libs. Hopefully this works, I wonder if the file is valid decls put the dll path, for example. Lib "Libs \ Audio.lib" and if this could cause a problem, and if it is mandatory that the dll is audio.dll or can be Audio.lib.


Yue(Posted 2012) [#28]
Ok up the new version, just put it up finishes here.


Yue(Posted 2012) [#29]
I have checked the load path of the files and all are to where this project. for example LoadMesh ("Data \ Flag.b3d")


Yue(Posted 2012) [#30]
ok new rar. :S

http://www.mediafire.com/?xg262zq1o2jvdnx

Gretins.

Edit: Please if you do not start changing the parameter in the config.ini file in that directory Data \ Config.ini

Resolucion = 21
new parameter
Resolucion = -1

Last edited 2012

Last edited 2012


Bobysait(Posted 2012) [#31]
Really sorry, still freeze after start ...
Maybe you should wait for someone else to valid it does not start or if its my windows that can't load the new one.

by the way, did you compiled with debugger enabled ?

[Edit]
I can run the game under windows Xp 32 bits
not under windows 7 64 bits.

Last edited 2012


Yue(Posted 2012) [#32]
This really is tragic and I feel I'm walking blind. I use the compiler as ideal and encunetro not enable or disable debug.

Now, my understanding is that it works at 32 bit but not 64, it's up to Blitz3D? I mean it runs at 32.

Edit: I think there are very few people like you who want to help me on this
:(

Last edited 2012


Yue(Posted 2012) [#33]
I'm wondering if perhaps the problem in 64-bit has to do with OpenAL and if not if there is a 64-bit version.


RifRaf(Posted 2012) [#34]
I had a memory leak I could never pinpoint.. i wound up having to use clearworld() between levels to get rid of it.

But because I needed to keep some globals and types constant, this involved a manual reload of all needed data afterwards so that the types and other data could be relinked with real media where needed.

Last edited 2012


Bobysait(Posted 2012) [#35]
no idea for OpenAL, all I know :
the first version worked but crashed when the player falls
the later versions crashed on start

but one thing I noticed on the code you posted above :

If BarandaSS% = 0 
			BarandaSS% = LoadMesh_Zip%("Baranda.b3d")
			EntityFX BarandaSS%,16
			PositionEntity BarandaSS%,280,-7.0,85
			
			PxBalla% = LoadMesh_Zip("BarandaPX.b3d")
			
			
			pxB% = BodyCreateMesh(PxBalla%)
			pxBodySetPosition(pxB%,280,-7.0,85)
			FreeEntity PxBalla%
			
			
		End If 


in all those kind of statment you have an error (wich is not really one ... but could)

> FreeEntity PxBalla%
if you don't reset the variable, it still contains an assignement to an un-allocated memory
You should ALWAYS (!!!) reset your variable !
FreeEntity PxBalla% : PxBalla = 0

Else, you just free its containt, but not the value assigned

In the code posted above, it's probably some local things, but if you don't have this reflex here, you could probably have done the same for other non-local variables (wich could lead to your error[s])


Bobysait(Posted 2012) [#36]
[edit]
		If PxPlataforma4% = 0 
			PxPlataforma4% =LoadMesh_Zip("Camino2PX.b3d")
			
			PxP4% = BodyCreateMesh(PxPlataforma4%)
			pxBodySetPosition(PxP4%,280,-12.5,73)
			FreeEntity PxPlataforma4%
			
		End If 


THIS is what I meant :)
You released the entity PxPlataforma4 but not its variable values
so at second loop the "@PxPlataforma4" is "non-zero" but the PxP4 is not loaded cause "If PxPlataforma4%=0" does not return true.



[edit2]

ps : you should add a Delay into your loading thread, else it will consume the CPU just for some "If" statments

Last edited 2012


Yue(Posted 2012) [#37]
Hey a question to start the application get any errors as graphics or something?



In the config.ini file must be the last parameter in a value of -1, since this indicates that scan graphics modes.

Resolucion = -1

I can understand very well what you say, but what I can not understand is why it works on Windows XP and not Windows 7

Last edited 2012


Yue(Posted 2012) [#38]
Hello, I have a theory that does not work in Windows 7.

The first releases were accompanied by an installer, this installer installs and registers the application in Windows 7, we know that Windows 7 has better security measures therefore need an installer for windows 7 dija "Hey are installing an application" .

At this point the following updates are executables (Pawn.exe) already knows this executable windows 7 and start the application without problems, but in one of the updates to pass a folder between Libs which incorporated two new libs, these were not registered Windows 7 and put it in the root directory of the program does not work as two new libs are not registered.

Now the other updates were passed in rar, and run the application crashes, because no lib is registered and none of the components of pawn, I think that's the real problem, something happens qe windows XP where security measures are not as high.

What do you think of my conspiracy theory?

Greetings.


JohnT(Posted 2012) [#39]
I have read this topic with interest and downloaded the various RAR files. No source for me to look at so this is just a sugestion on a method to find your memory leak.

I noticed you use some external libs. Perhaps one (or more) of the libs has a memory leak due to a bug or you are forgetting to do something to free up memory used by one.

If possible, try it without the libs and use 'pure' Blitz3D funtions to see if the leak is in your code. If the leak still exists then you can search for it within your code and add the libs back.

If no leak using pure Blitz3D, add the libs one by one with testing to see which one produces the leak. Once you see the leak effect, double check you are using that lib correctly. When you are sure you are using it correctly you can then report the leak to the lib's author.

I hope that helps you find your leak. As for your other errors found while trying to get help for the leaks, I can not give any help there without code, sorry :(


Floyd(Posted 2012) [#40]
I have Windows 7 64-bit. The program crashes on start-up "Pawn.exe has stopped working."

Setting compatibility mode to Windows XP SP3 does not help.

When it crashes the details are
Problem signature:
  Problem Event Name:	APPCRASH
  Application Name:	Pawn.exe
  Application Version:	0.0.0.0
  Application Timestamp:	4cb3b68e
  Fault Module Name:	ntdll.dll
  Fault Module Version:	6.1.7601.17725
  Fault Module Timestamp:	4ec49b8f
  Exception Code:	c0000005
  Exception Offset:	00039952
  OS Version:	6.1.7601.2.1.0.768.3
  Locale ID:	1033
  Additional Information 1:	e8ad
  Additional Information 2:	e8adce1c2b9e7be834b4063ac3c53863
  Additional Information 3:	e8ad
  Additional Information 4:	e8adce1c2b9e7be834b4063ac3c53863
I don't know what any of that means, except there is some problem with ntdll.dll, which I cannot find on my computer.


Yue(Posted 2012) [#41]
Hello, I greatly appreciate your machines testing and debugging the aplicción this has stopped me in development, but I think all this something you learn, and what you learn never enough.

This new version hopefully corrar Windows 7-64 bit, well I hope so.

One moment I'm uploading to mediafire ... pending edit.

Ok now ready, unfortunately my connection is very slow and it takes an average rise of 45 minutes.

Download Here: http://www.mediafire.com/?bb2d7imo3rysp5a


Last edited 2012

Last edited 2012


JohnT(Posted 2012) [#42]
Floyd, this is an ACCESS_VIOLATION error (Exception Code: c0000005). I have looked up possible fixes as it is linked to NTDLL.DLL which is a system file.

You may need to verify and fix the system files.

First run CMD.EXE as administrator by doing one of the following:

For Windows Vista and Windows 7, open the start menu and in the search line at the bottom type CMD. At the top of the results will be CMD.EXE, right click that and select "Run as administrator"

For Windows 8, go to the Start screen, expand the right bar and select Search and type CMD in the search entry. You should see "Command Prompt" listed ont he left of the screen, right click that and at the bottom of the screen select "Run as administrator"

Ok, that's the hard part done :)
Now to scan and fix the system files type the following command:

SFC /SCANNOW

When that has finished, restart your computer then retry the PAWN.EXE and see if the problem has been fixed.

Last edited 2012


Yue(Posted 2012) [#43]
Ok now ready, unfortunately my connection is very slow and it takes an average rise of 45 minutes.

Download Here: http://www.mediafire.com/?bb2d7imo3rysp5a


JohnT(Posted 2012) [#44]
Yue, I too get the error when the player falls off the edge.

Any chance to get a look at the code? I know you probably don't want to release the code to the public so maybe you are willing to email it?

I have experience debugging other people's code (though in C++ not Blitz3D and Blitz Basic is easier than C++), maybe having someone looking at it for the first time can help solve the problems :)

Last edited 2012


Floyd(Posted 2012) [#45]
unfortunately my connection is very slow and it takes an average rise of 45 minutes.
Ouch! I remember 56K dial-up being about twice that fast. Download here took about 4 seconds.

The new version runs successfully. It was easy enough to guess what "Iniciar" meant and start the game. But it did crash soon after I fell off the platform.

Note: I did not do anything to fix system files, such as ntdll.dll.


Yue(Posted 2012) [#46]
It is gratifying that it works, at least start now I will focus on verifying the code where the character falling platform crashes and restarts.

As a note if you click 5 times the down arrow key will remove the 5 points of the character to life and die in the platform.

One question, to escape and hit precionar start the application crashes again or only when it falls from the platform?

soon will put another update with the expectation that this problem corrected.

I think I can solve the problem.


Off topic I: my connection to the network is a wireless modem that uses a phone sim modem connected to a phone, and is very, very slow, and when it rains it gets worse.

Edit:
Ok, new update only .exe Pawn.exe here: http://www.mediafire.com/?ogon8cbraxxg1jr


Greetings.

Last edited 2012


Bobysait(Posted 2012) [#47]
New fix with the v1.4 core starts. That's a good thing.

Now, step 2:

- crash on error No. 0009 when falling


Yue(Posted 2012) [#48]
Ok, new update here: only exe http://www.mediafire.com/?eq6t5qdrmadc17y


Yue(Posted 2012) [#49]
Help the world ends today, and I could not solve the problem of my project in 64 bit (Windows 7), someone please tell me if the character falling platform already solved this.

http://www.mediafire.com/?bb2d7imo3rysp5a Pack Full.

Update Exe.
http://www.foro3d.com/attachments/176460d1356094749-general-primera-fase-desarrollo-pawn-video-juego-pawn-1.5b.rar

Last edited 2012

Last edited 2012


JohnT(Posted 2012) [#50]
I really wish I could help, but without seeing the code there is not a lot I can do. Same for many others trying to help you. I suspect you could be using an array or something of that sort and it's going out of bounds when the character falls off the edge.