dMZX Forums: SquareZeux - dMZX Forums

Jump to content

If you are new to DMZX, please take the time to look over the FAQ pinned in General before asking a question.

  • (3 Pages)
  • +
  • 1
  • 2
  • 3
  • You cannot start a new topic
  • You cannot reply to this topic

SquareZeux FORK DRAMA

#1 User is offline   Xx*SaturnineMatthias*xX 

  • Your mother.
  • PipPipPipPip
  • Group: Members
  • Posts: 799
  • Joined: 07-November 06
  • Gender:Male
  • Location:Knaresborough, UK

Posted 29 June 2007 - 06:42 PM

Posted Image

may the source be with you

warning: very buggy and very pointless. Might try to do something with it. I've got an idea in which the last 6 rows are used to colour-shift quadrants of the character in a way similar to SMZX3, but not sure how I'd implement it for software, let alone the other renderers.

And no, I'm not going to insist that you use this, it's merely a little experimentation.

Edit: The upper-left corner was supposed to show the player, but I took the shot while on it as a title screen. Oh well.
this is a signature
0

#2 User is offline   Xx*SaturnineMatthias*xX 

  • Your mother.
  • PipPipPipPip
  • Group: Members
  • Posts: 799
  • Joined: 07-November 06
  • Gender:Male
  • Location:Knaresborough, UK

Posted 29 June 2007 - 11:08 PM

I updated it. Still buggy but now has the quadrant functionality (for 32bit SMZX0 software only ATM):

Posted Image

(Source for the new one can be found at the same place. It's still very buggy and the mouse crashes still occur)

Note the quadrant functionality: it basically works like this:

Since only 8 of the 14 y-lines of each character are now displayed, the data held in the other 6 can be used in other ways. This hack, for instance, uses the first four unused lines to store a colour offset (from 0 to 255, encoded just like any other MZX character byte in a right-to-left fashion (the bit signifying 1 at the right, the bit signifying 2 to the left, etc).

The bytes map to the four quadrants, or quarters, of the char in a left-to-right, top-to-bottom order (1 and 2 on the top, 3 and 4 on the bottom). When their respective bytes are set to an offset, the colour is offset, in a manner similar to SMZX3, by that amount to the right. Values wrap around, so if the colour of a char is 255 (cff), an offset of 1 will yield 0 (c00).

Using this, it is possible to use up to 8 colours (4 sets of 2) in a single char. (It's better to think of it as dividing each character into 4 separate 4x4 characters that are linked together into a 2x2 format).

The downside, of course, is that 8x8 chars give a strange resolution (640x200).

(BTW, I think this should be moved to somewhere less Barkness with a less Barkness title, now that I've become serious on this.)
this is a signature
0

#3 User is offline   Sai'ke 

  • =)
  • PipPipPipPipPip
  • Group: Members
  • Posts: 2,272
  • Joined: 08-September 02
  • Gender:Not Telling

Posted 30 June 2007 - 12:00 AM

make a game for it
Everything is a potato to a degree you do not realize till you have tried to make it into fries.
- Bertrand Potato
0

#4 User is offline   Superfunk 

  • Unlocked
  • PipPipPipPipPip
  • Group: Members
  • Posts: 1,276
  • Joined: 10-September 04
  • Gender:Male
  • Location:U.S.

Posted 30 June 2007 - 12:12 AM

Hmm... this is worthy of being in MegaZeux Development or MZX General.
Posted Image
0

#5 User is offline   Xx*SaturnineMatthias*xX 

  • Your mother.
  • PipPipPipPip
  • Group: Members
  • Posts: 799
  • Joined: 07-November 06
  • Gender:Male
  • Location:Knaresborough, UK

Posted 30 June 2007 - 01:11 AM

Meh, I'm not too sure how the heck I'd go about porting the quadrant code to any of the other renderers. They all seem different, especially the first overlay (code-wise).

My first priority if I were to port this would be to port it to the YUV overlays so that there's at least some form of resizing, and then maybe 8-bit software...

This post has been edited by NihilistMatt: 30 June 2007 - 01:13 AM

this is a signature
0

#6 User is offline   asiekierka 

  • ??
  • PipPipPipPipPip
  • Group: Members
  • Posts: 1,268
  • Joined: 06-April 06
  • Gender:Male
  • Location:Poland

Posted 30 June 2007 - 05:51 AM

Matt, it's AWESOME.
Now, anybody willing enough to port it to windows?

I will do a game for it.
Since 8x8 is, heck, like a good resolution for some kinds of games.
Huh.
0

#7 User is offline   Xx*SaturnineMatthias*xX 

  • Your mother.
  • PipPipPipPip
  • Group: Members
  • Posts: 799
  • Joined: 07-November 06
  • Gender:Male
  • Location:Knaresborough, UK

Posted 30 June 2007 - 02:16 PM

I tried making a windows port of it but for some reason package.sh wouldn't make the executable when run with -b win32.

This post has been edited by NihilistMatt: 30 June 2007 - 02:16 PM

this is a signature
0

#8 User is offline   Xx*SaturnineMatthias*xX 

  • Your mother.
  • PipPipPipPip
  • Group: Members
  • Posts: 799
  • Joined: 07-November 06
  • Gender:Male
  • Location:Knaresborough, UK

Posted 30 June 2007 - 03:38 PM

I managed to solve the cursor madness, but I have a sneaky suspicion the cursor hack only works on 640x480 and haven't been able to try any other resolution due to X not liking this monitor. However, I've found a new bug: the UI palette not only doesn't seem to be protected, but also screws up in places (ie the Exit MegaZeux dialog is black after going into and exiting the editor). Whether that has anything to do with the quad system or due to something else, I'm not sure at this stage.
this is a signature
0

#9 User is offline   Dr Lancer-X 

  • 電波、届いた?
  • Group: DigiStaff
  • Posts: 8,938
  • Joined: 20-March 02
  • Location:ur mom nmiaow

Posted 30 June 2007 - 03:42 PM

NihilistMatt, on Jul 1 2007, 12:16 AM, said:

I tried making a windows port of it but for some reason package.sh wouldn't make the executable when run with -b win32.

A++++++++++++++++++++++
Posted Image
<Malwyn> Yes, yes. Don't worry I'd rather masturbate with broken glass than ask you for help again. :(
0

#10 User is offline   ajs 

  • carpe diem
  • PipPipPipPipPip
  • Group: Members
  • Posts: 1,614
  • Joined: 21-October 00
  • Gender:Male
  • Location:United Kingdom

Posted 30 June 2007 - 04:18 PM

I wish if people would fork MZX, they'd actually bother to read the maintainers scripts so they didn't distribute sources with object code in them. ;-(

package.sh was originally written by me, because Exo would periodically forget to include certain documents (including the GPL) in the win32 zip packages. This was a license violation. The script was born to ensure that each release was precisely correct, and automatically generated.

package.sh does _not_ build anything. It also doesn't work with debug builds (yet). What you must do is build the software, and then run package.sh to package the sources correctly. If you run it with -b win32, and you used mingw32 to build Win32-PE binaries, it will also generate a Windows ZIP package.

Please, people who are forking MZX, if you want to be responsible you should distribute only a GNU diff file from the original sources, so people are clear what changes you have made from the original. You also should clearly state which version of the sources were used to create the fork, and provide a working link for them. I would also prefer it if people changed the version so it clearly indicates in the title bar (and possibly the application executable name) that it is not an official version. I don't want bug reports from users of forks.

I use the following scripts together with http://devzero.co.uk...air/mingw32.zip (installed to ~/bin/mingw32) and Debian's mingw32 package, to build Win32-PE binaries under Linux. This process is automated.

#!/bin/sh

if [ "$1" = "" ]; then
 ? ? ? ?pushd ~/megazeux/trunk/megazeux2
else
 ? ? ? ?pushd $1
fi

export PATH=$HOME/bin/mingw32/bin:$PATH

make -k distclean
./config.sh --platform mingw32 --prefix $HOME/bin/mingw32
make ICON=1 -j10
./package.sh -b win32
make ICON=1 distclean

unset PATH

popd


--ajs.
0

#11 User is offline   Xx*SaturnineMatthias*xX 

  • Your mother.
  • PipPipPipPip
  • Group: Members
  • Posts: 799
  • Joined: 07-November 06
  • Gender:Male
  • Location:Knaresborough, UK

Posted 30 June 2007 - 04:25 PM

edit: damnit, I started writing this before ajs replied and posted it after. I didn't even notice ajs's post, and didn't make it clear that I was replying to lancer-x either. Sorry about that.

Huh, when trying to make a win32 binary, it says that it can't find -lopengl32. I've found an opengl32.dll on the Interweb, which I guess I need to change to opengl32.a and put somewhere ld can find it, but... I don't know where! =/

This post has been edited by NihilistMatt: 30 June 2007 - 04:45 PM

this is a signature
0

#12 User is offline   Exophase 

  • Laughing on the inside.
  • Group: DigiStaff
  • Posts: 7,155
  • Joined: 23-October 00
  • Gender:Male
  • Location:Cleveland, OH

Posted 30 June 2007 - 04:36 PM

NihilistMatt, on Jun 30 2007, 11:25 AM, said:

Stop antagonising me just because I'm trying to exercise my rights under the GPL to experiment. I realised that package.sh doesn't actually make anything.

Huh, when trying to make a win32 binary, it says that it can't find -lopengl32. I've found an opengl32.dll on the Interweb, which I guess I need to change to opengl32.a and put somewhere ld can find it, but... I don't know where! =/

Exercise your rights? I hate that attitude, a lot. A program being made GPL means that some initial contributor was willing to make their efforts public. Rather that parading the GPL why don't you show some respect to the wishes of the people who made the program possible in the first place by doing a bulk of the prior work, so that you may make your puny modifications.
~ ex0 has a kickass battle engine, without it you sux0rz! without it you sux0rz! ~

"The fact that I say I've one of the best, is called honesty." -Akwende
"Megazeux is not ment to be just ASCII, it is ANSI!" - T-bone6
"I hate it when you get all exo on me." - emalkay

Exophase can what Rubi-cant.
exoware is ware ur ware is exoware
ps. not loking 4 new membrs kthx
0

#13 User is offline   Dr Lancer-X 

  • 電波、届いた?
  • Group: DigiStaff
  • Posts: 8,938
  • Joined: 20-March 02
  • Location:ur mom nmiaow

Posted 30 June 2007 - 04:40 PM

NihilistMatt, on Jul 1 2007, 02:25 AM, said:

Stop antagonising me just because I'm trying to exercise my rights under the GPL to experiment. I realised that package.sh doesn't actually make anything.

On top of what Exo said, you're accusing ajs of antagonising you. He gave you, in a straightforward manner, the information which you are required to know and appeared not to know. Since you clearly have no idea what antagonism is, allow me to illustrate:

I am against this coding experiment of yours, I am against your attitude towards MZX, your attitude towards ajs and your attitude towards this community in general. If you do not start showing people at least a basic amount of respect, nobody will ever want to help you again.
Posted Image
<Malwyn> Yes, yes. Don't worry I'd rather masturbate with broken glass than ask you for help again. :(
0

#14 User is offline   Xx*SaturnineMatthias*xX 

  • Your mother.
  • PipPipPipPip
  • Group: Members
  • Posts: 799
  • Joined: 07-November 06
  • Gender:Male
  • Location:Knaresborough, UK

Posted 30 June 2007 - 04:43 PM

oh? Damn it. I wasn't replying to ajs! I was replying to lancer-x going A++++++++++++++. Sorry about that. (I know, I can't prove this, but :|)

also, just did this
  sprintf(temp, "MegaZeux %s - Unofficial squaremzx FORK", version_number_string);

This post has been edited by NihilistMatt: 30 June 2007 - 04:51 PM

this is a signature
0

#15 User is offline   ajs 

  • carpe diem
  • PipPipPipPipPip
  • Group: Members
  • Posts: 1,614
  • Joined: 21-October 00
  • Gender:Male
  • Location:United Kingdom

Posted 30 June 2007 - 04:48 PM

The GPL isn't designed to enable you to arbitrarily fork projects. It's to ensure that the original developer of a piece of software gets to at least look at all of the changes somebody else makes to the software so that he can either reject them, or enrich the original version in a similar manner. In this sense it prevents people from taking, and not giving back.

As I've stated many, many times before, I have no problem with people posting experiments. But I get really annoyed when people don't release any sources, or release ones that don't compile on most of the supported platforms, and basically just look like an afterthought. And that's why I tried to inform you how and when to use package.sh so that you (and others) don't produce the garbage that usually gets posted here.

The GPL isn't some magical excuse to not exercise common sense and respect for others around you. And I'm sure as hell not going to sit down while people twist its words.

--ajs.
0

#16 User is offline   Xx*SaturnineMatthias*xX 

  • Your mother.
  • PipPipPipPip
  • Group: Members
  • Posts: 799
  • Joined: 07-November 06
  • Gender:Male
  • Location:Knaresborough, UK

Posted 30 June 2007 - 05:13 PM

[url="http://nihilistmatt.box43.net/dump/squaremzx.diff"]http://nihilistmatt..../squaremzx.diff[/url] = I've never made a diff before, so this might be pretty wonky. Shows diffs between directory "src" revision 191 of SVN, which was what squaremzx was based on, and squaremzx as of now.

I did it with diff /megazeux2/src /megazeux2-sfork/src. so the directory depth should be 2 or something.

ajs: I'll try to use your stuff to make a win32 binary. ...I guess I've really screwed up now...

This post has been edited by NihilistMatt: 30 June 2007 - 05:13 PM

this is a signature
0

#17 User is offline   ajs 

  • carpe diem
  • PipPipPipPipPip
  • Group: Members
  • Posts: 1,614
  • Joined: 21-October 00
  • Gender:Male
  • Location:United Kingdom

Posted 30 June 2007 - 05:29 PM

Just type:

svn update
svn diff

And pipe the output to a file. It does a better job than you can, and it'll warn about non-revision-controlled files. If you just always hack on top of the latest SVN, you can track the latest bugfixes.

For example, the diff you posted un-does Mr_Alert's changes which I committed this morning.

--ajs.
0

#18 User is offline   Xx*SaturnineMatthias*xX 

  • Your mother.
  • PipPipPipPip
  • Group: Members
  • Posts: 799
  • Joined: 07-November 06
  • Gender:Male
  • Location:Knaresborough, UK

Posted 30 June 2007 - 05:49 PM

Hrm. I tried to use the shell-script, but it failed to find SDL.

EDIT: Source problems solved. Also, http://nihilistmatt....t/dump/svn.diff is the result of doing what ajs said.

Now, how do I apply that diff to the working copy I got it from, without changing the new patches? It seems to have overwritten my copy with the SVN revision.

This post has been edited by NihilistMatt: 30 June 2007 - 06:07 PM

this is a signature
0

#19 User is offline   ajs 

  • carpe diem
  • PipPipPipPipPip
  • Group: Members
  • Posts: 1,614
  • Joined: 21-October 00
  • Gender:Male
  • Location:United Kingdom

Posted 30 June 2007 - 06:15 PM

NihilistMatt, on Jun 30 2007, 06:49 PM, said:

Hrm. I tried to use the shell-script, but it failed to find SDL.


mingw32 has to be in ~/bin/mingw32, so that means there should be a ~/bin/mingw32/bin directory before you start. Then everything should just work fine, assuming you did a "apt-get install mingw32".

NihilistMatt, on Jun 30 2007, 06:49 PM, said:

EDIT: Source problems solved. Also, http://nihilistmatt....t/dump/svn.diff is the result of doing what ajs said.


This is much better (and more readable), but including the .CHR files probably isn't a good idea (because they are binary). I'd pass "-x -x ignore.ext" to svn diff to ignore these files (and then put them elsewhere). That's totally optional though.

NihilistMatt, on Jun 30 2007, 06:49 PM, said:

Now, how do I apply that diff to the working copy I got it from, without changing the new patches? It seems to have overwritten my copy with the SVN revision.


Right, SVN has pulled in the latest changes, so Mr_Alert's stuff isn't showing up in the diff.

That's good, and it means you can simply continue to use SVN (and svn update, fixing conflicts into the future where necessary). To export your project for tarring up, you can either just use package.sh (which already ignores the .svn metadata) or use "svn export" to dump it to another directory. You shouldn't have to apply the diff, because the changes are already present in your tree.

--ajs.
0

#20 User is offline   Xx*SaturnineMatthias*xX 

  • Your mother.
  • PipPipPipPip
  • Group: Members
  • Posts: 799
  • Joined: 07-November 06
  • Gender:Male
  • Location:Knaresborough, UK

Posted 30 June 2007 - 07:44 PM

Hmm, I meant the SDL headers. I did install the mingw32 stuff to ~/bin and already have mingw32 installed from BrahMatt.

Also, it didn't rape my source at all. Turns out I've been compiling it to read its config from the default locations, which contain the default charsets and my MZX config, which uses Logi's renderer. These two factors combined to make my copy of MZX look exactly like normal MZX except for the title bar.
this is a signature
0

#21 User is offline   ajs 

  • carpe diem
  • PipPipPipPipPip
  • Group: Members
  • Posts: 1,614
  • Joined: 21-October 00
  • Gender:Male
  • Location:United Kingdom

Posted 30 June 2007 - 11:25 PM

Yes, use linux-static if you want it to look relatively (source local).

Also, I just figured out the reason you can't use the package is because you haven't edited sdl-config. My bad.

Edit ~/bin/mingw32/bin/sdl-config and remove /home/alistair from the start (either hack it, or change it to $HOME).

--ajs.
0

#22 User is offline   Xx*SaturnineMatthias*xX 

  • Your mother.
  • PipPipPipPip
  • Group: Members
  • Posts: 799
  • Joined: 07-November 06
  • Gender:Male
  • Location:Knaresborough, UK

Posted 01 July 2007 - 12:18 AM

truffles

known issues:
  • some char edit madness, such as inverting everything instead of just graphical data
  • only works on 32bit software
  • fullscreen resolutions other than 640x480 may not work
  • random crashing may occur

this is a signature
0

#23 User is offline   Sai'ke 

  • =)
  • PipPipPipPipPip
  • Group: Members
  • Posts: 2,272
  • Joined: 08-September 02
  • Gender:Not Telling

Posted 01 July 2007 - 01:12 AM

NihilistMatt, on Jul 1 2007, 12:18 AM, said:

known issues:
  • random crashing may occur

Heh! :(
Everything is a potato to a degree you do not realize till you have tried to make it into fries.
- Bertrand Potato
0

#24 User is offline   Xx*SaturnineMatthias*xX 

  • Your mother.
  • PipPipPipPip
  • Group: Members
  • Posts: 799
  • Joined: 07-November 06
  • Gender:Male
  • Location:Knaresborough, UK

Posted 01 July 2007 - 01:16 AM

although I think the random crashing has something to do with my mouse hack *not* working in some cases (ie 640x200 windowed). I wasn't too sure exactly what the correct way to do it was, but the way I did it worked for 640x480 fullscreen, so :|

If anyone can find out why MZX keeps incorrectly setting the screen resolution stuff for the mouse handler causing mouse warping to make an infinite loop if max_y isn't decreased by some number (100 for 640x480), then feel free to point it out.
this is a signature
0

#25 User is offline   Fatsnail 

  • Cynohith [Mememancer]#0816
  • PipPip
  • Group: Members
  • Posts: 125
  • Joined: 20-February 01
  • Gender:Male

Posted 01 July 2007 - 03:37 AM

That's sweet man, now you just need to make the chars the size of a pixel.
0

#26 User is offline   asiekierka 

  • ??
  • PipPipPipPipPip
  • Group: Members
  • Posts: 1,268
  • Joined: 06-April 06
  • Gender:Male
  • Location:Poland

Posted 01 July 2007 - 07:02 AM

no dear god no.
Then we will have 32-bit 80x25 res :(
But seriously, it can be implemented as an sort of SMZX mode. Just make it centered :cry: Or make it a 80x43 res (it can be made in textmode, so...). and just center it. It will be a bit widescreen, but cool overall.

EDIT: I found 2 bugs:
1. When you change the palette, it changes the editor palette too, unlike normal MZX.
2. Cursor is still 8x14.

This post has been edited by asiekierka: 01 July 2007 - 07:48 AM

Huh.
0

#27 User is offline   Xx*SaturnineMatthias*xX 

  • Your mother.
  • PipPipPipPip
  • Group: Members
  • Posts: 799
  • Joined: 07-November 06
  • Gender:Male
  • Location:Knaresborough, UK

Posted 01 July 2007 - 02:25 PM

Yeah, I found those two bugs too actually. Further probing the MZX source is required, methinks.
this is a signature
0

#28 User is offline   asiekierka 

  • ??
  • PipPipPipPipPip
  • Group: Members
  • Posts: 1,268
  • Joined: 06-April 06
  • Gender:Male
  • Location:Poland

Posted 01 July 2007 - 03:34 PM

I think it CAN be useful for some people as SMZX mode 4.
Just:
1. Make viewport of it 80x43
2. Make it centered (2 lines of black space on top and bottom)
3. Just make it a SMZX mode.
Huh.
-1

#29 User is offline   Exophase 

  • Laughing on the inside.
  • Group: DigiStaff
  • Posts: 7,155
  • Joined: 23-October 00
  • Gender:Male
  • Location:Cleveland, OH

Posted 01 July 2007 - 06:13 PM

asiekierka, on Jul 1 2007, 10:34 AM, said:

I think it CAN be useful for some people as SMZX mode 4.
Just:
1. Make viewport of it 80x43
2. Make it centered (2 lines of black space on top and bottom)
3. Just make it a SMZX mode.

That would require a much more fundamental change to MZX. Forkers are only capable of modifying graphics.c.
~ ex0 has a kickass battle engine, without it you sux0rz! without it you sux0rz! ~

"The fact that I say I've one of the best, is called honesty." -Akwende
"Megazeux is not ment to be just ASCII, it is ANSI!" - T-bone6
"I hate it when you get all exo on me." - emalkay

Exophase can what Rubi-cant.
exoware is ware ur ware is exoware
ps. not loking 4 new membrs kthx
0

#30 User is offline   CJA 

  • «≡larch bucket≡»
  • PipPipPipPipPipPip
  • Group: Members
  • Posts: 3,262
  • Joined: 23-June 05
  • Gender:Male
  • Location:......@.c....

Posted 01 July 2007 - 06:51 PM

Exophase, on Jul 1 2007, 02:13 PM, said:

Forkers are only capable of modifying graphics.c.

<=D
Need a dispenser here.
0

Share this topic:


  • (3 Pages)
  • +
  • 1
  • 2
  • 3
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users