Giter VIP home page Giter VIP logo

grafx2's People

Contributors

n0kturnal avatar pete-gordon avatar pulkomandy avatar

Watchers

 avatar

grafx2's Issues

Persistence of grid settings

Suggest to make the grid settings persistent, either in the .ini or .cfg 
file.

Original issue reported on code.google.com by yrizoud on 12 Sep 2008 at 1:14

Legacy: setting "Show system directories"

This setting has no effect. Only Windows has system directories, and "show 
hidden directories" will display them already.

Affects:
Setting screen: "Show system directories" button

Original issue reported on code.google.com by yrizoud on 7 Oct 2008 at 9:31

Text tool

There are two unimplemented features : rectangle gradients and text.

Rectangles gradients should work with a rectangle as usual, then a vector 
(line) to indicate the gradient's speed and direction. Maybe other modes 
can be added.

Text can be done either with truetype things (somewhat complex with SDL, 
but supported), or with bitmap fonts like the config tool with the same 
library, SFont. In this case, providing features such as rotating, 
zooming, scaling, and so on, plus some default fonts. Maybe we could use 
some kind of vector path and draw with brushes following the path, may 
enable interesting effects, but, will be horribly long to render. As with 
other operations, a preview mode will be useful :)


Original issue reported on code.google.com by [email protected] on 9 Oct 2008 at 9:12

Color brushes in magnified mode

1. Draw some shapes
2. Pick a big rectangular brush (B)
3. Enter magnify mode (M)
4. Use your brush to draw wild shapes in either the normal or zoomed view. 
--> On both views, it looks as if you drew with a zoomed-down version of
your  brush
5. Scroll right or left with arrow keys
--> The drawing area updates with the right brush size : it was "only" a
display feedback error.

Tested in several drawing modes (normal, smoothe, stencil..), all are affected.

This doesn't happen with any of the built-in brushes (that are monochrome),
only user-picked brushes. Also, if you pick a brush and transform it to
monochrome (right-click on the brush picker icon), the problem doesn't
occur. It's specific to colored brushes.

Original issue reported on code.google.com by yrizoud on 4 Sep 2008 at 7:49

Mouse wheel support

What about some simple mouse wheel functions, such as scroll/shift+scroll
for scrolling along x/y, alt+scroll for zoom and ctrl+scroll for brush size
(or something else?).

Original issue reported on code.google.com by [email protected] on 20 Oct 2008 at 8:49

Screen is not refreshed when drawing a picture

Drawind anything on the screen will not be visible because we miss an 
updateRect somewhere.
However, having an updateRect occur each time a pixel is changed will be 
very slow. We need to find a good slution for that


Original issue reported on code.google.com by [email protected] on 29 Mar 2008 at 10:44

Linux deployment: Program, data, user configuration

User configuration (gfx2.ini, gfx2.cfg) :
It might be better to store them in ~/.grafx2/ (linux)

Program and Data:
After a "clean" installation, the main program(s) may reside in /usr/bin, 
so the remaining of the data (gfx2.dat, system font...) may be 
in /usr/share/grafx2, I suppose.
I'm not completely familiar with this, but as I understand it, the linux 
end-user would compile normally in a temporary directory (make or make 
NOTTF=1); then su root and run "make install" that creates the required 
directories, copies (or moves?) all files to their target directories, 
chown as needed. I suppose a "make uninstall" makes sense too.

To make it work and still allow easy development, the program would need 
to check several directories: if the files are in the program's directory 
it's a fresh compile or SVN workshop, so these ones should be used in 
priority.
Also the program would need to create ~/.grafx2 at runtime as needed, 
since it's not always the same user.

I mark this Milestone 2.0, because the config files are going to change 
again, and even the .dat may need rethinking.

Original issue reported on code.google.com by yrizoud on 28 Oct 2008 at 10:23

Screen updates

Opening files:
http://www.cpcscene.com/GrafX2/GrapfX2-OpenDir.png


Original issue reported on code.google.com by [email protected] on 13 Oct 2008 at 7:23

Save/Load todo/fixme

The drive list is disabled:
-> Windows: I will read list from GetLogicalDrives(), though it won't make 
a difference between floppy, hdd, cd.. (I can assume A and B are floppy, 
though).
-> Linux: I can hard-code 2 icons, one for / (root), one for ~ (the 
current user's home)

".." Not listed in directories
-> Need to add. In the mean time, you can use backspace key.

Cannot change directory or save/load if name > 27 characters
-> The max visible string is 27 characters and cannot be increased 
indefinitely. I will enable editing of strings longer than the visible 
space, making the text "scroll" left or right as needed to keep the cursor 
in view.

Filenames still shown as 8(abbreviated)+3.
-> I'd like the 8th character to be some sort of "..." character if 
possible. dependent on the characters available in the fonts.

The recent change in the Save/Load box filled the source code 
with "variable" coordinates, like (9*8)+..., and FILENAMESPACE+...
-> When everybody's happy with the Save/Load box, I'll turn these back to 
hard-coded litterals. Right now, the variables help a lot in finding the 
places where controls are drawn.

Text input (filename, comment) doesn't like special keys.
-> Requires a big fix in how the keyboard is read.

Original issue reported on code.google.com by yrizoud on 15 Sep 2008 at 10:23

Line tool

http://pouet.net/topic.php?which=5703 / Lord Garga
"
Drawing lines leave some ugly artifacts.

Any chance of drawing only horizontal, vertical, and diagonal lines when
holdning down shift?
"

Original issue reported on code.google.com by [email protected] on 10 Oct 2008 at 11:36

PNG support (load, save)

We could use libpng.

Or there's a img_savepng.c, a kind of complement to SDL_image.
One source:
https://svn.berlios.de/svnroot/repos/enigma-game/branches/1.0/lib-src/enigma-cor
e/IMG_SavePNG.h
https://svn.berlios.de/svnroot/repos/enigma-game/branches/1.0/lib-src/enigma-cor
e/IMG_SavePNG.c
License is apparently LGPL.

Original issue reported on code.google.com by yrizoud on 22 Sep 2008 at 9:07

Add some way to switch between fullscreen and windowed mode

The program should be able to switch between fullscreen and windowed mode.
Either add
  * A command line switch, a keyboard shortcut and a button on the screen 
prefs window. May require modifications to the config file, thus a rework 
of the Turbo Pascal tool used to generate it,
  * A field to the screenmode struct. Maybe use the "freq." field wich is 
irrelevant in SDL, or add a new field.

This is important because fullscreen allows to use non-square pixels on 
CRT screens, but most of the strange modes will not work with newer LCD.

Original issue reported on code.google.com by [email protected] on 18 Aug 2008 at 4:22

save the selected screenmode

The program always boot in windowed mode. Allow users to select a different
mode and save it in the config. file.


Original issue reported on code.google.com by [email protected] on 13 Oct 2008 at 11:25

Menu status bar

Moving the cursor over the menu icons displays a text "tooltip" in the 
bottom "status line", showing the function. There's no drawing problem 
when changing icon, the new label cleanly replaces the previous, no matter 
how long the strings are. ok.
Now, if you go down to the status line itself, the text is replaced by a 
blank, BUT not refreshed.
It's not easy to see because the cursor immediately disappears as it's too 
low (see previous bug) and doesn't refresh what it's hovering on. You need 
to be at the exact Y position to see the cursor AND be on the line, and 
then you'll see your cursor erase the text under it.

Seen on Windows. Not related to recent changes.

Original issue reported on code.google.com by yrizoud on 23 Oct 2008 at 4:29

Minimal window size

When running in windowed mode, there is no minimum size. 320x200 seems a 
good idea.

Add some constraints to the window resizing so one can always see the full 
palette and the toolbar, plus some part of the picture.

Original issue reported on code.google.com by [email protected] on 4 Oct 2008 at 2:05

Layer system

Build a simple layer system allowing to work with some pseudo transparency 
("magic pink", or alpha-bits, or alpha-plane).
See what is possible when using only 256 colors

Original issue reported on code.google.com by [email protected] on 30 Jul 2008 at 5:48

GPL

The original authors' clearly state their intent to release the software 
under the GPL in readme.txt, but the "credits" menu still shows the text 
from the earlier license (giftware), with the notice "(GrafX2) cannot be 
modified in any way without our written consent."

Also, we should put a copy of the GPL text in the zip packages we put up.

Original issue reported on code.google.com by yrizoud on 16 Sep 2008 at 2:27

Key repetition (Typematic)

Holding a key does not repeat the action at all.
It's annoying while drawing (ex: arrow keys to scroll), and when entering
text in a box (ex: backspace in filename input)

The behaviour of the DOS version was consistent with the user's typematic
settings, the ones you set with MODE CON RATE=32 DELAY=1


Original issue reported on code.google.com by yrizoud on 13 Sep 2008 at 12:09

Remove old unused functions

Some functions (mostly in op_asm.c) are not used anymore because we 
disabled "assembly optimisations" (and there is no assembly code anymore). 
We should find and remove them, however, some of their C counterparts are 
broken (Floyd Steinberg dithering doesn't look at all how it should, for 
example.
So, maybe some of them would be handy to have around in some place ...


Original issue reported on code.google.com by [email protected] on 12 Oct 2008 at 4:36

Keyboard handling

The keyboard isn't working at all.
The get_input function in Divers.c should do what the old get_input did, 
but using SDL.
The behaviour is descripted in the "input handling" page in the wiki. Look 
at it and make the keyboard work :)


Original issue reported on code.google.com by [email protected] on 29 Mar 2008 at 10:53

Contextual help

The existing "help" reader can easily be re-used.
It's text-only, though.
We could use it to display a help paragraph depending on the window: 
Effects, Palette...
The documentation already exists, in French and English, in the docs 
folder: It's only a matter of selecting the right paragraphs and 
formatting them for 44 characters wide display.

The help reader could be invoked by using a shortcut key. It seems 
difficult to add a '?' on each window because of their layout.


Original issue reported on code.google.com by yrizoud on 17 Sep 2008 at 8:01

Build system : dependancies

When doing a make, the makefiles recompiles everything for me, even if i 
changed a single file.
Use a proper buildsystem and avoid wasting my cputime :)

Maybe switching to Jam or scons or ... or maybe the regular autoconf system 
may help there, as the makefile is starting to get a bit messy with amigaos 
changes integrated in it...


Original issue reported on code.google.com by [email protected] on 23 Oct 2008 at 7:20

Animation (animated GIF)

I'm thinking of a way to make GrafX2 powerfully edit multi-frame images, 
without hurting the usability with normal images.

The program would still have 2 images (Principal & Spare) loaded at same 
time, TAB still switching between them. but now an image would comprise of 
1 or more frames.
All frames of an image share the same palette and dimensions. At any given 
moment, only one frame is displayed (ie: #05)
Some keyboard shortcuts help quickly navigate to previous and next.

An extra screen allows showing and editing the "strip" of images (clone, 
del, displace ), setting each image speed, previewing the animation.

Difficulties:
Need to adapt Undo. Especially because an operation like Resize affects 
the pixel data of all frames.

Bonus:
Even for normal pixelling, a multi-frame Spare page can help memorize an 
important stencil and restore it later.

Original issue reported on code.google.com by yrizoud on 10 Oct 2008 at 1:59

Save/Load screen incompatible with screen resize

After loading an image that causes a screen resize (down), the Save/Load
screen doesn't refresh (visually) normally, and it doesn't take mouse input
at all. Keyboard entry is fine.

I suspect a Menu_Facteur_X / _Y that is incorrectly computed.

Original issue reported on code.google.com by yrizoud on 15 Sep 2008 at 12:43

Mouse cursor does not use SDL cursor

The mouse cursor in GrafX2 is drawn on screen with a software routine, 
pixel by pixel. This is very slow and needs the screen to be updated at 
each mouse move.
We should make the mouse handling routine use the real SDL cursor wich is 
much faster.
We need to change this cursor with the appropriate functions in the GrafX2 
engine instead of the software one, wich should eventually be removed.


Original issue reported on code.google.com by [email protected] on 29 Mar 2008 at 10:42

Rotate_XOR cursor need SDL_UpdateRect

The rotated XOR cursor in graph.c 2200-2700 functions uses XOR lines and
does not update the screen. May lead to some garbage being displayed or the
cursor invisible.
Easy to fix, there are 4 XY coordinates (4 corners of the rotated
rectangle), sort them and update the big rectangle (xmin/ymin - xmax/ymax).

Original issue reported on code.google.com by [email protected] on 23 Jul 2008 at 8:30

Legacy: setting "Auto set resolution"

The usability of this feature is questionable.
The idea was that if you opened a 320x400 image, it would auto-select the 
according Mode-X which has the very "flat" pixels.

I don't recommend for any user to activate this feature, because nowadays 
we have no platform that provides such modes.
My laptop LCD, on linux, is the only one that accepted all the default 
GrafX2 "resolutions". I configured it to not stretch images, so it centers 
the area and displays black borders, doubling pixels when possible. All 
modes look good but in all cases the pixels are square and I have no 
reason to choose a smaller drawing area, so no reason to let GrafX2 choose 
depending on picture size. I'd rather choose manually one of the two 
fullscreen modes hi-res 1024x768 and low-res (very pretty!) 512x384.

Affects: settings screen "Auto-set res"
INI: Auto_set_resolution
INI: Set_resolution_according_to

Original issue reported on code.google.com by yrizoud on 7 Oct 2008 at 9:55

Resolution screen cannot show less than 12 resolutions

On a XP machine with few detected resolutions (window + 5 fullscreen), the 
6 remaining lines show a dummy "0x0 windowed mode".
Trivial to fix.

Original issue reported on code.google.com by yrizoud on 6 Oct 2008 at 7:59

osX build is slow

GrafX2 runs very slow under mac os X.

Find why, and make it faster :D


Original issue reported on code.google.com by [email protected] on 14 Oct 2008 at 8:58

Segfault in gfxcfg on amd64 Linux

I built svn 244 on Ubuntu x86_64. Trying to run gfxcfg results in a black
rectangle momentarily appearing, then exiting with "Segmentation fault." on
the console.

Original issue reported on code.google.com by [email protected] on 19 Oct 2008 at 10:14

Program icon

Assign the icon to the program with SDL_WM_SetIcon()

Rather than shipping the icon as a separate file, I'll see if it's 
possible to append it to gfx2.dat, just before the ini file.

Original issue reported on code.google.com by yrizoud on 9 Oct 2008 at 2:07

Color brushes and zoom = faultly screen update

Create a color brush, draw with it in zoom mode.
The zoomed part will not update as it should.
Tested with a brush not fitting the screen. May work with small ones. 
Check Mettre_Ecran_A_Jour clipping to screen system.


Original issue reported on code.google.com by [email protected] on 7 Oct 2008 at 10:16

Wait_VBL does not actually waits for a VBL

Wait_VBL() in divers.c waits for 20ms (1/50s), instead of a real VBL-time. 
There is no way in SDL 1.2 to wait for the VBL, but we should get the 
refresh freq and compute the real delay.

Original issue reported on code.google.com by [email protected] on 6 Aug 2008 at 4:27

editing colors in the palette is SLOW

Although gfxcfg doesn't work, I managed to run grafx2 on 64-bit Linux by
using a DAT from the precompiled binaries.
However, editing colors in the palette is painstakingly slow, to the point
of being unusable.

Original issue reported on code.google.com by [email protected] on 19 Oct 2008 at 10:27

Gradation Rectangle lacks clipping

The Grad Rectangle is completely drawn even if it exceeds the drawing area.
On the rigt it comes back on the left side, but on the bottom it overwrites
the menu, and can even segfault if it exceeds the image area.

Original issue reported on code.google.com by yrizoud on 2 Nov 2008 at 3:29

Legacy : VGA palette

Grafx2 internals use a VGA palette with values in the 0-63 range. However, 
SDL can display colors in the 0-255 range. This should be enabled (maybe 
as an option), but we'll have to modify the loading/saving routines and 
create a variant of the PKM files. There is a version number for that. The 
old grafx2 under dos will no more be able to load our pictures, tough.


Original issue reported on code.google.com by [email protected] on 14 Oct 2008 at 11:10

Legacy: mouse settings

The mouse settings should generally be removed, because SDL already 
receives "clean" information from the OS.
Currently, Sensitivity is ignored, but the mouse is unusable if 
correction_factor isn't left at 0.

Screen "Settings": 2 sliders "Mouse sens"
INI: X_sensitivity
INI: Y_sensitivity
INI: X_correction_factor
INI: Y_correction_factor

Original issue reported on code.google.com by yrizoud on 7 Oct 2008 at 9:27

Structure padding cause many bugs in saving and loading

Saving and loading files uses direct read/write of struct to file. This causes 
problem because there are 
gaps between members wich should not be written to the file.

Replace the direct read/write of structs by read/write of each members one 
after each other.


Original issue reported on code.google.com by [email protected] on 2 Aug 2008 at 4:02

Cursor visibility at window edge

The "sprite" cursors, like the triangle arrow, are not drawn at all when 
they would be clipped at the right or bottom of the screen. They disappear 
completely as soon as they touch the border, which can make it difficult 
to pick colors in the bottom palette row.

Very old problem, happens in Windows, not sure for other OSes.

Original issue reported on code.google.com by yrizoud on 23 Oct 2008 at 4:23

Mouse capacities

(Tossing ideas around)
SDL cannot catch tablet-specific values, unfortunately ...
However, it reports 3rd button and mouse wheel, and both are very common 
hardware nowadays.

3rd button ideas:
Some people may like Color picker, or Magnify on/off

Wheel ideas:
* next forecolor, previous forecolor
* bigger brush, smaller brush (concerns internal brushs like square, 
round, slash...)

It may be the most useful to let the user assign any function to any of 
those 3 "buttons". Gfxcfg can be modified to let the user set his mouse 
button preferences.

Original issue reported on code.google.com by yrizoud on 9 Oct 2008 at 2:03

Missing refresh on brush grab with RMB

Select a colored background color.
Hit B (Brush grab)
On the picture, click and hold the Right mousebutton, move to select a big
rectangle, and release button.

--> The selected rectangle is "cut" as a brush, replaced by the current
background color. But the refresh/update on this rectangular area is not done.
Happens in normal view, and in both pannels of zoomed mode.

Original issue reported on code.google.com by yrizoud on 5 Nov 2008 at 11:20

Changing zoom factor > screen refresh error

What steps will reproduce the problem?
1. Draw some things
2. Zomm on them
3. Change the zoom factor using the magnify menu

What is the expected output? What do you see instead?

The zoom part of the screen is not updated.


Original issue reported on code.google.com by [email protected] on 14 Oct 2008 at 5:07

64bit values are stored in two 32bit variables

Some values are stored in two variables. For example, when drawing an 
ellipse, we use Ellipse_Limite_High and Ellipse_Limite_Low to store the 
value. Should be only Ellipse_Limite, 64bit (uint64_t, or __int64, for 
example).
Refator the code accordingly


Original issue reported on code.google.com by [email protected] on 30 Jul 2008 at 4:08

gfxcfg.exe needs java dlls to run ?!

gfxcfg.exe complains that it can't find jpeg.dll, java.dll, jvm.dll and 
verify.dll

I downloaded some versions from an online dll repository, but they weren't 
the correct ones.

I'm on Windows XP SP2, using GrafX 2.00b97.0%

The main program, grafx2.exe, works just fine.

Best Regards
me

Original issue reported on code.google.com by [email protected] on 18 Oct 2008 at 2:01

Global todo list from original grafx2 authors

From the original authors of beta 96.5% :

WHAT WE STILL HAVE TO DO TO "COMPLETE" GRAFX 2.00:

    - Rectangles filled with gradation
    - Distort brushes
    - Allow to use HSB values to define colors.
    - FX on the picture (flip, stretch, shrink, ...)
    - Text (we hope we'll be able to use TrueType fonts)
    - Improve clicks on buttons in the menus (don't block the mouse).


OTHER POSSIBLE IMPROVEMENTS:

    - Add "Anti-aliasing" mode.
    - Add more drawing modes.
    * Support Windows 95 long filenames. [DONE]
    * Add more video modes and fix some others. [DONE]
    - Add PiNG, TIFf, TarGA and JPeG file supports (in our dreams ;)).
    - Allow to load more types of truecolor pictures with Dithering or
      Floyd/Steinberg color reduction.
    - Add Pop-up menus.
    - Palette sort.
    - ...
    - Fix unknown (and known) bugs! :)


Note: There is no special order for the things to do listed above.

Original issue reported on code.google.com by [email protected] on 13 Oct 2008 at 6:21

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.