This morning i got the idea to make a font hook that replaces letters with their Dovahzul equivalent:
(http://img.codewalr.us/Dovahcalc.png)
(http://img.codewalr.us/dovahmenu.png)
It has a few changes, though:
- Since the dragon language has no c, the sprite is the same as 'k' with a minor change
- Things like 'Ah', which normally is 1 letter in the dragon language, is now just 'a' and 'h'
Also this was more of a quick experiment, so i made only a quick menu, without fancy moving parts.
(if you press one of the keys for the menu, it will enable/disable, just no action is shown)
EDIT: i wanted to have an alphabet here, but it doesnt seem to show pictures from ClrHome
Very cool but I suggest that you add a quick escape feature in case anyone gets lost.
Interesting. I never heard of that Dovahzul thing before. Do you think it could be made as a separate font so that people with Omnicalc and other apps supporting fonts can use it without the program?
Also since this looks like a standalone hook program, I wonder how hard it would be to port it to the CSE so that people can have custom fonts (hint: New FF:MF graphics? :P) and if it would be possible to make the hook chain with DCSE?
Quote from: CKH4 on April 14, 2015, 06:33:20 PM
Very cool but I suggest that you add a quick escape feature in case anyone gets lost.
Well it's kind of a joke things, so yeah :P (and that's why i made the menu a picture; so you can still read the options even when the hook is active (and i was lazy))
Quote from: DJ Omnimaga on April 14, 2015, 08:00:13 PM
Interesting. I never heard of that Dovahzul thing before. Do you think it could be made as a separate font so that people with Omnicalc and other apps supporting fonts can use it without the program?
Probably, but i don't use Omnicalc myself and it'd require me to learn how to add fonts to omnicalc. Though i'd be happy to give someone the letter sprite data file (it's in the source (in the download) anyway).
Quote from: DJ Omnimaga on April 14, 2015, 08:00:13 PM
Also since this looks like a standalone hook program, I wonder how hard it would be to port it to the CSE so that people can have custom fonts (hint: New FF:MF graphics? :P) and if it would be possible to make the hook chain with DCSE?
That may be quite a good idea and the hook code would be the same on the CSE, i only need to make some minor changes to the lookup and ofcourse the sprites itself. Maybe even add some kind of parser hook to allow sprites to be registered via basic? that would be quite awesome O.O
I'm so proud of myself because I found a bug, pressing ² ^-1 makes a giant gap.
Yeah there are some more tokens. when you use the '^' with mathprint allmost everything explodes. Not quite sure why this happens.
Anyway thanks for notifying, i will look at it tomorrow :)
Quote from: Cumred_Snektron on April 14, 2015, 08:26:24 PM
Quote from: CKH4 on April 14, 2015, 06:33:20 PM
Very cool but I suggest that you add a quick escape feature in case anyone gets lost.
Well it's kind of a joke things, so yeah :P (and that's why i made the menu a picture; so you can still read the options even when the hook is active (and i was lazy))
Quote from: DJ Omnimaga on April 14, 2015, 08:00:13 PM
Interesting. I never heard of that Dovahzul thing before. Do you think it could be made as a separate font so that people with Omnicalc and other apps supporting fonts can use it without the program?
Probably, but i don't use Omnicalc myself and it'd require me to learn how to add fonts to omnicalc. Though i'd be happy to give someone the letter sprite data file (it's in the source (in the download) anyway).
Quote from: DJ Omnimaga on April 14, 2015, 08:00:13 PM
Also since this looks like a standalone hook program, I wonder how hard it would be to port it to the CSE so that people can have custom fonts (hint: New FF:MF graphics? :P) and if it would be possible to make the hook chain with DCSE?
That may be quite a good idea and the hook code would be the same on the CSE, i only need to make some minor changes to the lookup and ofcourse the sprites itself. Maybe even add some kind of parser hook to allow sprites to be registered via basic? that would be quite awesome O.O
Ideally hook usage should be kept to a minimum, because almost everybody who play games have Doors CSE installed. Even with just a custom font I am worried that the font hook would overwrite Doors CSE hooks and either cause xLIBC/Celtic 2CSE and Homerun stuff to stop working or even freeze the calc. Basically, you would need to ensure there are no hook conflicts. Another issue is speed: Sometimes, parser hooks slows the calc down, so you would need to make sure that a custom font doesn't slow the calc down too much.
Yeah, but hooks are stored seperately and if you do some proper chaining (which isn't realyl hard, i just haven't implemented it yet) eveything should still work. Though people need to make sure not to get the hooks in some kind of loop, where hook A activates hook B and hook B activates hook A.
It would still be a cool parser hook though :)
Quote from: Cumred_Snektron on April 14, 2015, 05:19:41 PM
This morning i got the idea to make a font hook that replaces letters with their Dovahzul equivalent:
(http://img.codewalr.us/Dovahcalc.png)
(http://img.codewalr.us/dovahmenu.png)
It has a few changes, though:
- Since the dragon language has no c, the sprite is the same as 'k' with a minor change
- Things like 'Ah', which normally is 1 letter in the dragon language, is now just 'a' and 'h'
Also this was more of a quick experiment, so i made only a quick menu, without fancy moving parts.
(if you press one of the keys for the menu, it will enable/disable, just no action is shown)
EDIT: i wanted to have an alphabet here, but it doesnt seem to show pictures from ClrHome
Nice prank idea, I should find a way to do that silently and quickly on pal's calcs
Quote from: Duke "Tape" Eiyeron on April 15, 2015, 10:56:52 AM
Nice prank idea, I should find a way to do that silently and quickly on pal's calcs
1. Take one identical-looking calc.
2. Switch pal's calc with the previously-mentioned calc, preferably without mr./ms./mrs. pal noticing.
3. Upload DovahClc to pal's calc and activate.
4. Repeat step 2 in reverse.
5. Preheat oven to 250° C.
6. Put victory cake in oven until it's about to catch fire.
7. Laugh whilst eating cake.
NOTE: forget about the cake in case of no nearby oven.
Don't forget to put in exam mode too while you're at it :P
So i've found the error of some characters not displaying correctly, i didn't handle some mode's in the hook as i should have. After i fixed that
I tried to implement hook chaining. After a few hours struggeling i think i finally got it, at least that's what happens in the debug. I test with Omnicalc to see
if chaining works. If i run the code step for step from the point of where i jump from my code, via some code copied to SaveSScreen, to Omnicalc's hook, i can see
that it indeed does jump to omnicalc's code. But it doesnt display any of their characters. (i installed some random font i found on omnicalc). Anyone got ideas of what i'm doing wrong here? (if you want to see some code just say so)
Actually which OS are you testing this on? Because the official version of Omnicalc doesn't run on MathPrint OSes. Same for xLIB. You should test with ZStart and DCS7 instead if you use 2.53/2.55MP. Or install OS 2.43.
Quote from: brentmaas on April 15, 2015, 02:44:12 PM
Quote from: Duke "Tape" Eiyeron on April 15, 2015, 10:56:52 AM
Nice prank idea, I should find a way to do that silently and quickly on pal's calcs
1. Take one identical-looking calc.
2. Switch pal's calc with the previously-mentioned calc, preferably without mr./ms./mrs. pal noticing.
3. Upload DovahClc to pal's calc and activate.
4. Repeat step 2 in reverse.
5. Preheat oven to 250° C.
6. Put victory cake in oven until it's about to catch fire.
7. Laugh whilst eating cake.
NOTE: forget about the cake in case of no nearby oven.
>ib4 the cake is a lie.
Yeah, that won't happen as I'm probably the only one who kept his calc now. (CS school)
Quote from: DJ Omnimaga on April 16, 2015, 03:31:43 AM
Actually which OS are you testing this on? Because the official version of Omnicalc doesn't run on MathPrint OSes. Same for xLIB. You should test with ZStart and DCS7 instead if you use 2.53/2.55MP. Or install OS 2.43.
Yeah i tested it with 2.55MP, though i can run Omnicalc and it's hook does work. But do ZStart and DCS7 have a font hook? else i might just copy my app and compile it under a different name (and change some sprites) to test it.
Oh do you use the special version of Omnicalc? If not then it's possible that ZStart fixed the issues that MP Oses had with Omnicalc/xLIB. And IIRC ZStart got a font hook but I don't know if it's supported by default. DCS7 lacks one.
I just got the most recent version of omnicalc. And i don't have ZStart or anything installed, just DovahCalc, omnicalc and some font. Also whats up with Cataloghelp?
if i run its hook with dovahcalc enabled it just clears the hook.
You might need to ask in a help topic. It seems strange... O.O
Update:
- fixed the small letters bug
- added hook chaining (now usable with omnicalc and such). Turns out the error i had earlier was i jumped 1 instruction before he hook to chain to (and some oter stuff).
It works now, and i wrote a small chain utility included in the zip (source/DovahClc/HookChain.z80) so chaining will be easier for me in the future. It stores the 4 bytes of
the previous hook in a defined location in ram, for faster lookup. It also stores an extra check byte to check if the data is still intact. (This utility can be used by anyone, if
they want to).
Awesome to see a release. Do I need to install this and other apps in a specific order? I'll give this a try later. :)
Well, yeah since it chains, you need to install it later than any other fonthooks. For example if you use omnicalc, enable omnicalc's hooks first and then enable DovahCalc.
If you use apps without font hooks it doesn't really matter, since theyre not affected by eachother anyways :)
Ah ok, I guess it depends if your hook overwrites parts of DCS7 hooks then, since DCS7 uses over 9000 of them for Omnicalc+xLIB+Celtic+Homerun (unless I am missing something?)
Quote from: DJ Omnimaga on April 18, 2015, 06:14:33 PM
over 9000
Lol.
Anyway good luck on getting the rest of it to work. Maybe you'll port it to be a zstart font which would save people with zstart 10000 ram.
Quote from: DJ Omnimaga on April 18, 2015, 06:14:33 PM
Ah ok, I guess it depends if your hook overwrites parts of DCS7 hooks then, since DCS7 uses over 9000 of them for Omnicalc+xLIB+Celtic+Homerun (unless I am missing something?)
Well it chains, not breaks. All hooks should still work :)
Quote from: DJ Omnimaga on April 14, 2015, 08:00:13 PM
Interesting. I never heard of that Dovahzul thing before. Do you think it could be made as a separate font so that people with Omnicalc and other apps supporting fonts can use it without the program?
Also since this looks like a standalone hook program, I wonder how hard it would be to port it to the CSE so that people can have custom fonts (hint: New FF:MF graphics? :P) and if it would be possible to make the hook chain with DCSE?
This could be used to create custom sprites (replace a letter that you probably won't use like theta with a custom sprite for your character)
I'm actually developing a version for the CSE. Maybe i'll do the letter replace thing later though, cause that'll defenitely be cool. Since i have t his chain hook utillity it'll also be possible to chain with DCSE, xLIB and celtic hooks. Though i made a small Java app to create the letter data, since the data layout is really weird and not at all doable by hand :/. Also i'd have to find a big enough place of ram that won't get violated (one of the ram pages?) since an appvar would be too slow :(
Quote from: 123outerme on April 18, 2015, 07:50:34 PM
Quote from: DJ Omnimaga on April 14, 2015, 08:00:13 PM
Interesting. I never heard of that Dovahzul thing before. Do you think it could be made as a separate font so that people with Omnicalc and other apps supporting fonts can use it without the program?
Also since this looks like a standalone hook program, I wonder how hard it would be to port it to the CSE so that people can have custom fonts (hint: New FF:MF graphics? :P) and if it would be possible to make the hook chain with DCSE?
This could be used to create custom sprites (replace a letter that you probably won't use like theta with a custom sprite for your character)
yeah that's what I had in mind, since it was done before on the 84+. Being able to use the font from archive and install it on game launch would be best, though.
I'd be cool, though xLIB (i think it's xLIB) seems to not draw sprites via the tokenhook :/
Aw sorry to hear. I remember that DCSE had issues before that caused sprites to mess up the Output command. I wonder if that could be related?
One thing you could do is ask on Cemetech where you could place your font hook to ensure full functionality of Doors CSE, since, after all, Kerm is the one who made DCS.
@tr1p1ea might be able to help, though, since he wrote xLIB, which is included in DCSE.