(Link to AcmlmWiki) Offline: thank ||bass
Register | Login
Views: 13,040,846
Main | Memberlist | Active users | Calendar | Chat | Online users
Ranks | FAQ | ACS | Stats | Color Chart | Search | Photo album
05-12-24 06:11 PM
0 users currently in SMW Hacking.
Acmlm's Board - I3 Archive - SMW Hacking - BlockTool Omega UI overview + demo New poll | |
Pages: 1 2Add to favorites | Next newer thread | Next older thread
User Post
Disruptive Idiot

Red Paragoomba


 





Since: 11-17-05
From: Syosset

Last post: 6420 days
Last view: 6292 days
Posted on 09-03-06 02:19 PM Link | Quote

All the data is entered/stored as strings in blocktool, and saved as that too. for the file, all that is done is the various strings are entered, with the byte $02 separating strings of the same block's entry, and $01 spearates the complete block entries.

Or were those two bytes the other way 'round? Gah, I forget already


For the love of god, you commented/documented your code, right? ;
Sukasa

Birdo
Not quite as active as before.
Xkeeper supporter
Xk > ||bass
I IP Banned myself! Twice!








Since: 11-17-05
From: Somewhere over there

Last post: 6293 days
Last view: 6292 days
Posted on 09-03-06 02:27 PM Link | Quote
I don't need to, it's easily read. I meant that at that point in time, I couldn't recall the byte settings, and the code itself is on my other computer, so I can't just look at it and tell you in three seconds. That, and that computer is off right now.

5 minute boot FTL.

Oh, and I only comment my code when it's 6816 ASM, or really complicated VB6.

Or whn my teacher goes nuts because he can't read VB the way I do (he HAS to have comments or he can't read the code )

EDIT: Fiddled around, finish the installer and updated the .bdb file format to include the "EOF" marker, "Chr$(3)". Anyways, the installer seems quite good to me, it lets you choose where tou install BTO, lets you make a new folder to put it in, then installs BTO and configures the .bdb database file to reflect where you installed BTO to, and also makes a desktop shortcut for you if you so wish. (Yay!) One thing I woudl like to request now is the actual blocks though. Since all the blocks will have to be re-written slightly because they have to end in a JSL instead of a JSR, and I am too busy writing out the rest of blocktool Omega to get to re-writing the blocks themselves

Left to do (right now):
  • Search function

  • 65816 ASM

  • VB6 code to insert 65816 ASM

  • A way to fill the data table in the ROM with garbage in usused slots to prefvent LM from overwriting the table

  • 'delete block' button's funcitonality


EDIT2: Here is a link to the latest demo version of Blocktool Omega, with installer. Just run setup.exe to see how it works. you'll notice that the block database is also changed to reflect the install path of BTO ^^
BTOInst.rar


(edited by Sukasa + on 09-03-06 08:27 PM)
HyperHacker

Star Mario
Finally being paid to code in VB! If only I still enjoyed that. <_<
Wii #7182 6487 4198 1828


 





Since: 11-18-05
From: Canada, w00t!
My computer's specs, if anyone gives a damn.
STOP TRUNCATING THIS >8^(

Last post: 6293 days
Last view: 6293 days
Posted on 09-03-06 09:35 PM Link | Quote
I have to say I'm glad you're doing this, but not fond of how... an installer really wouldn't be necessary if you just used relative filenames ("somewhere\file.bin" instead of "c:\blah\somewhere\file.bin") and using one just means more junk on our systems. (And if you really really can't avoid it, for the love of God at least use one that lets us choose not to create shortcuts on the desktop, Start menu or Quick Launch! I hate when installers leave junk all over the place, especially when they ask where to make Start menu shortcuts but don't provide an option not to make one. )
Making the blocks contain ASM code is far better than making them raw binary files, for a number of reasons:
  • Easy to modify, and easy to understand. (I'm sure newbies would have a much easier time modifying a simple block's ASM code to make their own than modifying a binary file. Just look at Sprite Tool.)
  • Specially-formatted comments near the beginning of the ASM file can contain all the database info such as block name and how it should be configured. One of Blocktool's biggest UI problems was that with any block you had to distribute both the binary file and the instructions on how to configure it.
  • No reloc offsets.
  • No having people send you a .bin file to ask what's wrong with it and expect you to disassemble the code and know what it does without comments or labels.

Calling another program can be accomplished with ShellExecute. I think there's a built-in VB method too, but ShellExecute is better since it lets you choose exactly how to do things and open non-executable files. (Plus if ever you move to another language like C, you'll have no other choice. ) ShellExecuteEx provides even more flexibility if you need it.

As for your block database, a text format might almost be better (and in VB, should be easy as pie). If nothing else, at least chop off the excess data after the end of the file rather than leaving garbage. By the sounds of it you already write all of the data back to the file each time, so just truncate it to zero bytes before you do. (IIRC you can do this with certain parameters to the file opening function.)

[edit] I wrote this before he posted the demo, and I don't intend to try it just now (maybe later, but I don't like the idea of installing a program just to try it out when it doesn't even do anything useful yet), so if some of this doesn't make sense, just ignore it.


(edited by HyperHacker on 09-03-06 08:38 PM)
Kailieann



 





Since: 11-18-05

Last post: 6292 days
Last view: 6292 days
Posted on 09-03-06 09:53 PM Link | Quote
Originally posted by Sukasa +
Since all the blocks will have to be re-written slightly because they have to end in a JSL instead of a JSR


Just because I feel like pointing it out, he means RTL instead of RTS, not JSL/SJR
Sukasa

Birdo
Not quite as active as before.
Xkeeper supporter
Xk > ||bass
I IP Banned myself! Twice!








Since: 11-17-05
From: Somewhere over there

Last post: 6293 days
Last view: 6292 days
Posted on 09-03-06 10:44 PM Link | Quote
Oops, thanks Kailieann.

And yes, the shortcut is optional. the demo was really to well, demo the installer, that's the only reason I posted anything at all. Anyways, I got the search system done, it supports searching for multiple keywords separately, looking through one of or both the block title fields and block description fields, then displays them in a list so you can choose hwich to go to. if it's not the right one, just reopen the dialog and your results will still be there.

Also, the dialog is accessed by a handy 'search' button on the block database dialog. ^^ And I think killing and remaking the file every time I save woudl be a good way to go about things... it doesn't appear to place stuff in the recycle bin, and does the job well for a personal project. Thanks for the shellExecute command, HH. I'll look into that, and I'll see about adding support for importing/exporting single-block database entries for distribution now, then look into finding a way to read out of the .ASM file.

Oh yeah, did I mention I coded the installer myself, so it doesn't pull unknown crap? Trust me, all it installs is the BTO files and the optional desktoip shortcut. Nothing else.
Raccoon Sam

Boomerang Brother
Custom Title








Since: 11-20-05
From: Correct

Last post: 6293 days
Last view: 6292 days
Posted on 09-04-06 01:34 AM Link | Quote
Originally posted by Sukasa +
I like that. Can I use it?


Heh, sure. Go nuts


Anyway, perhaps you could list some new/upcoming blocks?
I can't use your program, so it'd be nice to at least see what it's capable of.
Sukasa

Birdo
Not quite as active as before.
Xkeeper supporter
Xk > ||bass
I IP Banned myself! Twice!








Since: 11-17-05
From: Somewhere over there

Last post: 6293 days
Last view: 6292 days
Posted on 09-04-06 01:58 AM Link | Quote
It's currently capable of nothing.

EDIT: Eventually it will have all of the functionality of the regular blocktool, except with more offsets and no slowdown.

And if someone is willing to make a MAC OS version of the software (because I can't even figure out how to write text to the desktop without failing, I will give them the VB6 source. AFTER blocktool Omega is actually worth converting though (That is, it'll actually be usable in a hack)

Oh, and as an addon to the search function: The keywords are set up to list out blocks in an OR fashion, so as long as one or more keyworks are found in a block, it will be listed.


(edited by Sukasa + on 09-04-06 01:02 AM)
Raccoon Sam

Boomerang Brother
Custom Title








Since: 11-20-05
From: Correct

Last post: 6293 days
Last view: 6292 days
Posted on 09-04-06 09:07 AM Link | Quote
Originally posted by Sukasa +
And if someone is willing to make a MAC OS version of the software...





Why would someone need a Blocktool for Mac, since Lunar Magic is only for Windows?
Kailieann



 





Since: 11-18-05

Last post: 6292 days
Last view: 6292 days
Posted on 09-04-06 10:10 AM Link | Quote
Originally posted by Sukasa +
Oh, and as an addon to the search function: The keywords are set up to list out blocks in an OR fashion, so as long as one or more keyworks are found in a block, it will be listed.


Sometimes OR searching is a good thing, sometimes not.

If I might make a suggestion, how about something like the following:

Words prefixed with a plus sign are required; All results without that word are discarded

Words prefixed with a minus sign are forbidden; All results with that word are discarded

Phrases enclosed in quotation marks (single or double, for laziness' sake) are treated as an exact phrase search; The program treats the entire phrase as one string instead of a group of keywords

Phrases enclosed in quotation marks can be prefixed with a plus or minus sign if desired.

Everything else is treated as the aforementioned OR search.

I've never touched VB but I'm guessing it has at least some basic regular expression support, so it shouldn't be too difficult to make the "Phrase" part search for letters only and ignore whitespace/punctuation/etc.

Also, if I could make another suggestion, as in addition to keyword searches, perhaps you could add a 'list all' button. I'm sure many people would find that useful.
Sukasa

Birdo
Not quite as active as before.
Xkeeper supporter
Xk > ||bass
I IP Banned myself! Twice!








Since: 11-17-05
From: Somewhere over there

Last post: 6293 days
Last view: 6292 days
Posted on 09-04-06 01:21 PM Link | Quote
The quote thing is already sorta there,.. Regular keywords are delimited by a semicolon, and phrases are simply typed in without semicolons between the words. The other kinds of words shouldn't be too hard to implement, although the only expressions I'm using are InStr$(), Left$(), and Right$().

And If statements.
spel werdz rite









Since: 11-19-05

Last post: 6293 days
Last view: 6292 days
Posted on 09-04-06 01:23 PM Link | Quote
Originally posted by Sukasa +
And yeah, where can I get the patch for the two other block offsets? I'll distribute that as well with BTO, so people can patch their ROMS for the two new effects (until I find out what to write in so I don't need the patch anymore)
Here is the IPS for custom blocks to interact with sprites in vertical levels


(edited by spel werdz rite on 09-23-06 01:28 PM)
Sukasa

Birdo
Not quite as active as before.
Xkeeper supporter
Xk > ||bass
I IP Banned myself! Twice!








Since: 11-17-05
From: Somewhere over there

Last post: 6293 days
Last view: 6292 days
Posted on 09-04-06 02:44 PM Link | Quote
Finished the search dialog according to Kailieann's specifications.

They were very good ones, too. Anyways, the terms work together somewhat, here is an example:

NOTE: Titles of the example blocks

BMF block
BMF Block 2
Dumbass Block
Hurty Block
Hurty block 2

Search for "+bmf;+block;dumb;-2" in the block title only.

Here is what the search would give you:

BMF block
Dumbass Block

See, the two BMF Blocks matche the AND terms, but 'BMF Block 2' has the number two, which has been disallowed in the search terms ("-2"). The Dumbass block was shown because the OR keyword "dumb" was found in it's title.

Did I mention the search is case-insensitive?
Smallhacker

Super Koopa
I AM A Group Of Officially Frustrated Younglings, G.O.O.F.Y. MEMBER








Since: 11-17-05
From: Söderhamn, Sweden

Last post: 6294 days
Last view: 6292 days
Skype
Posted on 09-04-06 04:45 PM Link | Quote
The search thing will be used in a hacking tool, not as a Google rival. Don't overdo it.
Sukasa

Birdo
Not quite as active as before.
Xkeeper supporter
Xk > ||bass
I IP Banned myself! Twice!








Since: 11-17-05
From: Somewhere over there

Last post: 6293 days
Last view: 6292 days
Posted on 09-05-06 01:59 AM Link | Quote
I was only matchign specifications

Besides, it was good programming practice that I can apply to a cmmercial site that's hired me to design a news article search system.
Stephan Reiken

Blipper








Since: 11-17-05

Last post: 6300 days
Last view: 6294 days
Posted on 09-05-06 08:29 PM Link | Quote
Question, How does BlockTool Ω handle roms that already have Blocks installed from the first BlockTool?
Kailieann



 





Since: 11-18-05

Last post: 6292 days
Last view: 6292 days
Posted on 09-05-06 08:53 PM Link | Quote
As of yet, it doesn't handle ROMs at all. So far it's just a demo of the interface.
Sukasa

Birdo
Not quite as active as before.
Xkeeper supporter
Xk > ||bass
I IP Banned myself! Twice!








Since: 11-17-05
From: Somewhere over there

Last post: 6293 days
Last view: 6292 days
Posted on 09-05-06 09:25 PM Link | Quote
Kailieann got it right.

Anyways, I really used to hate always having to screw around with blocktool whenever I needed to add in a block someone else already made, or a bunch of them, like the custom block .zip file that contained lots of extra blocks... So I'm adding support for a 'BlocksPorter' file format that can allow BTO to automatically import blocks and their database information without you having to do much.

Like the idea? It's almost done as-is! I just have to figure out why the property "list2.selected", where list2 is a listbox with it'sstyle property sert to checkboxes says "arguement not optional"... god, I hate not having MSDN on my home computer >8(

EDIT: Basically got blocksPorter working perfectly. gotta test it out some more before I pronounce it done.

However, it will still only support one .bin at a time, although if say, you have three blocktool entires that use block.bin, all three of those entries can be ported in one file, since the block they use is the same throughout.


(edited by Sukasa + on 09-05-06 09:10 PM)
Pages: 1 2Add to favorites | Next newer thread | Next older thread
Acmlm's Board - I3 Archive - SMW Hacking - BlockTool Omega UI overview + demo |


ABII

Acmlmboard 1.92.999, 9/17/2006
©2000-2006 Acmlm, Emuz, Blades, Xkeeper

Page rendered in 0.041 seconds; used 448.05 kB (max 576.93 kB)