Nunuhara Cabbage
21abe6ff9a
movie: load case-insensitive filename
2024-08-04 22:25:17 -07:00
Nunuhara Cabbage
ab810e8f57
Implement functions for EN Haruka
...
Implement the NewFont HLL. This is a basic text rendering interface
which supports proportional fonts and kerning
Fixes #154
2024-08-04 21:17:10 -07:00
Nunuhara Cabbage
ac298baaec
Fix fnl font selection
...
type 0 -> gothic (ttf)
type 1 -> mincho (ttf)
type >= 256 -> fnl[type - 256]
2024-08-04 09:27:57 -07:00
Nunuhara Cabbage
cf3fe0e852
dbg: allow middle-click break in DAP debugger
2024-08-04 09:10:01 -07:00
Nunuhara Cabbage
79ebe443f5
dbg: handle window events while waiting for input
...
Keep the screen updated while in the debugger.
2024-08-03 09:34:59 -07:00
Nunuhara Cabbage
f886f0a64c
parts: fix origin mode 3
...
Mode 3 is top-right.
2024-08-02 19:26:33 -07:00
Nunuhara Cabbage
6b78f53bd7
Implement various functions for Drapeko
...
The game now runs until after the opening movie, although with some GUI
layout bugs.
2024-08-02 15:08:44 -07:00
Nunuhara Cabbage
b21e28ce82
Rance 01 support
...
As far as I'm aware, the only unimplemented functionality is Y-rotations
of parts objects, which is only used for some screen transition
animations. I was able to clear the game without issue.
2024-08-01 09:52:36 -07:00
Nunuhara Cabbage
35bd6292bb
Fix segfault when no mixer channels given in ini
2024-08-01 09:17:51 -07:00
Nunuhara Cabbage
c4e17c672d
Fix text rendering issue in Daiteikoku
...
Use gfx_size_char to calculate CharSprite width.
Daiteikoku uses ascii numerals in the .ain file, but the .fnl font has
full-width glyphs.
2024-08-01 08:32:33 -07:00
Nunuhara Cabbage
d06d0ff8b5
GoatGUIEngine: fix rotate
...
Angles are given in radians in GoatGUIEngine.
2024-07-31 20:55:00 -07:00
Nunuhara Cabbage
07290cc8df
Rework effect system
...
Rework transition effect system so that TRANS_Update uses the current
contents of the main surface rather than a stale copy.
2024-07-31 18:51:10 -07:00
Nunuhara Cabbage
bc65a40eb4
parts: only render on PE_Update/PE_UpdateParts
...
Also, fix an issue in Rance 01 where a bad frame would be displayed when
loading a save (this is a bug present in the original game).
2024-07-31 16:28:48 -07:00
Nunuhara Cabbage
bc04af131a
parts: implement miscellaneous functions
2024-07-31 07:35:10 -07:00
Nunuhara Cabbage
d48cd2545d
parts: fix load issues, use numeral fonts
...
When loading parts, we need to mark them as dirty and recalculate
hitboxes. Also fix loading of numerals, which was completely broken
previously on games that use combined numeral CGs (e.g. Rance 01).
Numerals now use a `parts_numeral_font` structure, so that textures can
be shared between numeral objects.
2024-07-28 15:40:56 -07:00
Nunuhara Cabbage
133ff5421f
debugger: use current stack frame for 'this'
...
Interpret 'this' expression in current call stack frame.
2024-07-28 15:37:41 -07:00
Nunuhara Cabbage
69deb9ee91
Add --msgskip-delay option
...
Add an option to insert a delay when skipping messages with CTRL.
This is accomplished by overriding the 'A' function. Since the function
to check the state of a key (CTRL in this case) varies by game, an
xsystem4-specific system call is added for this purpose.
Fixes #119
2024-07-28 10:24:01 -07:00
Nunuhara Cabbage
f2700398dd
Merge pull request #169 from kichikuou/dalk-gaiden
...
Support DALK Gaiden
2024-07-28 08:17:27 -07:00
kichikuou
8f7d9886c2
Update game compatibility table
...
DALK Gaiden is now supported.
2024-07-28 09:48:02 +09:00
kichikuou
a2c225bf64
vmSprite changes for DALK Gaiden
...
* SetFind(2) lets the sprite to participate in hit testing even if it is
not visible.
* SetAnime() respects frame_s and frame_e parameters. Sprites animate
only when `current` is within the range of [frame_s, frame_e].
* SetCurrent() resets animation state.
2024-07-28 09:24:07 +09:00
kichikuou
dd77de027b
Implement vmSound functions for DALK Gaiden
2024-07-28 09:09:21 +09:00
kichikuou
bcf81af71d
Fix vmMsgSkip.Query
...
It should return true only if message skip is turned on.
2024-07-28 09:00:40 +09:00
kichikuou
c3c241adf5
vmDrawNumber: Respect space parameter
2024-07-28 09:00:40 +09:00
kichikuou
cb4a04ce14
Implement vmString functions for DALK Gaiden
2024-07-28 09:00:40 +09:00
kichikuou
877ca1f74e
Implement vmSystem functions for DALK Gaiden
2024-07-28 09:00:40 +09:00
kichikuou
d3bd28a0c1
Implement vmFile functions for DALK Gaiden
2024-07-28 08:52:20 +09:00
kichikuou
4e4f0b8683
vmDrawMsg: Implement tags used in DALK Gaiden
2024-07-28 07:58:59 +09:00
kichikuou
dfad543f6e
Implement vmDalkGaiden HLL
2024-07-28 07:53:12 +09:00
Nunuhara Cabbage
9a1f9e763a
Merge pull request #168 from kichikuou/DALKDemo
...
Add DALKDemo and DALKEDemo HLLs
2024-07-27 07:15:16 -07:00
kichikuou
1a9021e1ed
Add DALKDemo and DALKEDemo HLLs
...
DALKDemo is responsible not only for the opening demo but also for the
UI of the title menu. This change fully implements DALKDemo. DALKEDemo
is stubbed out.
2024-07-27 20:36:35 +09:00
Nunuhara Cabbage
5cca12b0ce
Merge branch 'master' of github.com:nunuhara/xsystem4
2024-07-26 21:01:09 -07:00
Nunuhara Cabbage
0aed62f448
Merge pull request #167 from kichikuou/vmGraph
...
vmGraph changes for DALK Gaiden
2024-07-26 20:49:31 -07:00
Nunuhara Cabbage
37a5f977c3
Merge pull request #166 from kichikuou/vmData
...
Implement vmData HLL
2024-07-26 20:47:09 -07:00
Nunuhara Cabbage
d7c550ea62
parts: fix GetPartsUpperLeftPos{X,Y}
...
Hitbox is stored in local coordinates. These functions return global
coordinates.
2024-07-26 20:28:55 -07:00
kichikuou
da86fd4875
vmGraph changes for DALK Gaiden
...
The effect API is slightly changed so that it can be used from pre-SACT
graphics engines.
2024-07-27 07:55:32 +09:00
kichikuou
aba32d7fab
Implement vmData HLL
...
Used in DALK Gaiden to read DA.ALD.
2024-07-27 07:25:54 +09:00
Nunuhara Cabbage
103976b2b0
parts: use floats to calculate text width
...
gfx_render_text uses floats for layout, so the parts_text layout should
use floats to match.
This fixes an issue with off-center text in the English version of Rance
01.
2024-07-26 14:41:28 -07:00
Nunuhara Cabbage
0330006b89
parts: implement SetPartsMessageWindowShowLink
...
The interface to this feature is strange. The message window visibility
state is passed to Update/UpdateParts every frame rather than being a
part of the global parts state. I've implemented it using global state,
which might be subtly wrong in some way, but it seems to work as
expected in Rance 01.
2024-07-25 20:49:30 -07:00
Nunuhara Cabbage
12f3b5d241
Implement ChipmunkSpriteEngine.VIEW_SetOffsetPos
...
Used for screen quake effect in Rance 01.
2024-07-25 18:29:36 -07:00
Nunuhara Cabbage
673827cf70
parts: implement vibration motion
2024-07-24 20:18:04 -07:00
Nunuhara Cabbage
5212d5b7f9
dap: render parts with children
...
When rendering parts, render the whole hierarchy instead of just the
individual node.
Also, output parts entities in the format expected by xsys4dbg.
2024-07-24 19:18:13 -07:00
Nunuhara Cabbage
bfa2deeffb
Fix transition issues in Rance 01
...
PE_UpdateComponent needs to be called before rendering the starting
frame of a transition effect.
This fixes a glitch in the ●立ち絵 function of Rance 01 when
transitioning to a variant CG.
2024-07-23 19:51:22 -07:00
Nunuhara Cabbage
635cce877f
Merge pull request #165 from kichikuou/typo
...
Fix typo
2024-07-23 06:30:45 -07:00
kichikuou
0bab7544cd
Fix typo
2024-07-23 18:10:34 +09:00
Nunuhara Cabbage
48b6e24135
Fix A_SORT_MEM with string members
...
Fixes various bugs in Rance 01.
2024-07-22 11:50:33 -07:00
Nunuhara Cabbage
423ceb5abc
Merge pull request #164 from kichikuou/gpx2plus
...
Gpx2Plus.Create() should fail if width <= 0 or height <= 0
2024-07-22 06:36:24 -07:00
Nunuhara Cabbage
9b6a032d24
Merge pull request #163 from kichikuou/vmMsgSkip
...
Implement vmMsgSkip HLL functions
2024-07-22 06:35:45 -07:00
Nunuhara Cabbage
525006d716
Merge pull request #162 from kichikuou/vmArray
...
Implement vmArray functions for DALK Gaiden
2024-07-22 06:34:41 -07:00
Nunuhara Cabbage
083fd23503
Merge pull request #161 from kichikuou/sys40vm
...
VM changes for DALK Gaiden (AIN v0)
2024-07-22 06:30:24 -07:00
kichikuou
3f18b181a3
Gpx2Plus.Create() should fail if width <= 0 or height <= 0
...
This fixes "Incomplete framebuffer" error in Daibanchou.
2024-07-21 14:26:01 +09:00