Skip to content

Nurpax's PETMATE PETSCII graphics app, with updates by wbochar

License

Notifications You must be signed in to change notification settings

wbochar/petmate9

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Petmate 9 PETSCII Editor

wbochar working version: 0.9.4

Originally written by nurpax, their version (8.x) is here. Petmate9 is a cross platform PETSCII graphics editor written in React/Redux/Electron, maintained by Wolfgang-Aaron Bochar (wbochar).

Notes from Wolfgang

I like this tool for its simplicity and ease of use. I asked Nurpax/Janne if I could work on another version of it, trying to add some community requests and bug fixes. I am not a professional electron coder, so before reading some of the brutality contained in my updated sources: be kind. I'll take requests, but I do have a day job :)

if you want to mess with it

  • npm install
  • npm start

be forewarned; do not go down the npm upgrade rabbit hole. there are so many extinct npm packages that you'll never come out from that hell.

I know that some of them are not safe (or up-to-date), but really I don't care. I got trapped in the hole for a long time and decided not to pursue it without a priest and someone who's a better/experienced coder than myself.

I use VSCODE/Win11 as my dev env for this project.

Change Log/History: CHANGELOG.md

Docker Command

docker run --rm -ti -v C:\C64\Projects_Petmate\petmate9:/petmate9 -w /petmate9 electronuserland/buildernpm

Current build types

Sometimes you may need.. npm install typescript@latest -D

PC: NSIS/.exe (via main dev PC) MacOs: intel and amd 64bit (via macos laptop) Linux: deb,apk,freebsd,pacman,p5p,rpm (via docker)

Notes: "electron-builder": "23.6.0", for MACOS "electron-builder": "22.10.5", for PC

Current Bugs (0.9.6 from previous revisions as well)

  • Group/frame zoom not zooming/aligning the last frame in the stack

Current Tasks (0.9.6)

  • border on all frames from menu and button in frame bar
  • after using a menu shortcuts (alt f) alt is trapped on
  • Adjust something to make touch pad pinch/zoom usable
  • Middle mouse Button Pan Control
  • What was I thinking
  • Recent Files menu
    • Update Menu subsystem
    • PC Version
    • Mac Version
    • Linux Version
  • Zoom Level display
  • Dirart Clip Art
  • Texture Generator
    • Preview with dropdown
    • features: Linear, random, radial, mono...
  • Font Pack
    • Note: Fonts stored in one large PETMATE file, saved to the application folder
    • Note: Name of Frame is the font name and config "FontName:3x3:F/P:CharCount"
    • Note: Line 1 of each font frame will list the letter and its width. Width of 0 means the letter is not in the font (or is its ID doesn't exist). Font ID's are the ROM ID of the c64 CHAR ROM. So, "ABC" defined would be 1:3,2:3,3:3,
  • Colour Selector Component
    • Buttons to sort by Colour ID (default Commodore colours)
    • Sub Title with Colour Sort Name
    • Colour Sort: by Light To Dark LUMA
    • Colour Sort: by Dark to Light LUMA
  • Gradient/Shader
    • Toolbar Icon/Button
    • what does the control/alt/shift modifiers do?
    • the palette component (max steps, colours and gradients?)
    • drop down for various versions
    • local save file
    • exports for local save file to allow portable settings
  • Character Palette Updates
    • Dropdown to select various palette types
    • lvllvl style character palette layout
    • Light to Dark character palette layout
    • Custom Layout (and save/export/portable)
    • Frame export to layout
  • Copy and Paste 096
    • All brush Copies will have String, Byte Array (SEQ), PNG and brush
    • Inter Instance Copy/Paste
    • Frames Paste Frame, Brushes Paste Brushes but can only be done via menus?
    • Note Sure: Multiple Frame Copy?
  • PRG Exporter 096
    • Update Export Windows Options
    • Anim player export
    • Wide/Long Screen export
    • Faux Terminal BBS export prg
    • Export with Dirart frame (and position of prg file before after dirart)
    • Export with SID file
  • Guide Layer
    • Import Image
    • Image Placement (Position, Zoom, Lock)
    • Image Transparency
    • Convert Guide to PETSCII (live, no colours, 4x4)
    • Toolbar Icon/Button
    • Import Image
  • Shadow Characters (Icon Suggestion)
    • Same FG/BG character colours makes colour palette useless
    • Toggle to show in image and a way to show in palette that is obvious.
  • selections / brushes should colour cycle slightly to show they are highlighted and not drawing

Competed Tasks (0.9.6)

  • Fontawesome and Supporting have been updated to current versions (as of 3/7/2024)
  • General UI: Move Component Palettes to top of UI and shift frame stack around it

Competed Tasks (0.9.5)

Note: I migrated c1541.git (repo) internally. It seems that the commander and other aspects of the repo do not work well with macosx. I don't need an external c1541 console app so now x1541.ts will handle all D64 operations internally

  • Colour Palette margin/padding issues on some linux versions. Test in debian works fine
  • MacOSX does not like c1541 js, need to figure out. Ended up migrating c1541.git to x1541 internally.
  • Update MACOS menu shortcuts to match PC/Linux
  • Top-left/Center align all frames in stack buttons (below add button)
  • Top-left/Center align all frames in Menu System
  • bring back the zoom level status bar item
  • gap between SCRN/COLR increased for larger numbers in wide/long format images (had to be huge)
  • OCD margin/padding at end of frame stack
  • Update MAC versions with new Menu system
  • fix scaling and css border issues that was leaving artifacts at some zoom levels
  • Make New Document button left locked to the UI
  • Zoom Menu Items wired up
  • Selection/Brush to new image in stack
  • Docker Setup for multiple version of Linux (DEB, REP, )
  • CTRL SHIFT +/- ZOOM Upper Left Aligned (CTRL ALT 0 sets scale 1)
  • CTRL +/- ZOOM Center Aligned (CTRL ALT 0 sets scale 1)
  • Invert Brush
  • Clear Brush
  • remove Frame (menu/key)
  • duplicate frame (menu/key)
  • Add all p8 applicable KB: commands to menus
  • Issues link now points: Issues
  • Border shortcut key
  • grid added to menu
  • 'View' menu now holds zoom features and Original 'View' menu is renamed 'Tools'
  • BUG: Menu Accelerator CTRL ++ not showing up properly
  • Create a new Help Link (old one points to nurpax site) Help
  • Update menu system with new features (Crop, Fill, Paste text, etc)

Wishful thinking / Someday

  • Adjust SEQ import to handle animation captures (SHIFT/CLRHOME=New Frame etc..)
  • copy should support multiple object types in clipboard
  • Paste to global clipboard as PNG/Bitmap or JSON
  • Guide Layer: load/show a guide layer
  • Guide Layer: move/zoom/pan layer
  • Guide Layer: change/toggle layer transparency
  • PNG imports a little more forgiving
  • c1541 Script export
  • Gradient, shader, texture generator (tak-o-vision)
  • Make Dark/Light Mode actually work.. sigh.

Distribution

  • Setup Website
  • record videos showing new tools and adjustments
  • Instruction Manual

Keyboard/Menu Shortcuts

  • Menu "File"

    • Menu KB: (ALT F)
    • Action: New PETMATE document
    • Menu KB: (ALT F, N)
  • Action: New PETSCII image (40x25)

    • KB: (CTRL) T
    • Menu KB: (ALT F, C)
  • Action: New Dirart Image (16x32)

    • KB: (CTRL) D
    • Menu KB: (ALT F, D)
  • Action: Open PETMATE File

    • KB: (CTRL) O
    • Menu KB: (ALT F, O)
  • Action: Save PETMATE FILE

    • KB: (CTRL) S
    • Menu KB: (ALT F, S)
  • Action: Save PETMATE file as

    • KB: (CTRL+SHIFT) S
    • Menu KB: (ALT F, A)
  • Action: Fonts

    • Menu KB: (ALT F, F)
  • Action: Import D64

    • Menu KB: (ALT F, I, D)
  • Action: Import PETSCII (.c)

    • Menu KB: (ALT F, I, C)
  • Action: Import PNG

    • Menu KB: (ALT F, I, P)
  • Action: Import SEQ

    • Menu KB: (ALT F, I, S)
  • Action: Export Assembler Source (.asm)

    • Menu KB: (ALT F, E, A)
  • Action: Export BASIC (.bas)

    • Menu KB: (ALT F, E, B)
  • Action: Export D64

    • Menu KB: (ALT F, E, D)
  • Action: Export Executable (.prg)

    • Menu KB: (ALT F, E, E)
  • Action: Export GIF

    • Menu KB: (ALT F, E, G)
  • Action: Export JSON

    • Menu KB: (ALT F, E, J)
  • Action: Export PETSCII (.c)

    • Menu KB: (ALT F, E, C)
  • Action: Export PNG

    • Menu KB: (ALT F, E, P)
  • Action: Export SEQ

    • Menu KB: (ALT F, E, S)
  • Action: Export PET (.pet)

    • Menu KB: (ALT F, E, T)
  • Menu "Edit"

    • Menu KB: (ALT E)
  • Action: Undo

    • KB: (CTRL) Z
    • Menu KB: (ALT E, U)
  • Action: Redo

    • KB: (CTRL) Y
    • Menu KB: (ALT E, R)
  • Action: Paste Text

    • KB: (CTRL) V
    • Menu KB: (ALT E, T)
  • Action: Preferences

    • KB: (CTRL) P
    • Menu KB: (ALT E, P)
  • Menu "Selection"

    • Menu KB: (ALT S)
  • Action: Select All

    • KB: (CTRL) A
    • Menu KB: (ALT S, A)
  • Action: Paste to New Image

    • KB: (CTRL) N
    • Menu KB: (ALT S, N)
  • Action: Clear Selection

    • KB: (CTRL+HOME)
    • Menu KB: (ALT S, C)
  • Action: Rotate Left

    • KB: (CTRL) [
    • Menu KB: (ALT S, L)
  • Action: Rotate Right

    • KB: (CTRL) ]
    • Menu KB: (ALT S, R)
  • Action: Flip Horizontally

    • KB: H
    • Menu KB: (ALT S, H)
  • Action: Flip Vertically

    • KB: V
    • Menu KB: (ALT S, V)
  • Action: Invert Characters

    • KB: (CTRL) I
    • Menu KB: (ALT S, I)
  • Menu "Frames"

    • Menu KB: (ALT R)
  • Action: Align All Frames Top-Left 2x Zoom

    • KB: (CTRL+ALT+SHIFT) 9
    • Menu KB: (ALT R, T)
  • Action: Align All Frames Centered 2x Zoom

    • KB: (CTRL+ALT) 9
    • Menu KB: (ALT R, C)
  • Action: Move Frame Left in Stack

    • KB: (CTRL) Left Arrow
    • Menu KB: (ALT R, L)
  • Action: Move Frame Right in Stack

    • KB: (CTRL) Right Arrow
    • Menu KB: (ALT R, R)
    • Action: Duplicate Frame
    • KB: Insert key
    • Menu KB: (ALT R, D)
  • Action: Remove Frame

    • KB: Delete key
    • Menu KB: (ALT R, I)
  • Menu "View"

    • Menu KB: (ALT V)
  • Action: Zoom In (centered)

    • KB: (CTRL) =
  • Action: Zoom Out (centered)

    • KB: (CTRL) -
  • Action: Zoom In (left-top)

    • KB: (CTRL+SHIFT) +
  • Action: Zoom In (left-top)

    • KB: (CTRL+SHIFT) -
  • Action: Zoom x2 (centered)

    • KB: (CTRL) 9
  • Action: Zoom x2 (left-top)

    • KB: (CTRL+SHIFT) 9
  • Menu "Tools"

    • Menu KB: (ALT T)
  • Action: Reload

    • KB: (CTRL) R
    • Menu KB: (ALT T, R)
  • Action: Toggle Light/Dark Mode

    • KB: (CTRL) M
    • Menu KB: (ALT T, L)
  • Action: Toggle Full Screen

    • KB: F11
    • Menu KB: (ALT T, F)
  • Action: Toggle Developer Tools

    • KB: (CTRL+ALT) I
    • Menu KB: (ALT T, D)
  • Menu "Help"

    • Menu KB: (ALT H)
  • Action: Online Documentation

    • KB: F11
    • Menu KB: (ALT H, D)
  • Action: Search Issues Online

    • KB: (CTRL) F1
    • Menu KB: (ALT H, S)
  • Action: About

    • Menu KB: (ALT H, A)

About

Nurpax's PETMATE PETSCII graphics app, with updates by wbochar

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published