English Amiga Board


Go Back   English Amiga Board > Main > Retrogaming General Discussion

 
 
Thread Tools
Old 06 December 2023, 18:12   #1081
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,359
Fixed up the highspec version of level A (with the PVS edit and control point routing improvements) to the misc/redesign branch.
Karlos is online now  
Old 06 December 2023, 18:28   #1082
HornBeamSoft
Registered User
 
Join Date: Aug 2020
Location: Namestovo/Slovakia
Posts: 17
This map eX_TKG-A_beta1_q1 is really good.
Looks almost like original. And works with OpenGL quake.
It is really nice.
HornBeamSoft is offline  
Old 06 December 2023, 19:20   #1083
abu_the_monkey
Registered User
 
Join Date: Oct 2020
Location: Bicester
Posts: 2,011
Quote:
Originally Posted by Karlos View Post
Fixed up the highspec version of level A (with the PVS edit and control point routing improvements) to the misc/redesign branch.
did you push this to git?
abu_the_monkey is offline  
Old 06 December 2023, 19:21   #1084
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,359
Quote:
Originally Posted by abu_the_monkey View Post
did you push this to git?
Yes, to the misc/redesign branch. The Lowspec version is probably buggered as all the control point stuff needs an update.

Looks like I committed but didn't push. Done.
Karlos is online now  
Old 06 December 2023, 19:22   #1085
abu_the_monkey
Registered User
 
Join Date: Oct 2020
Location: Bicester
Posts: 2,011
cool, off to check it out
abu_the_monkey is offline  
Old 06 December 2023, 19:49   #1086
abu_the_monkey
Registered User
 
Join Date: Oct 2020
Location: Bicester
Posts: 2,011
Quote:
Originally Posted by Karlos View Post
It might be a challenge to add this fix to the high spec version because I think level A is out of zones.
what is it that actually imposes this 256 zones per level limit in the game engine?

what I am asking I guess is if I double the zone limit in the editor what would happen? we already extended the point limit from 600 to 800 with no side effects.
was it just so it fit in 2 meg? or is there a real brick wall reason?

Last edited by abu_the_monkey; 06 December 2023 at 20:07.
abu_the_monkey is offline  
Old 06 December 2023, 20:37   #1087
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,359
Quote:
Originally Posted by abu_the_monkey View Post
what is it that actually imposes this 256 zones per level limit in the game engine?

what I am asking I guess is if I double the zone limit in the editor what would happen? we already extended the point limit from 600 to 800 with no side effects.
was it just so it fit in 2 meg? or is there a real brick wall reason?
The ZoneID field in the structure is a word and it's almost always a word wherever it is ref'd. However, there are other data structures which likely don't grow linearly with node count. There is a much smaller limit on Control Points, for instance, probably because the potential connection graph between them grows as the square. There may also be other contexts in which the zone is indexed by a byte.

I would suggest making a branch of the game and editor to explore this limit.
Karlos is online now  
Old 06 December 2023, 22:18   #1088
abu_the_monkey
Registered User
 
Join Date: Oct 2020
Location: Bicester
Posts: 2,011
I might have a bit of time to try this over the weekend.
abu_the_monkey is offline  
Old 06 December 2023, 22:50   #1089
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,359
Quote:
Originally Posted by abu_the_monkey View Post
I might have a bit of time to try this over the weekend.
A little something for the weekend, is it sir? Ooh. Suits you, sir.

Last edited by Karlos; 06 December 2023 at 23:20.
Karlos is online now  
Old 07 December 2023, 01:27   #1090
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,359
Hmm, still got a couple of wallhumpers on the command deck. I mean I know they're a funny bunch up there but that probably needs fixing...
Karlos is online now  
Old 07 December 2023, 01:33   #1091
abu_the_monkey
Registered User
 
Join Date: Oct 2020
Location: Bicester
Posts: 2,011
Ooh!

so a very quick and dirty test and nothing broke too bad. levels loaded and played ok ish. some graphical glitches (hall of mirrors, etc) maybe there is some mileage in this after all?
Attached Thumbnails
Click image for larger version

Name:	135.png
Views:	29
Size:	41.9 KB
ID:	80958   Click image for larger version

Name:	136.png
Views:	34
Size:	55.4 KB
ID:	80959  
abu_the_monkey is offline  
Old 07 December 2023, 01:42   #1092
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,359
Quote:
Originally Posted by abu_the_monkey View Post
Ooh!

so a very quick and dirty test and nothing broke too bad. levels loaded and played ok ish. some graphical glitches (hall of mirrors, etc) maybe there is some mileage in this after all?
Definitely. Be warned though that there could be some very unforeseen consequences.

Ah dark brown cobblestone. I will never understand it. Almost as if secretly an entirely different game was planned.
Karlos is online now  
Old 07 December 2023, 01:48   #1093
abu_the_monkey
Registered User
 
Join Date: Oct 2020
Location: Bicester
Posts: 2,011
for sure there will be pitfalls ahead

this was, like I said, just a quick and dirty test just doubling the max zone limit and the work memory and buffer space in LevelED.
abu_the_monkey is offline  
Old 07 December 2023, 10:01   #1094
grond
Registered User
 
Join Date: Jun 2015
Location: Germany
Posts: 1,924
Quote:
Originally Posted by Karlos View Post
There may also be other contexts in which the zone is indexed by a byte.
The 68k processors don't have a byte-index address mode, the smallest index is 16 bits. Of course, if the index gets loaded as a byte and then used as a 16bit index silently or explicitly typecasting it, there might be a hard limit in the code but that should be easy enough to fix. Furthermore, using a 16bits index wouldn't make the code any slower since that is what the processor does anyway.
grond is offline  
Old 08 December 2023, 01:52   #1095
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,359
Quote:
Originally Posted by grond View Post
The 68k processors don't have a byte-index address mode, the smallest index is 16 bits. Of course, if the index gets loaded as a byte and then used as a 16bit index silently or explicitly typecasting it, there might be a hard limit in the code but that should be easy enough to fix. Furthermore, using a 16bits index wouldn't make the code any slower since that is what the processor does anyway.
That's true for (scaled) indirect index addressing modes but there could be contexts in which the byte value is just added directly to something which only expecting a 0-255 value. I haven't checked too deeply yet mind.
Karlos is online now  
Old 08 December 2023, 01:54   #1096
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,359
Changes pushed to the misc/redesign branch.

@abu_the_monkey - you know what they are. Try to find it.
Karlos is online now  
Old 08 December 2023, 12:02   #1097
grond
Registered User
 
Join Date: Jun 2015
Location: Germany
Posts: 1,924
Quote:
Originally Posted by Karlos View Post
That's true for (scaled) indirect index addressing modes but there could be contexts in which the byte value is just added directly to something which only expecting a 0-255 value. I haven't checked too deeply yet mind.
That would be very strange because in my opinion this would require an overflow into the upper 24 or 8 bits which would make an add.b unusable for the operation. For address registers (ADDA instruction) there is no byte operand at all.

The only (quite bizarre but hey...) case I could come up with that would result in a byte-size limitation on the 68k would be to have an array aligned to a 256-byte boundary and then somehow access that through a move.b into an index register. But then there wouldn't be any scaling at all and you'd end up with only 64 elements in the array.
grond is offline  
Old 08 December 2023, 13:34   #1098
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,359
Quote:
Originally Posted by grond View Post
That would be very strange because in my opinion this would require an overflow into the upper 24 or 8 bits which would make an add.b unusable for the operation. For address registers (ADDA instruction) there is no byte operand at all.
Addresses aren't always calculated in address registers. I've seen code that does several integer operations in a data register, then adds that data register to an address register for use.

In any case, experimentation is the key. It sounds like it might be safe anyway.
Karlos is online now  
Old 08 December 2023, 14:15   #1099
grond
Registered User
 
Join Date: Jun 2015
Location: Germany
Posts: 1,924
Quote:
Originally Posted by Karlos View Post
In any case, experimentation is the key. It sounds like it might be safe anyway.
I wasn't posting for the sake of argument but trying to be encouraging. What could possibly go wrong?
grond is offline  
Old 08 December 2023, 18:38   #1100
abu_the_monkey
Registered User
 
Join Date: Oct 2020
Location: Bicester
Posts: 2,011
so, exceeding the 256 zone limit kind of works.

there are issues with the auto map plotting some odd stuff which when toggled on screen caused the lighting in the 'extra' zones to be trashed
also around the 280 zone mark all the lighting goes to full bright when it is seen for the first time (at least on the quick map I experimented with)
some kind of overflow I guess?

otherwise the level geometry rendered ok
abu_the_monkey is offline  
 


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

Similar Threads
Thread Thread Starter Forum Replies Last Post
JOTD sources on github jotd project.WHDLoad 30 17 December 2022 12:25
A600 github 4m mem sasquatchuk Hardware mods 0 18 June 2022 20:46
My old Amiga games available on GitHub palaste Coders. General 14 22 June 2020 02:41
KTRL CD32 on GitHub MickGyver News 1 04 December 2018 19:56
How about a GitHub for startup-sequences? wXR Amiga scene 9 16 February 2013 12:38

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:03.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.13227 seconds with 14 queries