Commit Graph
1173 Commits
Author SHA1 Message Date
Nunuhara Cabbage 3fb2dc3650 Merge pull request #200 from kichikuou/bones
3d: Increase MAX_BONES to 308
2024-10-11 21:00:49 -07:00
kichikuou c1ce2c88c6 3d: Increase MAX_BONES to 308
This is the maximum number of bones in a model for Rance Quest
(pasuteru_full.POL).

Now bone transform matrices are stored in a uniform buffer object,
because its size exceeds GL_MAX_VERTEX_UNIFORM_COMPONENTS in iOS Safari.
2024-10-12 07:35:51 +09:00
Nunuhara Cabbage 222d2700a9 Merge pull request #199 from kichikuou/CGManager
CGManager.LoadArchive() should open archive in the game directory
2024-10-09 06:24:33 -07:00
kichikuou dd18d68be5 CGManager.LoadArchive() should open archive in the game directory
This fixes a boot problem in Rance Quest Magnum.
2024-10-09 12:51:08 +09:00
Nunuhara Cabbage db7c3a608c Merge pull request #198 from kichikuou/shadow
3d: Fix shadow rendering in Rance Quest
2024-10-06 19:57:03 -07:00
kichikuou 899c6c02a1 3d: Fix shadow rendering in Rance Quest
- Use glm_look_anyup() to avoid singularities when the shadow light
  direction is parallel to the up vector
- Fix bounding sphere calculation when there are multiple shadow casters
2024-10-07 10:53:41 +09:00
Nunuhara Cabbage 8ff5ffe30b Merge pull request #197 from kichikuou/alphamap
3d: Ignore alpha map if same as color map
2024-10-05 21:22:58 -07:00
Nunuhara Cabbage ff9175c1fd Merge pull request #196 from kichikuou/wheel
IbisInputEngine: Mouse wheel support
2024-10-05 21:22:41 -07:00
kichikuou 74666c9b90 3d: Ignore alpha map if same as color map
In Rance Quest (e.g. mapF_ew01), some materials use the same image for
both color map and alpha map. In that case, the alpha channel of the
color map can be used, so ignore the alpha map.
2024-10-06 07:53:15 +09:00
kichikuou 68bd33e099 IbisInputEngine: Mouse wheel support
This enables wheel operations in Rance Quest.
2024-10-06 07:38:24 +09:00
Nunuhara Cabbage 84ab9a41da Merge pull request #195 from kichikuou/vert-color
3d: Implement vertex colors
2024-10-04 20:39:59 -07:00
kichikuou 22a06b1da9 3d: Implement vertex colors
3D objects can have a color per vertex, which is multiplied with the
texture color.
2024-10-05 07:41:17 +09:00
Nunuhara Cabbage 128b2fd6d5 Merge pull request #194 from kichikuou/collision
TapirEngine: Proper collision detection
2024-09-30 10:53:47 -07:00
kichikuou 09dc9470ae TapirEngine: Proper collision detection
Collision detection is based on a mesh named "collision" in the map's 3D
model. The "collision" mesh specifies the area in which the character
can move in the xz plane, and the y coordinate represents the height of
the map at that point.

Now cglm 0.9.2 is required, for 2D AABB operations.
2024-09-30 09:11:54 +09:00
Nunuhara Cabbage 0f5a39c292 Merge pull request #193 from kichikuou/FileOperation
Implement FileOperation HLL functions for Rance Quest
2024-09-28 10:37:52 -07:00
kichikuou 73f7acde40 Implement FileOperation HLL functions for Rance Quest 2024-09-28 11:07:43 +09:00
Nunuhara Cabbage 3afe4e4453 Merge pull request #192 from kichikuou/A_SORT
Fix A_SORT
2024-09-25 17:32:28 -07:00
kichikuou 8f69f1911a Fix A_SORT
* Fix sorting of strings and floats
* Avoid overflow in integer comparison
2024-09-25 13:20:03 +09:00
Nunuhara Cabbage e466b3f06b Merge pull request #191 from kichikuou/game_compatibility
Update game_compatibility.md
2024-09-22 07:42:33 -07:00
kichikuou a2ae28c1c1 Update game_compatibility.md 2024-09-22 21:12:42 +09:00
Nunuhara Cabbage 41626b5018 Merge pull request #190 from kichikuou/dash
Implement StoatSpriteEngine.SP_SetDashTextSprite
2024-09-21 22:38:47 -07:00
kichikuou 9a76d472db Implement StoatSpriteEngine.SP_SetDashTextSprite
This implementation creates a temporary "glyph" texture and draws it to
the sprite using gfx_draw_glyph().
2024-09-21 10:35:42 +09:00
Nunuhara Cabbage 964bba1823 Merge pull request #189 from kichikuou/vanish
StoatSpriteEngine: Make SP_GetMaxZ consider multisprites
2024-09-20 18:12:09 -07:00
kichikuou 49b85f885d StoatSpriteEngine: Make SP_GetMaxZ consider multisprites
This fixes a problem in Vanish! where the opening movie was hidden
behind other sprites.
2024-09-20 20:39:20 +09:00
Nunuhara Cabbage 93e9357f84 Merge pull request #188 from kichikuou/glsl
Fix compile error of dungeon_raster.f.glsl on WebGL
2024-09-19 06:09:19 -07:00
kichikuou 2a7f58c187 Fix compile error of dungeon_raster.f.glsl on WebGL
`sample` is a reserved word in GLSL ES 3.0.
2024-09-19 12:55:21 +09:00
Nunuhara Cabbage 08e47b8d04 Merge pull request #187 from kichikuou/vmDrawGauge
Add guard against division by zero in vmDrawGauge.Draw()
2024-09-18 18:58:51 -07:00
kichikuou 217c4d5d65 Add guard against division by zero in vmDrawGauge.Draw()
When `max` is 0, the gauge is drawn as empty.
2024-09-19 07:32:30 +09:00
Nunuhara Cabbage ea762de937 Merge pull request #186 from kichikuou/DrawDungeon
Implement DrawDungeon.SetWalkedAll
2024-09-17 20:05:31 -07:00
Nunuhara Cabbage e6105ca654 Merge pull request #185 from kichikuou/collision
Initial implementation of TapirEngine.CalcInstance2DDetection
2024-09-17 20:05:16 -07:00
kichikuou 7a87ffc20a Implement DrawDungeon.SetWalkedAll
In GALZOO Island, there are non-debugging code paths that use this.
2024-09-17 15:43:07 +09:00
kichikuou f53ad7d557 Initial implementation of TapirEngine.CalcInstance2DDetection
This is used for collision detection between a map object and the player
character. The current implementation is very simple, only performing
AABB intersection tests, but it is enough to allow the player to walk
around the first dungeon in Rance Quest.
2024-09-16 15:27:11 +09:00
Nunuhara Cabbage ffe4d0d4ae Merge pull request #184 from kichikuou/gsave7
Add support for group save format v7
2024-09-15 21:02:14 -07:00
kichikuou 9e2f03d8be Add support for group save format v7
V5 is used until Daiteikoku, and v7 since Rance Quest. Since both are
Ain v6, the save version is determined by the presence of the "MainVM"
field in AliceStart.ini.
2024-09-16 09:01:49 +09:00
Nunuhara Cabbage 489cfe5a96 Merge pull request #183 from kichikuou/RanceQuest
Fix two graphical bugs of Rance quest
2024-09-15 13:06:18 -07:00
kichikuou 71debfbb65 Rance Quest: Do not render suspended TapirEngine sprites 2024-09-15 08:04:14 +09:00
kichikuou 34258511b9 Rance Quest: GetPartsCGName() returns the name specified by SetPartsCG()
This fixes a graphical bug mentioned in
https://github.com/nunuhara/xsystem4/issues/180#issuecomment-2351079908 .
2024-09-15 07:57:40 +09:00
Nunuhara Cabbage 0f121860fe Merge pull request #182 from kichikuou/msgskip
Android: Call msgskip_save() when app goes to the background
2024-09-14 10:39:50 -07:00
Nunuhara Cabbage 70a6f547cf parts: use separate sprite for each parts
Each parts object is now its own entity in the scene so that entities
are rendered in the correct order when mixing sprites and parts.

Fixes #180
2024-09-14 10:22:51 -07:00
kichikuou 886f15aa9f Android: Call msgskip_save() when app goes to the background
This ensures that msgskip file is saved even if the app is killed.
2024-09-13 14:43:46 +09:00
Nunuhara Cabbage d895301116 Merge pull request #181 from kichikuou/ndk27
Android: Update SDL2 to 2.30.7
2024-09-01 22:45:41 -07:00
kichikuou fdaa2d1dba Android: Update SDL2 to 2.30.7
This fixes build with Android NDK 27.
https://github.com/libsdl-org/SDL/issues/9792
2024-09-02 11:25:56 +09:00
Nunuhara Cabbage da52b312ca Use git describe for version number
Use `git describe` instead of `git rev-parse` for the version number,
since this command will report the latest tagged version in addition to
the current commit.
alpha-5
2024-08-25 10:26:55 -07:00
Nunuhara Cabbage 8cc2334692 windows: use 'windows' subsystem for release build
Only show the console on debug builds.

Fixes item 2 in #177.
2024-08-25 10:10:46 -07:00
Nunuhara Cabbage 486d89669f Reduce window size on small displays
Reduce the window size if the display resolution is smaller than the
game resolution.

Fixes item 1 of #177.
2024-08-25 10:03:10 -07:00
Nunuhara Cabbage c3614c9280 Merge pull request #179 from kichikuou/rsave-comments
Update rsave_read() parameters to specify read mode
2024-08-24 17:43:05 -07:00
kichikuou 00aa0c2ae6 Fix build without debugger 2024-08-25 08:08:45 +09:00
kichikuou 240c2c9395 Update rsave_read() parameters to specify read mode 2024-08-25 08:00:16 +09:00
Nunuhara Cabbage 88236b5a0b Merge branch 'master' of github.com:nunuhara/xsystem4 2024-08-18 13:00:21 -07:00
Nunuhara Cabbage 041cbafef1 Merge pull request #176 from kichikuou/zerodiv
Add guard against division by zero in sact_QuakeScreen()
2024-08-13 18:03:18 -07:00