Points of Required Attention™
Please chime in on a proposed restructuring of the ROM hacking sections.
Views: 88,487,870
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search 04-26-24 02:12 PM
Guest: Register | Login

0 users currently in ROM Hacking | 5 guests

Main - ROM Hacking - The Zeed Project New thread | New reply

Pages: 1 2

jargon
Posted on 03-27-08 07:54 AM (rev. 2 of 04-01-08 03:06 AM) Link | Quote | ID: 81054


Ninji
Banned until 2010-10-15 for an utterly psychedelic posting style
Level: 36

Posts: 81/247
EXP: 300244
Next: 7866

Since: 12-10-07
From: 480/85260

Last post: 4949 days
Last view: 4607 days
Posted by interdpth
Why did you need so many excess files and folders?
And it appears to split the original image into smaller pieces or something, the idea seems cool, and you should code it to get screen capture
Hope it becomes fruitful!


Thank you for the good wishes, interdpth. It means a lot to me to get good feedback from people that take my work semi-seriously.

I intend to create a screen capture sub-module for my "Keal" SDK once I iron out the "PDT8" bundled patch glitches as I will explain, which additionally hinder the ability to generate real-time AVI's, GIF89a's, or even dump PNG's. Blitz has a command called "SaveImage" that saves video memory directly to a 24bit windows bitmap file, and that's all I've bothered to use thus far.

The splitting into unique tiles was the easiest part actually. All i had to do was create a database of pixel information and systematically reduce to a single set of unique pixel data. I have done this in many different ways since I started the "Zeed" project in 2007.

One method is to create a binary-split tree of entries in which you define each tile region as an entry, testing each time if the entry already has been created in the scripting dictionary. The scripting dictionary from Zeed has evolved into "Keal" SDK's "aa" sub-module, of which stands for associated array.

However, ever since the "PDT8" Windows Update, a memory map update was apparently bundled with it, of which broke Blitz Prototype, Basic, Plus, + 3D's ability to undefine memory that has already been allocated. In layman's terms this means Microsoft accidentally broke the ability for programs made using Blitz Research's "Blitz" line of BASIC game making tools, so that the games made using them can no longer remove objects in memory from RAM, including RAM used by both the "GPU" (video card's Graphics Processing Unit) and the "CPU." (main Central Processing Unit)

This means that I have had to experiment with over 8 different builds of the Associated Array ("aa" scripting dictionary) for Keal SDK, of which included variant combinations of the following:


1. Memory Banks Daisy-Chained By 32bit Handle
a. A Dynamic Arbitrarily Defined ASCII Hash
b. A Compacted Limited set of Alpha-Numeric Look-Ups
c. Full ASCII Hash-Table.
d. Raw Binary-Split.
2. Memory Map Linked By 32bit Index
a. Indexed Block-Based Dictionary.
b. Indexed Super-String Dictionary.
c. Multiplexed Video Memory.


By the time video-memory failed on me as well I realized my goose was cooked, that is unless Microsoft fixes the patch bundled with the "PDT8" Daylight Savings Time related patch in the as-yet finalized XP Service Pack 3, or else fixes it in the current XP-SP2 edition, the Scripting Dictionary method no longer works reliably and is *very* difficult to debug.

There are alternative methods though:


1. Create an array of tile entries,
then cycle through every tile in the sheet and
add new String entries of the pixel data by looping
through the existing table in the array using one of
two methods:

a. "Hi-Lo" game using bubble sort with strings of the pixel data.

b. Cycling front-to-back through all entries until a match is made.

2. Create an array of tiles entries as tile row, column, and index.

a. reduce by cloning portions of the image and
applying boolean logic such as CMP (equality) for each
ARGB in video memory in order to assign the index of an
entry to a prior encountered duplicate then undefine the duplicate
tile from video memory.

b. reduce by cycling through video memory by scanning the raw
source image directly as in '2.a', without cloning imagery.


After that you dump the result to either individual image files or a sheet.

If you are interested in my methods of reducing tiles, including keeping track of four-way-mirror redundancy, then I suggest you follow this thread chronicling my Reverse Engineer of Seiken Densetsu II (Secret of Mana) here.

I have used other methods as well, but I have implemented so many methods that I have come up with that I do not even recall them all.

Cheers, TRK

____________________
NIHYFDTTMWTMR

interdpth
Posted on 03-27-08 06:41 PM Link | Quote | ID: 81073


Buzzy Beetle
Level: 44

Posts: 184/383
EXP: 593672
Next: 17613

Since: 02-22-07

Last post: 4099 days
Last view: 4072 days
It should be much more of just a simple pixel compare to get matches
Just need to get the tile then create 3 seperate buffers to create the possible mirroring then search for those =p
And for the current window, just catch the print screen key message

____________________
lawl blog

http://interdpths.blogspot.com/

jargon
Posted on 03-28-08 05:10 AM (rev. 2 of 03-28-08 05:11 AM) Link | Quote | ID: 81090


Ninji
Banned until 2010-10-15 for an utterly psychedelic posting style
Level: 36

Posts: 84/247
EXP: 300244
Next: 7866

Since: 12-10-07
From: 480/85260

Last post: 4949 days
Last view: 4607 days
Posted by interdpth
It should be much more of just a simple pixel compare to get matches
Just need to get the tile then create 3 separate buffers to create the possible mirroring then search for those =p
And for the current window, just catch the print screen key message


With four-way-mirroring, I suppose it would be faster to hash each mirror after I already have tested for exact matches, however this Zeed project never needed to handle 4-way-mirroring. But i will take your suggestion to heart for when I begin working on Zeed again.

-edit-
BTW, in some versions I think pressing space-bar overwrites the screen shot file.

____________________
NIHYFDTTMWTMR

troopa pride
Posted on 03-28-08 09:19 PM Link | Quote | ID: 81136


Koopa
Level: 26

Posts: 105/117
EXP: 99574
Next: 2701

Since: 05-15-07

Last post: 5731 days
Last view: 5567 days
Is this possible to be used on smw or YI perhaps?*shot*

jargon
Posted on 04-01-08 03:07 AM (rev. 2 of 04-01-08 04:33 AM) Link | Quote | ID: 81292


Ninji
Banned until 2010-10-15 for an utterly psychedelic posting style
Level: 36

Posts: 102/247
EXP: 300244
Next: 7866

Since: 12-10-07
From: 480/85260

Last post: 4949 days
Last view: 4607 days
Posted by troopa pride
Is this possible to be used on smw or YI perhaps?*shot*


I never finished the algorithm for flat-on levels. But, yes.

-edit-
All that is needed is tweaking the provided source code.

____________________
NIHYFDTTMWTMR
Pages: 1 2


Main - ROM Hacking - The Zeed Project New thread | New reply

Acmlmboard 2.1+4δ (2023-01-15)
© 2005-2023 Acmlm, blackhole89, Xkeeper et al.

Page rendered in 0.021 seconds. (350KB of memory used)
MySQL - queries: 57, rows: 81/82, time: 0.016 seconds.