Repository navigation
Releases: UniqueName54321/cynths-objects
Release list
v0.6.2
Full Changelog: v0.6.1...v0.6.2
v0.6.1
v0.6.0
v0.5.4
v0.5.3
v0.5.2
v0.5.1 — Searchable Option Browser + Trigger Icon
No more guessing numbers
The Edit Special menu now has a "Browse..." button instead of a numeric slider for choosing which setting to change. Clicking it opens a searchable popup with all 220+ options.
What's new
Option Browser Popup:
- TextInput search bar at the top — type to filter by name, category, or key number
- Scrollable list of all matching options
- Each row shows:
[*] #123 - Category: Name[*]= instant effect[!]= needs respawn/restart
- Click any option to select it and close the popup
New trigger icon:
- Proper dark green trigger-style icon (64x64) replacing the old VHS sprite
- Gear/cog motif — matches Geometry Dash's editor trigger aesthetic
Edit Special layout:
- "Browse..." button opens the Option Browser
- Value slider remains for fine-tuning the setting value
- Help popup explains value types (Bool, Speed, Mode, Int, Float)
Options quick reference
| Category | Keys | Count |
|---|---|---|
| Level Settings | 0–15 | 16 |
| Gameplay | 30–56 | 27 |
| Camera | 60–69 | 10 |
| Physics | 80–91 | 12 |
| Visual/Debug | 100–115 | 16 |
| Player | 130–220 | 91 |
Total: 220+ options
Full Changelog: v0.5.0...v0.5.1
v0.5.0 — 220+ Level & Player Options
Massive expansion: 220+ options across 6 categories
The Advanced Options Trigger now covers every documented field on PlayLayer, GJBaseGameLayer, LevelSettingsObject, and PlayerObject that's remotely relevant to the current level.
New categories
| Category | Range | Count | Examples |
|---|---|---|---|
| Level Settings | 0–15 | 16 | Platformer, Mirror, Rotate, Two-Player, Reverse, Start Mini/Dual, Start Speed/Mode, Start Pos, No Time Penalty, Reset Camera, Spawn Group, Target Order/Channel |
| Gameplay | 30–56 | 27 | Practice, Ignore Damage, Freeze Player, Audio Paused, Glitter, BG Effect, Particles, Song Trigger Interval, Section Factors, Progress Height |
| Camera | 60–69 | 10 | Static Shake, Skip Shake, Freeze Start Cam, Width/Height Offset, Unzoomed X, Half Width, Height Offsets |
| Physics | 80–91 | 12 | All bugfixes (unchanged from v0.4.0) |
| Visual/Debug | 100–115 | 16 | Low Detail, Portal/Orb Indicators, Audio Visualizer, Hitbox, Debug Draw, Background/Ground/Font/Middleground/Color indices |
| Player | 130–220 | 91 | Effects, particles, streak, animations, glow, controls, movement, physics flags, slope handling, collision state, trajectory, ground state, velocity |
Value types
- Bool: slider 0→0.5 = OFF, 0.5→1 = ON
- Speed: 0=Slow, 0.25=Normal, 0.5=Fast, 0.75=Very Fast, 1=Extreme
- Mode: 0=Cube, 0.14=Ship, 0.29=Ball, 0.43=UFO, 0.57=Wave, 0.71=Robot, 0.86=Spider, 1=Swing
- Int (0–100): slider maps to 0–100
- Int999 (0–999): slider maps to 0–999 (spawn group, target, icon request)
- Float: slider maps to the documented range per option
Player options
All player options apply to player1. They cover visual effects (particles, streak, glow, animations), controls (disable, lock, hold), movement state (platformer velocity, acceleration, trajectory), physics flags (gravity bug, robot jump, reverse sync, etc.), and collision/slope/ground state.
Edit Special
The help popup now contains a compact reference table of all 220+ options with their keys and ★/⚡ markers.
Full Changelog: v0.4.0...v0.5.0
v0.4.0 — Advanced Options Trigger (pivot from VHS experiment)
Pivot: VHS → Advanced Options Trigger
The VHS overlay experiment has been archived to the experiment/vhs-overlay-failed branch. All VHS code has been removed from main.
This release introduces the Advanced Options Trigger — a much more practical tool for level makers.
What it does
Changes any level setting on the fly when triggered. Each trigger instance changes ONE setting to a specific value, configured through Edit Special.
41 settings across 4 categories
Gameplay (15):
PlatformerMode, MirrorMode, RotateGameplay, TwoPlayerMode, ReverseGameplay, StartMini, StartDual, PracticeMode, PracticeMusicSync, IgnoreDamage, DualTouchTrigger, NoTimePenalty, StartSpeed, StartMode, FreezePlayer
Camera (4):
StaticCameraShake, SkipCameraShake, FreezeStartCamera, ResetCamera
Physics/Bugfixes (12):
FixGravityBug, FixNegativeScale, FixRobotJump, FixRadiusCollision, DynamicLevelHeight, AllowMultiRotation, EnablePlayerSqueeze, Enable22Changes, AllowStaticRotate, ReverseSync, DecreaseBoostSlide, EnableImpulseFix
Visual/Debug (7):
LowDetailMode, PortalIndicators, OrbIndicators, ShowAudioVisualizer, DisablePlayerHitbox, HitboxesOnDeath, DebugDraw
Edit Special
- Option Key slider (0–56) — pick which setting to change
- Value slider (0–1) — set the new value
- Bools: 0→0.5 = OFF, 0.5→1 = ON
- Speed: maps to Slow/Normal/Fast/Very Fast/Extreme
- Mode: maps to Cube/Ship/Ball/UFO/Wave/Robot/Spider/Swing
Settings marked ★ take effect immediately. Settings marked ⚡ need a respawn/restart.
Usage
- Place the trigger in your level (Triggers tab, green button)
- Open Edit Special
- Set the Option Key and Value
- Trigger it (touch, spawn, or pass-through)
The trigger shows "ADV OPT" in the editor.
v0.3.3 — Fix render-texture positioning + opacity
Two rendering bugs, one patch
Bug 1: VHS overlay was rendering offscreen
CCRenderTexture creates its internal sprite with scaleY = -1 (to flip the FBO output). We were setting that sprite's anchor to (0,0) and position to (0,0) — which plus the negative Y scale means the entire texture was flipped downward, below the screen.
Fix: Don't touch the internal sprite's anchor/position. Position the CCRenderTexture node itself centered at (winSize.width/2, winSize.height/2) instead.
Bug 2: Fragment shader ignored opacity
The fragment shader was outputting vec4(color, 1.0) — hardcoded alpha=1.0. The sprite's setOpacity() value comes through v_fragmentColor.a, but the shader was ignoring it completely. This meant fade-in, fade-out, and the opacity slider all did nothing.
Fix: Output vec4(color * v_fragmentColor.rgb * alpha, alpha) where alpha = v_fragmentColor.a. This uses premultiplied-alpha blending (matching CCRenderTexture's default blend mode), so the fade system now has actual authority over visibility.
The archaeology so far
| Version | Problem |
|---|---|
| v0.2.x | Edit Special crashes (Object Collab beta.2 bug) |
| v0.3.0 | Shader broken → overlay created → CCSprite::draw() crashes |
| v0.3.1 | Null-shader guards added, crash prevented, shader fails to compile |
| v0.3.2 | CC_MVPMatrix redeclaration fixed, shader compiles → nothing visible |
| v0.3.3 | Positioning + opacity fixed → hopefully: VHS works 🎥 |
Full Changelog: v0.3.2...v0.3.3