English Amiga Board Amiga Lore


Go Back   English Amiga Board > Coders > Coders. General

 
 
Thread Tools
Old 28 December 2015, 12:58   #81
Hedeon
Sonnet Hacker

 
Join Date: Mar 2012
Location: Leiden / The Netherlands
Posts: 329
Now if only I could make also BlitzQuakeWOS to work... :-)

Happy new Year!
Hedeon is offline  
AdSense AdSense  
Old 28 December 2015, 15:35   #82
Cowcat
Registered User
 
Join Date: Apr 2013
Location: Mallorca / Spain
Posts: 271
mmm.......doesn't work my BlitzQuake version ?????
Cowcat is offline  
Old 04 January 2016, 13:22   #83
Hedeon
Sonnet Hacker

 
Join Date: Mar 2012
Location: Leiden / The Netherlands
Posts: 329
Quote:
Originally Posted by Cowcat View Post
Just a remainder: "ref_gl.dll" for warpos still doesn't do what it's supposed (cleaning textures, etc from time to time) contrary to the m68k version. .
.

Quake2 closes itself after a while due to not enough memory. Is the above the reason for this? I guess I should test whether the software renderer also eats memory.

It looks like memory is not returned after the end of a level and a new one is loaded.
Hedeon is offline  
Old 04 January 2016, 21:51   #84
Cowcat
Registered User
 
Join Date: Apr 2013
Location: Mallorca / Spain
Posts: 271
Quote:
Quake2 closes itself after a while due to not enough memory
Yep. ref_gl.dll is wrong with WOS & you can see memory eaten faster
It is discussed earlier on this thread about a problem with powerpc includes and rendercache.c code. Anyways didn't get the thing to work (and is slow) . Ref_glnolru.dll is what I use & seems to work till something in the game kills me
Don't know if after 2 hour playing something hangs.

ref_soft & ref_glnolru code is similar (regarding of memory treatment) as quake 2 original ID or Yamagi sources.

Edit:
Ups! My last WOS beta2 upload, has 2 experimental ref_glnolru (ref_gl is faked in it). Hope that nobody uses old beta1 .......

Last edited by Cowcat; 04 January 2016 at 22:13.
Cowcat is offline  
Old 05 January 2016, 00:05   #85
Cowcat
Registered User
 
Join Date: Apr 2013
Location: Mallorca / Spain
Posts: 271
Just tested my last beta2 wos ref_gl's to be sure about memory issues:
A big chunk of memory is used (like 45-40 mg - that's normal). Checked back & forth between the two demomaps and can see that memory goes up & down depending on the map. Same with game playing, and different mission levels: Memory is recovered or spent depending on level, map, etc (mega up - mega down). Of course the big chunk is there allways.
Seems to be OK to me.
Cowcat is offline  
Old 06 January 2016, 09:50   #86
Hedeon
Sonnet Hacker

 
Join Date: Mar 2012
Location: Leiden / The Netherlands
Posts: 329
Every time a new map is loaded, I lose 35-40 MB. Could be the sonnet library. How is the memory released between maps? All memory is released on exit, however.

I also see loads of small allocations using AllocPooledPPC. But a size of 0 is given back to FreePooledPPC instead of the actual size of AllocPooledPPC.

Last edited by Hedeon; 06 January 2016 at 10:02.
Hedeon is offline  
Old 06 January 2016, 11:06   #87
Cowcat
Registered User
 
Join Date: Apr 2013
Location: Mallorca / Spain
Posts: 271
Quote:
How is the memory released between maps?
An example: If timedemo demomap 1 is loaded, my fast memory left is 38 mg. Then if timedemo 2 is loaded, memory left is 41 mg. (a silly approximation).

If every time a map would eat memory without erasing (some) of the map before I would notice the problem immediately: My system has around 92 mg on boot, so in few minutes all resources would be consumed. That doesn't happen.

Easy to test with an A1200 with ppc and see the behaviour.

Quote:
AllocPooledPPC
Did a quick search & If I'm not mistaken, no use of AllocPooled / AllocPooledPPC is seen in the quake2 code or minigl code. In a few places, only AllocVecPPC.

Yep, I see you are using that on sonnet lib, but surelly I should notice that a year ago when I modded the C code to work for warpos. (all AllocVec -> AllocVecPPC , etc.).
Cowcat is offline  
Old 06 January 2016, 12:02   #88
Cowcat
Registered User
 
Join Date: Apr 2013
Location: Mallorca / Spain
Posts: 271
...maybe an example of cleaning seen on code:

Code:
gl_image_nolru.c 

void GL_FreeUnusedImages (void)
{
	int             i;
	image_t *image;

	// never free r_notexture or particle texture
	r_notexture->registration_sequence = registration_sequence;
	r_particletexture->registration_sequence = registration_sequence;

	for (i=0, image=gltextures ; i<numgltextures ; i++, image++)
	{
		if (image->registration_sequence == registration_sequence)
			continue;               // used this sequence
		if (!image->registration_sequence)
			continue;               // free image_t slot
		if (image->type == it_pic)
			continue;               // don't free pics
		// free it

		qglDeleteTextures (1, &image->texnum);

    memset (image, 0, sizeof(*image));
	}
}
and on minigl

Code:
texture.c 

void GLDeleteTextures(GLcontext context, GLsizei n, const GLuint *textures)
{
	int i;
	for (i=0; i<n; i++)
	{
		int j = *textures++;
		if (context->w3dTexBuffer[j])
		{
			W3D_FreeTexObj(context->w3dContext, context->w3dTexBuffer[j]);
			context->w3dTexBuffer[j] = NULL;
		}
		if (context->w3dTexMemory[j])
		{
			void *x = context->w3dTexMemory[j];
			tex_Free(x);
			context->w3dTexMemory[j] = NULL;
		}
		context->GeneratedTextures[j] = 0;
	}
}
Try my BlitzQuake 5.6 version to see if something similar happens

http://eab.abime.net/showthread.php?t=72310&page=9
Cowcat is offline  
Old 06 January 2016, 16:32   #89
Hedeon
Sonnet Hacker

 
Join Date: Mar 2012
Location: Leiden / The Netherlands
Posts: 329
Got word that it is a feature of WarpOS/VBCC which is used in free() (which does a FreePooledPPC) to pass along zero sizes as WarpOS does seem to track sizes (in contrast of what the autodocs say, which is why Sonnet lib doesn't). Ill try it out this evening.

Last edited by Hedeon; 06 January 2016 at 16:49.
Hedeon is offline  
Old 09 January 2016, 17:37   #90
Hedeon
Sonnet Hacker

 
Join Date: Mar 2012
Location: Leiden / The Netherlands
Posts: 329
Well, thought I fixed it.. When I manually alternate between map demo1.dm2 and demo2.dm2 during a timedemo, no memory is lost. So that's now the same as what you indicated in the postings above.

When I just let the demo run automatically from when Quake 2 starts, it still eats 10MB each map change. Weird.
Hedeon is offline  
Old 09 January 2016, 19:12   #91
Hedeon
Sonnet Hacker

 
Join Date: Mar 2012
Location: Leiden / The Netherlands
Posts: 329
Quote:
Originally Posted by Cowcat View Post
mmm.......doesn't work my BlitzQuake version ?????
I confused yours with the one on Aminet, it seems. Your version (5.6) is doing fine with AHI. 640x480x16 was 45 FPS.

Have to check out memory consumption still :-)

Edit: I had to up the stack to about 1000000 bytes to prevent a stack overflow on 640x480x16 in triple buffering. But so far so good.

Last edited by Hedeon; 10 January 2016 at 03:16. Reason: Added stack overflow
Hedeon is offline  
Old 10 January 2016, 13:39   #92
Cowcat
Registered User
 
Join Date: Apr 2013
Location: Mallorca / Spain
Posts: 271
Quote:
When I just let the demo run automatically from when Quake 2 starts, it still eats 10MB each map change.
Yep, It happens !! Well, at least it doesn't seem to mess with actual playing...

So maybe you fix sonnet.lib

BlitzQuake has 768k (0xC0000) automatic stack by default, good to know about that needs more.

Just to point out that on Quake2 I made 1024000 bytes (0xFA000) on quake2 binary (sys_amiga.c) AND also vidplay binary ( if not = crash ).
Cowcat is offline  
Old 18 January 2016, 13:09   #93
Hedeon
Sonnet Hacker

 
Join Date: Mar 2012
Location: Leiden / The Netherlands
Posts: 329
Quote:
Originally Posted by Hedeon View Post
I confused yours with the one on Aminet, it seems. Your version (5.6) is doing fine with AHI. 640x480x16 was 45 FPS.
See http://amigafun.blogspot.com/2016/01...n-with-3d.html
Hedeon is offline  
Old 27 January 2016, 12:07   #94
Cowcat
Registered User
 
Join Date: Apr 2013
Location: Mallorca / Spain
Posts: 271
Hedeon:
Too fast !!

Seen your github regularly & the frenetic work. Hope that mouse & paula begins to work.
There's an amount of old warpos stuff that don't work as clean as supposed to. Maybe a pool should be done to "redo" those with new compilers. I miss c++ warpos support for Scummvm new versions....
Cowcat is offline  
Old 25 September 2016, 04:54   #95
grelbfarlk
Registered User

 
Join Date: Dec 2015
Location: USA
Posts: 644
Cowcat, in the AmiModpackage.lha on Aminet it says:
"As is the excerpt from the Amiga Quake 2 Source Code. Please note that Mods need
to be compiled with the same compiler like the Quake 2 Executable. We used
gcc-WarpUP for our Quake 2 Port which is freely available on the Internet.
If you have trouble finding it contact us for hints where to find it.
Mods compiled with a different compiler won't work due to the way the Amiga
DLL Solution works."

So does that mean that unless the mods on Aminet are compiled under VBCC (like your version) will not work if compiled with GCC 2.95.3? I got a few mods compiled but they all fail with ED_Loadlibrary expecting X when expecting { or something similar. Which is also (nearly) the same error I received when trying to run some of the mods from:
https://web.archive.org/web/20070105.../q2/j_mods.htm
grelbfarlk is offline  
Old 25 September 2016, 10:40   #96
Cowcat
Registered User
 
Join Date: Apr 2013
Location: Mallorca / Spain
Posts: 271
Yes. You can't use a different compiler and expect to work with another different compiled quake2 binary.

Well that never works for anything besides Q2

But the problem it's not only about compilers: The functions used between dll's have to be exactly the same, as for example q_shared.c, that is "pasted" for different mods. And of course using the same dll code, etc. etc.

Maybe later (days ??) I could upload my last Q2 "WITH" the Rogue source modded to work as an example of what is needed to do to work with .

A bummer, but is the way Q2 works: Every new recompilation or update of shared functions, means a new recompilation of all mods !!
Cowcat is offline  
Old 19 January 2017, 00:54   #97
ancalimon
Supernormal

ancalimon's Avatar
 
Join Date: Jul 2007
Location: Istanbul / Turkey
Age: 36
Posts: 1,229
IS there anyone else who can not start a game with the wos version?
ancalimon is offline  
Old 24 January 2017, 23:00   #98
grelbfarlk
Registered User

 
Join Date: Dec 2015
Location: USA
Posts: 644
Quote:
Originally Posted by ancalimon View Post
IS there anyone else who can not start a game with the wos version?
I have that problem which crept up recently with the original Hyperion version, though Cowcat's version works. Probably something I did to my .cfg files.

The only thing I see wrong with Cowcat's version is the explosion at the end of Demo1 is like muted in color like it's not the bright yellow, like it's palette shifted down.
grelbfarlk is offline  
Old 30 January 2017, 01:42   #99
ancalimon
Supernormal

ancalimon's Avatar
 
Join Date: Jul 2007
Location: Istanbul / Turkey
Age: 36
Posts: 1,229
For me original version is the only one that works
ancalimon is offline  
Old 30 January 2017, 10:45   #100
Cowcat
Registered User
 
Join Date: Apr 2013
Location: Mallorca / Spain
Posts: 271
Quote:
For me original version is the only one that works
Not a lot info to make a diagnosis.

If original works, certainly vbcc version should work better for a lot of reasons.

Could be a mismatched mix of different dll libs & cfg's of different Quake2 versions in the same place. Basically: Backup Hyperion version, or use a new Quake2 directory to test.

Don't use QuakeIIGUI exec (hyperion version) for loading vbcc version. No script lines or nothing: Launch "quake2" exec from shell or whatever launch options (I use ToolsDaemons).

For me, Hyperion version doesn't work quite right with my external keyboard: "Crouching" key event is missed somewhat.
Cowcat is offline  
AdSense AdSense  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
ADF-Workshop (formerly DMS-Workshop) Crashdisk project.TOSEC (amiga only) 134 28 July 2017 18:39
Anim Workshop Manual _amigan request.Other 0 03 December 2012 15:30
Looking for Anim Workshop 2.0 amigagenie request.Apps 12 10 July 2011 17:07
Quake, Quake 2 and Heretic 2 don't run after update to Mediator TX Turrican(AEB) support.Games 14 25 August 2008 21:11
Workshop Pron Boot_WB Hardware pics 19 06 June 2008 20:02

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 01:50.


Powered by vBulletin® Version 3.8.8 Beta 1
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Page generated in 0.22483 seconds with 13 queries